Ticket #3044: glfixes.diff
File glfixes.diff, 3.5 KB (added by , 17 years ago) |
---|
-
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 // Scaling filters 33 kGLFilterResize 32 34 }; 33 35 34 36 enum DisplayBuffer -
libs/libmythtv/openglvideo.cpp
593 593 if (gl_context->IsRectTextureSupported()) 594 594 return size; 595 595 596 glOrtho(0, size.width(), 0, size.height(), 1, -1);597 // aargh...598 599 596 int w = 64; 600 597 int h = 64; 601 598 … … 753 750 { 754 751 it->second->outputBuffer = kFrameBufferObject; 755 752 756 if ((it->first >= kGLFilter KernelDeint) &&753 if ((it->first >= kGLFilterLinearBlendDeint) && 757 754 (it->first <= kGLFilterOneFieldDeintDFR) && 758 755 !deinterlacing) 759 756 { … … 807 804 // skip colour conversion for frames already in frame buffer 808 805 if (!inputUpdated && (frame == currentFrameNum) && 809 806 (type == kGLFilterYUV2RGB) && (frame != 0) && 810 (! softwareDeinterlacing || (softwareDeinterlacer != "bobdeint")))807 (!(softwareDeinterlacing && softwareDeinterlacer == "bobdeint"))) 811 808 { 812 809 inputs = filter->frameBufferTextures; 813 810 inputsize = videoSize; -
libs/libmythtv/videoout_xv.cpp
146 146 // to a singleton instance of the DisplayRes class 147 147 if (gContext->GetNumSetting("UseVideoModes", 0)) 148 148 display_res = DisplayRes::GetDisplayRes(); 149 use_colorcontrols = gContext-> 150 GetNumSetting("UseOutputPictureControls", 0); 149 151 } 150 152 151 153 VideoOutputXv::~VideoOutputXv() … … 266 268 gl_pipchain->SetMasterViewport( 267 269 gl_videochain->GetViewPort()); 268 270 } 271 if (gl_osdchain && gl_osdchain != NULL) 272 { 273 gl_osdchain->SetMasterViewport( 274 gl_videochain->GetViewPort()); 275 } 276 269 277 } 270 278 } 271 279 #endif // USING_OPENGL_VIDEO … … 851 859 gl_osdchain = NULL; 852 860 gl_osd = false; 853 861 } 862 else 863 { 864 if (gl_videochain && gl_videochain != NULL) 865 { 866 gl_osdchain->SetMasterViewport( 867 gl_videochain->GetViewPort()); 868 } 869 } 854 870 855 871 gl_context->MakeCurrent(false); 856 872 #endif // USING_OPENGL_VIDEO … … 1445 1461 // The XVideo output methods sometimes allow the picture to 1446 1462 // be adjusted, if the chroma keying color can be discovered. 1447 1463 if (((VideoOutputSubType() >= XVideo && xv_colorkey) || 1448 (VideoOutputSubType() == OpenGL)) && 1449 gContext->GetNumSetting("UseOutputPictureControls", 0)) 1464 (VideoOutputSubType() == OpenGL)) && use_colorcontrols) 1450 1465 InitPictureAttributes(); 1451 1466 1452 1467 return true;