diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-04-12 15:49:50 +0300 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-04-12 15:49:50 +0300 |
commit | 31f2c7d4477a7824567fc0ea70f1d7c24c9a041b (patch) | |
tree | 12ecc31837b9104a6791e644f6175da05112c205 /decoder | |
parent | 7d87158efada97bacf33925b515f13c3c5357a7b (diff) |
Remote mpeg2 decoding at the start of a GOP, in addition to after a keyframe
This allows playing intra-refresh mpeg2 samples, and should hopefully limit
the amount of distortion it may allow to be shown after a seek to open-gop streams.
Diffstat (limited to 'decoder')
-rw-r--r-- | decoder/LAVVideo/decoders/avcodec.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/decoder/LAVVideo/decoders/avcodec.cpp b/decoder/LAVVideo/decoders/avcodec.cpp index 5b5c44de..73e3a323 100644 --- a/decoder/LAVVideo/decoders/avcodec.cpp +++ b/decoder/LAVVideo/decoders/avcodec.cpp @@ -778,6 +778,9 @@ STDMETHODIMP CDecAvcodec::Decode(const BYTE *buffer, int buflen, REFERENCE_TIME if (state & STATE_EOS_FOUND) { bEndOfSequence = TRUE; } + if (state & STATE_GOP_FOUND && m_nCodecId == AV_CODEC_ID_MPEG2VIDEO) { + m_bWaitingForKeyFrame = FALSE; + } } else { avpkt.data = nullptr; avpkt.size = 0; |