Thank you for the very helpful replies! I was busy experimenting with FFmpeg yesterday but got lost in the complicated codebase. So far I have found FFmpeg keeps decoding frames until it has collected enough information. In my particular case, it is the third condition in this while loop https://github.com/FFmpeg/FFmpeg/blob/n3.4.2/libavformat/utils.c#L3002 evaluating to false that ends the slice decoding.
...the properties are typically necessary for the muxer to actually > implement "-c copy" (even if not needed in all cases). > This is exactly what I missed: the muxer is designed for general purpose so it will go through all the steps. For the same reason `ffmpeg -i src.flv -c copy -f flv dst.flv` doesn't mean a file copy. ...it is just calculating the mv. If slice data partitioning is > used (or maybe regardless, don’t remember) the equation for motion > vector needs at least the field order list and sub/mb partition > indexes for the current and colocated mbs > I still can't understand this. Why does FFmpeg need MVs? My guess is calculating MVs is just a byproduct of extracting the metadata. On Thu, 21 Feb 2019 at 07:21, Carl Eugen Hoyos <ceffm...@gmail.com> wrote: > 2019-02-20 10:32 GMT+01:00, Ted Park <kumowoon1...@gmail.com>: > >> The original video seems problematic, so FFmpeg outputs > >> several lines of "co located POCs unavailable" error. The > >> error message is printed in > `h264_direct.c/ff_h264_direct_ref_list_init`, > >> which is further called by `h264dec.c/h264_decode_frame`. > >> What confuses me is why does the copy codec still try > >> to decode H.264 frames and even do motion vector prediction? > > > > It doesn’t. > > I may misunderstand this but in any case as Moritz explained > libavformat will use the decoder to know the properties of the > stream (you cannot avoid this), the properties are typically > necessary for the muxer to actually implement "-c copy" (even > if not needed in all cases). > Not all frames are decoded but some frames in the > beginning of the stream (for some codecs). > > Carl Eugen > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".