[mythtv-commits] [MythTV/mythtv] 29343e: MythRenderOpenGL: Allow creating FBOs with a diffe...

Mark Kendall noreply at github.com
Fri Jun 7 10:42:12 UTC 2019

  Branch: refs/heads/devel/2019-render
  Home:   https://github.com/MythTV/mythtv
  Commit: 29343e37ccf52a0fe4576422d09806e4c0354252
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M mythtv/libs/libmythui/mythrender_opengl.cpp
    M mythtv/libs/libmythui/mythrender_opengl.h

  Log Message:
  MythRenderOpenGL: Allow creating FBOs with a different internal format

- which will be used to maintain precision for 10/12/16bit rendering

  Commit: ffdc90e1a1de1025dacc22166118ee7a088e9ce6
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
    M mythtv/libs/libmythtv/decoders/mythcodeccontext.cpp
    M mythtv/libs/libmythtv/mythframe.h
    M mythtv/libs/libmythtv/mythnvdeccontext.cpp
    M mythtv/libs/libmythtv/mythnvdecinterop.cpp
    M mythtv/libs/libmythtv/mythvaapiinterop.cpp
    M mythtv/libs/libmythtv/mythvideotexture.cpp
    M mythtv/libs/libmythtv/openglvideo.cpp
    M mythtv/libs/libmythtv/openglvideoshaders.h
    M mythtv/libs/libmythtv/videocolourspace.cpp
    M mythtv/libs/libmythtv/videocolourspace.h

  Log Message:
  OpenGLVideo: Improved 10/12bit video texturing

- with a nod to the Kodi team for the idea
- instead of uploading data as bytes and storing in different channels,
upload as words and use an appropriately size internal format.
- we can then use the same samplers for YV12/NV12 regardless of bit
depth and avoid the dot product calculation to 'retrieve' the underlying
data for 12/12bit
- the appropriate bit shifting/scaling can then be handled at no extra
cost in the colourspace conversion matrix
- no extra conversion is required for hardware decoded frames (even
those copied back to main memory). These appear to be pre-scaled.
- untested on MediaCodec (but should be fine) and VideoToolBox.

Compare: https://github.com/MythTV/mythtv/compare/14e240f56e40...ffdc90e1a1de

More information about the mythtv-commits mailing list