[mythtv-commits] mythtv/master commit: 990a68c0c by Mark Kendall (mark-kendall)

MythTV noreply at mythtv.org
Tue Nov 1 16:27:32 UTC 2011


      Author:  Mark Kendall <mkendall at mythtv.org>
 Change Date:  2011-11-01T09:27:13-07:00
   Push Date:  2011/11/01 09:27:15 -0700
  Repository:  mythtv
      Branch:  master
New Revision:  990a68c0c1628a9c0f2a069d0395fade51c242d1
   Changeset:  https://github.com/MythTV/mythtv/commit/990a68c0c

Log:

OpenGL Video: Faster video frame packing and uploading.

Remove the GL_APPLE_rgb_422 support (which wasn't actually implemented)
and add a new UYVY texture packing mode. This packs 2 pixels into one
sample and uses slightly modified shaders to pick the correct luminance
value. This halves the amount of CPU to GPU memory transfers and becomes
the new default method.

In testing, the new mode is broadly as fast as using the YCbCr
extensions, 25-50% faster than the existing default YUVA approach and
allows full picture controls within the shaders. It does however require
both a mandatory resize filter stage (i.e. the video frame is rendered
to a texture and then rendered to the screen), slightly more complicated
shaders (all YUV to RGB and deinterlacing shaders have been modified)
and does not have high quality chroma sampling. I will add an option for
additional chroma sampling if and when the settings pages are rewritten.

The old YUVA texture packing mode is retained (for those who want the
addional quality) and can be enabled by setting the environment variable
'OPENGL_NOUYVY' (the opengl-lite profile will still prefer using the
YCbCr extensions that do not have picture controls).

Modified:

   mythtv/libs/libmythtv/openglvideo.cpp
   mythtv/libs/libmythui/mythrender_opengl.cpp
   mythtv/libs/libmythui/mythrender_opengl.h
   mythtv/libs/libmythui/mythrender_opengl_defs.h



More information about the mythtv-commits mailing list