[Libav-user] Can I skip some packets when decoding

YIRAN LI mrfun.china at gmail.com
Tue Dec 9 10:30:06 CET 2014


>
>
> Le 9 déc. 2014 à 08:12, YIRAN LI <mrfun.china at gmail.com> a écrit :
>
> Hi,
>
> I have a question about read frame,
>
> Suppose I've just opened a file, so the readpointer is at the beginning of
> the file.
>
> Compare these two methods:
>
> 1. call av_read_frame + avcode_decode_video2 to decode 100 video packets(
> suppose each packet can decode into a frame)
> 2. call av_read_frame, but only decode the 100th packet (all previous 99
> packets are just discarded)
>
> Will the 100th frame from method 1 and the frame from method 2 have same
> content, timestamp, etc?
>
> Thanks
>
>
> Hi,
>
> Decoding the 100th packet alone can be equivalent in both situations only
> if this packet is a keyframe. If not, FFmpeg will need all the packets up
> to the first preceding key frame in order to be able to give you a frame
> with correct content. I'm unsure whether other metadata like timestamp
> depend on the method (although I don't think so).
>
>
​Thanks Lucas,

Let's assume both 2 methods start reading from a key packet. and the next
key is in the 200th packet.

So you mean continuously decoding to 100th frame has same result as skip 99
and decode 100th alone?


​

> Lucas
>
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20141209/b8c21ddc/attachment.html>


More information about the Libav-user mailing list