[FFmpeg-trac] #11055(avcodec:reopened): OGOP (Open GOP) in certain conditions may cause missing frames of decoding

FFmpeg trac at avcodec.org
Fri Jun 28 18:46:11 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:190 markfilipak]:

 > The question I ask and have always asked is how can framecrc and
 showinfo ever be different?



 ie. Why does showinfo abort early/ return EOF, with only 53 frames , when
 there are 99 coded frames ?

 framecrc exerpt
 [in#0/mpegts @ 00000088c45fcb00]   Input stream #0:0 (video): 99 packets
 read (14236691 bytes); 53 frames decoded; 0 decode

 It might be that -vf showinfo is running it through the decoder, not just
 counting packets. If you swap the decoder (e.g. if you have nvidia card)
 it shows different information with 97 frames for -vf showinfo. Some
 errors in the video bitstream might be causing early termination in the
 filtergraph for the default SW decoder, when other decoders might handle
 it differently

 (sorry, this is a windows cmd)
 ffmpeg -report -c:v h264_cuvid -i Ticket_11055.m2ts -vf showinfo -c:v
 rawvideo -f null -

 Why only 97 frames ? I believe it's the way ffmpeg handles missing
 information. The 1st 2 frames in display order are missing information and
 are dropped by ffmpeg -  Some applications place duplicates for those
 error frames, others drop them - it's application dependent. The nvdec
 decoder itself returns 99 frames. e.g. if you use LSmash
 decoder="h264_cuvid" or DGDecNV with avisynth or vapoursynth, the 2 error
 frames are kept as duplicate placeholder frames. Framecount has sync
 implications when you cut/append streams. (But those errors shouldn't be
 there in the first place had the stream processed properly.)
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11055#comment:192>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list