вт, 21 авг. 2018 г. в 11:44, Carl Eugen Hoyos <[email protected]>:

> Do you have a sample of a file with wrong values in container that
> gets misdetected by (current) FFmpeg?
>

Carl, the problem is fundamental. With container we can't be assured that
there is no misconfig there, so in robust solutions we can't rely on it. We
saw such streams, but I have dump for example right now.

You also can observe this bug in FFmpeg. We try to use framerate from
AVCodecContext::framerate, and this value depends on number of threads
specified for AVCodecContext. FFmpeg uses AVStream from libavformat and
there exists two framerates: AVStream::r_frame_rate and
AVStream::avg_frame_rate - and their values are correct, that's why FFmpeg
shows framerate correctly.
But decoder ( AVCodecContext ) in FFmpeg has incorrect framerate, too! You
can check it by simly add printf avctx->framerate into decode() function in
FFmpeg (ffmpeg.c:2231) after avcodec_receive_frame -- it will show you
100/1 fps (incorrect) for more that 1 thread and 50/1 fps (correct) if you
add  -threads 1 for FFmpeg binary.
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to