[FFmpeg-devel] [PATCH v4 3/7] avcodec/webp_parser: parse each frame into one packet

James Zern jzern at google.com
Tue Jul 25 22:46:59 EEST 2023


On Tue, Jul 25, 2023 at 7:18 AM Thilo Borgmann <thilo.borgmann at mail.de> wrote:
>
> Am 25.07.23 um 14:24 schrieb Tomas Härdin:
> >> +    // Extremely simplified key frame detection:
> >> +    // - the first frame (containing headers) is marked as a key
> >> frame
> >> +    // - other frames are marked as non-key frames
> >
> > Is there a more proper way of doing this?
>
> All frames (except the ANMF chunks) are INTRA, and all of them have a WEBP tag.
> Whereas all ANMF chunks are in the same WEBP chunk as their reference frame.
> So it should really be as simple as it is to mark all WEBP frames as key frames as the code does.
> What more dedicated do you have in mind?
>
> The logic as-is works with all samples I have, animated and not.
> Seems to also align well with their example file layouts.
> You have a more weird one?
>
>
> > Looking briefly at the spec
> > one wonders why they didn't just use regular VP* inter frames..
>
> I assume the whole canvas idea could be more beneficial than vp8 inter - but otoh I don't know about vp8 compositing capabilities, if any..
>

This was more in alignment with gif and allowed for a simpler
reference structure. WebP also supports lossless and mixing
lossy/lossless so this method makes the behavior consistent between
VP8 and VP8L.


More information about the ffmpeg-devel mailing list