[mythtv-commits] [MythTV/mythtv] 0024c4: MythVAAPIInterop: Prefer GLXPixmap support over GL...
Mark Kendall
noreply at github.com
Fri Mar 8 07:46:39 UTC 2019
Branch: refs/heads/devel/2019-render
Home: https://github.com/MythTV/mythtv
Commit: 0024c40336e4f58304552245a281abf166168f56
https://github.com/MythTV/mythtv/commit/0024c40336e4f58304552245a281abf166168f56
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-03-07 (Thu, 07 Mar 2019)
Changed paths:
M mythtv/libs/libmythtv/mythvaapiinterop.cpp
Log Message:
-----------
MythVAAPIInterop: Prefer GLXPixmap support over GLXCopy
- looking at the libva source, GLXCopy performs the same copy to a
GLXPixmap plus a render to texture - hence not as fast.
- GLXPixmap is always available when GLXCopy is available, so GLXCopy
may be removed in the future.
Commit: 853440d1662f74b52840000c809ab7255cffaa63
https://github.com/MythTV/mythtv/commit/853440d1662f74b52840000c809ab7255cffaa63
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-03-07 (Thu, 07 Mar 2019)
Changed paths:
M mythtv/libs/libmythtv/avformatdecoder.cpp
Log Message:
-----------
AvFormatDecoder: Fix a logic warning
Commit: d00954f2375d2967d0ff35c1fca25fb3bbb153cc
https://github.com/MythTV/mythtv/commit/d00954f2375d2967d0ff35c1fca25fb3bbb153cc
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-03-07 (Thu, 07 Mar 2019)
Changed paths:
M mythtv/libs/libmythtv/mythmediacodecinterop.cpp
M mythtv/libs/libmythtv/mythopenglinterop.h
M mythtv/libs/libmythtv/mythvaapiinterop.cpp
M mythtv/libs/libmythtv/mythvaapiinterop.h
M mythtv/libs/libmythtv/mythvtbinterop.cpp
M mythtv/libs/libmythtv/videoout_opengl.cpp
M mythtv/libs/libmythtv/videoout_opengl.h
Log Message:
-----------
VideoOutputOpenGL: Fix pause frame for hardware frames
- retain the most recent frame for pause as we need a valid video frame
to access the interop class
- software frames are untouched
- optimise rendering VAAPI GLX pause frames by avoiding unnecessary
updates when we already have the current frame in texture memory.
Commit: 69cf7fc411465dbf533d0d6c52aebed98284cf2e
https://github.com/MythTV/mythtv/commit/69cf7fc411465dbf533d0d6c52aebed98284cf2e
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-03-07 (Thu, 07 Mar 2019)
Changed paths:
M mythtv/libs/libmythtv/mythplayer.cpp
Log Message:
-----------
MythPlayer: Fix seek deadlocks when using hardware decoding
- seeking often triggers a recreation of the hardware decoder context
- all hardware decoders that use direct rendering will use a callback to
MythMainWindow to create GPU related resources in the correct thread
(MythMainWindow is used as it is the only globally available, event
driven object in the UI thread).
- during WaitForSeek the main loop is blocked and the callbacks are not
processed
- so force qApp to process them and prevent the deadlock
Commit: abb58425477f30b525f101d5fa3969d050b4af0e
https://github.com/MythTV/mythtv/commit/abb58425477f30b525f101d5fa3969d050b4af0e
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-03-08 (Fri, 08 Mar 2019)
Changed paths:
M mythtv/libs/libmythtv/videobuffers.cpp
Log Message:
-----------
Hardware decode: Fix intermittent reference counting error
- ClearAfterSeek was not correctly releasing decoder buffer references
- but did highlight that the function is probably not working as
expected.
- e.g. VideoBuffers::ClearAfterSeek is called after a Rewind. With a
VAAPI hardware decoder, by the time ClearAfterSeek was called, all of
the video buffers had already been re-requested (VideBuffers were already
cleared in AvFormatDecoder seek code). This wreaks havoc on playback...
Commit: 56556bd5a5b8c2a3872b69999c94922175b23802
https://github.com/MythTV/mythtv/commit/56556bd5a5b8c2a3872b69999c94922175b23802
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-03-08 (Fri, 08 Mar 2019)
Changed paths:
M mythtv/libs/libmythtv/avformatdecoder.cpp
Log Message:
-----------
AvFormatDecoder::SeekReset Flush the VideoBuffers first
- in the event that a hardware decoder is in use, this ensures buffers
are returned to the decoder before it flushes internally - which may
require a valid, available output buffer (e.g. MediaCodec)
Commit: 514f6f5ec5dda24a20237f20f2a897a4317cf327
https://github.com/MythTV/mythtv/commit/514f6f5ec5dda24a20237f20f2a897a4317cf327
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-03-08 (Fri, 08 Mar 2019)
Changed paths:
M mythtv/libs/libmythtv/videoout_opengl.cpp
M mythtv/libs/libmythtv/videoout_opengl.h
Log Message:
-----------
VideoOutputOpenGL: Override VideoOutput::DiscardFrames
- this allows us to release any frames held for pause (hardware decode
only).
- as noted in the code, this should/could be relaxed for most decoders
as it has a negative impact on frame by frame seeking (i.e. there is
nothing to display while seeking)
Compare: https://github.com/MythTV/mythtv/compare/3c57a6ad40da...514f6f5ec5dd
More information about the mythtv-commits
mailing list