[mythtv-commits] [MythTV/mythtv] c87307: MythVideoOutputOpenGL: Remove YUYV direct render f...

Mark Kendall noreply at github.com
Sun Feb 16 18:05:12 UTC 2020


  Branch: refs/heads/master
  Home:   https://github.com/MythTV/mythtv
  Commit: c87307e702ca61944137946fbd26d89b4a4b0619
      https://github.com/MythTV/mythtv/commit/c87307e702ca61944137946fbd26d89b4a4b0619
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-16 (Sun, 16 Feb 2020)

  Changed paths:
    M mythtv/libs/libmythtv/opengl/mythvideooutopengl.cpp

  Log Message:
  -----------
  MythVideoOutputOpenGL: Remove YUYV direct render format

- MythOpenGLVideo can render this format but it is not actually directly
supported for texture updates.
- I can't find a sample that uses packed formats for which FFmpeg will
actually return packed format frames - everything is detected as RAW
video and automatically converted to YUV420P anyway.


  Commit: df8a1bee70c7d186e09bed868479276ee4ba7a62
      https://github.com/MythTV/mythtv/commit/df8a1bee70c7d186e09bed868479276ee4ba7a62
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-16 (Sun, 16 Feb 2020)

  Changed paths:
    M mythtv/libs/libmythtv/mythdeinterlacer.cpp

  Log Message:
  -----------
  MythDeinterlacer: Suppress a clang tidy warning


  Commit: 15712dfa88582b30422482b9fd1f2f30df8458d9
      https://github.com/MythTV/mythtv/commit/15712dfa88582b30422482b9fd1f2f30df8458d9
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-16 (Sun, 16 Feb 2020)

  Changed paths:
    M mythtv/libs/libmythtv/opengl/mythopenglvideo.cpp
    M mythtv/libs/libmythtv/opengl/mythopenglvideo.h

  Log Message:
  -----------
  MythOpenGLVideo: Switch to a better onefield/bob OpenGL deinterlacer

- previously we used the shader to line double the frame.
- but this has disadvantages:-
  - it requires us to use the resize stage to maintain sampling accuracy
- which introduces a framebuffer switch.
  - it uses dependent texturing, which is expensive
  - the line doubling does not have any implicit smoothing/interpolation
- which is a bonus of just using single fields - so the result is a
little 'blocky'.

- so switch to separating out the frame into its constituent fields -
which matches the EGL and CPU onefield filters - and uses the same trick
of faking the offsets and pitches to split the frame.
- improves performance and quality for software frames deinterlaced in
the shader (e.g. FFmpeg decode or copy back decoders)
- greatly improves Pi4 rendering of interlaced e.g. MPEG2


  Commit: 32e2db2289b4082468f018e6c686733564fd794e
      https://github.com/MythTV/mythtv/commit/32e2db2289b4082468f018e6c686733564fd794e
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-16 (Sun, 16 Feb 2020)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
    M mythtv/libs/libmythtv/decoders/mythmediacodeccontext.cpp
    M mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp
    M mythtv/libs/libmythtv/mythframe.h
    M mythtv/libs/libmythtv/mythplayer.cpp

  Log Message:
  -----------
  MythFrame: Rename decoder_deinterlaced to already_deinterlaced


  Commit: 6b7ac19c9601053ddc044540fd1536731ea67519
      https://github.com/MythTV/mythtv/commit/6b7ac19c9601053ddc044540fd1536731ea67519
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-16 (Sun, 16 Feb 2020)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/mythnvdeccontext.cpp
    M mythtv/libs/libmythtv/mythdeinterlacer.cpp
    M mythtv/libs/libmythtv/opengl/mythegldmabuf.cpp
    M mythtv/libs/libmythtv/opengl/mythnvdecinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythopenglvideo.cpp

  Log Message:
  -----------
  Deinterlacing: Explicitly flag and test already_deinterlaced

- simplifies and optimises the code a little - and makes deinterlacer
selection a little more robust


Compare: https://github.com/MythTV/mythtv/compare/b7a0756f021a...6b7ac19c9601


More information about the mythtv-commits mailing list