[FFmpeg-trac] #11055(avcodec:reopened): OGOP (Open GOP) in certain conditions may cause missing frames of decoding
FFmpeg
trac at avcodec.org
Sun Jun 30 02:22:10 EEST 2024
#11055: OGOP (Open GOP) in certain conditions may cause missing frames of decoding
-------------------------------------+-------------------------------------
Reporter: markfilipak | Owner: (none)
Type: defect | Status: reopened
Priority: normal | Component: avcodec
Version: git-master | Resolution:
Keywords: everything | Blocked By:
OGOP |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by pdr0):
Replying to [comment:203 Balling]:
> "pdr0 & Balling at
> trac.ffmpeg.org hint that key frames are specific I-frames"
>
> Keyframes are only when you clean start from it. In Open GOP by
definition you can have a situation where some after I frames or its
slices you can have dependence on frames before that I frame, thus that is
non IDR frame/slice. Moroover, some frames can still be cleanly decoded
even though we have that and are marked as recovery frames with
exact_match=1 like in your example, moreover some frames are tagged as
just recovery that allows to get after some frames to the same stream .
>
> See, for example, https://bitmovin.com/vvc-open-gop-resolution-switching
For an encoded stream, yes, - that's the whole point of using open GOP
But not when you edit . When the 2nd segment does not start with IDR ,
there is no reset to frame_num . You get the problems that you see here
e.g.
If you have frame_num 0,1,2,3,4 for part a , but 3,4,5,6 for part b
(because not on IDR) , the frame_num decreases from 4 to 3 in decoding
order this is a clear spec violation
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11055#comment:205>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list