[mythtv-commits] [MythTV/mythtv] 1de11b: MythCodecContext: Track the number of concurrent A...
Mark Kendall
noreply at github.com
Thu Oct 3 12:49:07 UTC 2019
Branch: refs/heads/devel/2019-render
Home: https://github.com/MythTV/mythtv
Commit: 1de11b5e20ca15edfe4c9f7a7911db1d00c357d6
https://github.com/MythTV/mythtv/commit/1de11b5e20ca15edfe4c9f7a7911db1d00c357d6
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
M mythtv/libs/libmythtv/decoders/mythcodeccontext.cpp
M mythtv/libs/libmythtv/decoders/mythcodeccontext.h
M mythtv/libs/libmythtv/mythvaapicontext.cpp
M mythtv/libs/libmythtv/mythvdpaucontext.cpp
Log Message:
-----------
MythCodecContext: Track the number of concurrent AVHWFramesContext's
Commit: 33b109b106eb4a6f0445820941281e0e5ec83ed7
https://github.com/MythTV/mythtv/commit/33b109b106eb4a6f0445820941281e0e5ec83ed7
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2019-10-03 (Thu, 03 Oct 2019)
Changed paths:
M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
Log Message:
-----------
AvFormatDecoder: Use a single FFmpeg thread for hardware decoding
- also use asynchronous callbacks for software decoding. All of our
get_formant and get_buffer calls shouls be thread safe and per the FFmpeg
documentation, this should improve concurrency.
- the single thread for hardware decoding is needed as using
asynchronous callbacks means we can get callbacks later than needed.
When using AVHWFramesContext (VDPAU and VAAPI) with H264 in particular,
the decoder resets the hardware context when seeking - but the callback
to release our context is not received until after we have created the
new context; which leads to large spikes in memory consumption and
potential playback errors.
Compare: https://github.com/MythTV/mythtv/compare/b449f5e3d66d...33b109b106eb
More information about the mythtv-commits
mailing list