[mythtv-commits] [MythTV/mythtv] 02bfdc: VideoFrame: Fix chroma height for 422

Mark Kendall noreply at github.com
Wed Jul 3 07:12:08 UTC 2019


  Branch: refs/heads/devel/2019-render
  Home:   https://github.com/MythTV/mythtv
  Commit: 02bfdcb2f63fd68d1ad726e17bdfa727c46948d2
      https://github.com/MythTV/mythtv/commit/02bfdcb2f63fd68d1ad726e17bdfa727c46948d2
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-07-02 (Tue, 02 Jul 2019)

  Changed paths:
    M mythtv/libs/libmythtv/mythframe.h

  Log Message:
  -----------
  VideoFrame: Fix chroma height for 422


  Commit: b2ce1cc9460f283c403ec3ec70aa73284a20afd3
      https://github.com/MythTV/mythtv/commit/b2ce1cc9460f283c403ec3ec70aa73284a20afd3
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-07-03 (Wed, 03 Jul 2019)

  Changed paths:
    M mythtv/libs/libmythtv/libmythtv.pro
    M mythtv/libs/libmythtv/mythavutil.cpp
    M mythtv/libs/libmythtv/mythframe.cpp
    M mythtv/libs/libmythtv/mythframe.h
    M mythtv/libs/libmythtv/mythvideotexture.cpp
    M mythtv/libs/libmythtv/mythvideotexture.h
    M mythtv/libs/libmythtv/openglvideo.cpp
    M mythtv/libs/libmythtv/openglvideo.h
    M mythtv/libs/libmythtv/openglvideoshaders.h
    R mythtv/libs/libmythtv/util-opengl.cpp
    R mythtv/libs/libmythtv/util-opengl.h
    M mythtv/libs/libmythtv/videodisplayprofile.cpp
    M mythtv/libs/libmythtv/videoout_opengl.cpp

  Log Message:
  -----------
  OpenGLVideo: Move interlaced chroma fix into the shaders

- this removes the HQUYVY OpenGL video profile
- the packing code formerly used to fix the Chroma Upsampling Error was
only optimised for MMX - and the C version was in fact not working
properly
- the shader version is actually relatively cheap and can be applied to
all 420 chroma frames - whether via software decode, direct rendering or
copy back - i.e. much more flexible
- at the moment this is enabled by default for interlaced 420 content
but will probably become an option in the display profile

- as noted in the code, the filter applied is simple but effective. It
does not give as good results as a multitap filter - but the cost would
become prohibitive e.g. combining GLSL kernel deinterlacing of YV12
frames with a chroma fix would send the texture sampling count through
the roof.


Compare: https://github.com/MythTV/mythtv/compare/e057b2fb42b1...b2ce1cc9460f


More information about the mythtv-commits mailing list