bool VideoOutputOpenGL::SetDeinterlacingEnabled(bool enable) { (void) enable; if (!gl_videochain || !gl_context) return false; OpenGLLocker ctx_lock(gl_context); if (enable) { if (m_deintfiltername.isEmpty()) return SetupDeinterlace(enable); if (m_deintfiltername.contains("opengl")) { if (gl_videochain->GetDeinterlacer().isEmpty()) return SetupDeinterlace(enable); } else if (!m_deintfiltername.contains("opengl")) { // make sure opengl deinterlacing is disabled gl_videochain->SetDeinterlacing(false); if (!m_deintFiltMan || !m_deintFilter) return VideoOutput::SetupDeinterlace(enable); } } MoveResize(); gl_videochain->SetDeinterlacing(enable); m_deinterlacing = enable; return m_deinterlacing; }
bool VideoOutputVDPAU::SetDeinterlacingEnabled(bool interlaced) { if ((interlaced && m_deinterlacing) || (!interlaced && !m_deinterlacing)) return m_deinterlacing; return SetupDeinterlace(interlaced); }
bool VideoOutputOpenGLVAAPI::SetDeinterlacingEnabled(bool enable) { m_deinterlacing = enable; SetupDeinterlace(enable); return m_deinterlacing; }