Ticket #2649: opengl_deinterlacing_fixes.diff
| File opengl_deinterlacing_fixes.diff, 2.5 KB (added by , 20 years ago) |
|---|
-
libs/libmythtv/openglcontext.cpp
45 45 46 46 OpenGLContext::~OpenGLContext() 47 47 { 48 MakeCurrent(true); 48 49 if (m_priv->m_glx_context) 49 50 { 50 51 DeletePrograms(); -
libs/libmythtv/openglvideo.h
17 17 // Conversion filters 18 18 kGLFilterYUV2RGB, 19 19 kGLFilterYUV2RGBA, 20 kGLFilterResize,21 20 22 21 // Frame rate preserving deinterlacers 23 22 kGLFilterLinearBlendDeint, … … 29 28 kGLFilterLinearBlendDeintDFR, 30 29 kGLFilterKernelDeintDFR, 31 30 kGLFilterOneFieldDeintDFR, 31 32 // Frame scaling/resizing filters 33 kGLFilterResize, 32 34 }; 33 35 34 36 enum DisplayBuffer -
libs/libmythtv/openglvideo.cpp
753 753 { 754 754 it->second->outputBuffer = kFrameBufferObject; 755 755 756 if ((it->first >= kGLFilter KernelDeint) &&756 if ((it->first >= kGLFilterLinearBlendDeint) && 757 757 (it->first <= kGLFilterOneFieldDeintDFR) && 758 758 !deinterlacing) 759 759 { … … 807 807 // skip colour conversion for frames already in frame buffer 808 808 if (!inputUpdated && (frame == currentFrameNum) && 809 809 (type == kGLFilterYUV2RGB) && (frame != 0) && 810 (! softwareDeinterlacing || (softwareDeinterlacer != "bobdeint")))810 (!(softwareDeinterlacing && softwareDeinterlacer == "bobdeint"))) 811 811 { 812 812 inputs = filter->frameBufferTextures; 813 813 inputsize = videoSize; -
libs/libmythtv/videoout_xv.cpp
834 834 else 835 835 { 836 836 video_output_subtype = OpenGL; 837 // ensure deinterlacing is re-enabled after input change 838 bool temp_deinterlacing = m_deinterlacing; 839 SetDeinterlacingEnabled(false); 840 if (temp_deinterlacing) 841 SetDeinterlacingEnabled(temp_deinterlacing); 837 842 } 838 843 } 839 844
