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

Mark Kendall noreply at github.com
Mon Feb 17 11:36:51 UTC 2020


  Branch: refs/heads/fixes/31
  Home:   https://github.com/MythTV/mythtv
  Commit: a412a2ed6c1d9bb33bfccc70074ed26cd750e66d
      https://github.com/MythTV/mythtv/commit/a412a2ed6c1d9bb33bfccc70074ed26cd750e66d
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-17 (Mon, 17 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: ed9411cd11dcb15b9095229c87240ad4db46b7fc
      https://github.com/MythTV/mythtv/commit/ed9411cd11dcb15b9095229c87240ad4db46b7fc
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-17 (Mon, 17 Feb 2020)

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

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


  Commit: 371b5f4850e19c7e5bb6682c3e857c691ecdab04
      https://github.com/MythTV/mythtv/commit/371b5f4850e19c7e5bb6682c3e857c691ecdab04
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-17 (Mon, 17 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: 70072b0a29c603ad2ddd791b63ddb19728af9227
      https://github.com/MythTV/mythtv/commit/70072b0a29c603ad2ddd791b63ddb19728af9227
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-17 (Mon, 17 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: ec64060c071f154851d10467d2cc944adbca577c
      https://github.com/MythTV/mythtv/commit/ec64060c071f154851d10467d2cc944adbca577c
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2020-02-17 (Mon, 17 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


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

  Changed paths:
    M mythtv/libs/libmythtv/decoders/mythmmalcontext.cpp
    M mythtv/libs/libmythtv/decoders/mythmmalcontext.h
    M mythtv/libs/libmythtv/decoders/mythv4l2m2mcontext.cpp

  Log Message:
  -----------
  MMAL/V4L2Codecs: Add a size check for hardware decoding

- this assumes MMAL cannot handle anything above HD video
- for V4L2, we assume if MMAL is available, then V4L2 is using MMAL
'under the hood' and we use the same check.


Compare: https://github.com/MythTV/mythtv/compare/4c54970fca89...b22f8f8c0ede


More information about the mythtv-commits mailing list