[FFmpeg-devel] [PATCH v12 0/8] [WIP] webp: add support for animated WebP decoding
James Zern
jzern at google.com
Thu Apr 18 01:52:17 EEST 2024
On Wed, Apr 17, 2024 at 12:20 PM Thilo Borgmann via ffmpeg-devel
<ffmpeg-devel at ffmpeg.org> wrote:
>
> From: Thilo Borgmann <thilo.borgmann at mail.de>
>
> Marked WIP because we'd want to introduce private bsf's first; review
> welcome before that though
> VP8 decoder decoupled again
> The whole animated sequence goes into one packet
> The (currently public) bitstream filter splits animations up into non-conformant packets
> Now with XMP metadata support (as string, like MOV)
>
Tests mostly work for me. There are a few images (that I reported
earlier) that give:
Canvas change detected. The output will be damaged. Use -threads 1
to try decoding with best effort.
They don't animate without that option and with it render incorrectly.
A few other notes:
- should ffprobe report anything with files containing xmp?
- 0 duration behaves differently than web browsers, which use the gif
behavior and set it to 10; as long as it's consistent in ffmpeg
between the two either is fine to me.
- The files in https://crbug.com/690848 don't exit cleanly from
ffplay, other corrupt files do; ffmpeg exits, so maybe it's a
non-issue.
>
> Patch 5/8 is still there for making changes in lavc/webp reviewable but shall be stashed when pushing.
>
> -Thilo
>
> Josef Zlomek (2):
> libavcodec/webp: add support for animated WebP
> libavformat/webp: add WebP demuxer
>
> Thilo Borgmann via ffmpeg-devel (6):
> avcodec/webp: remove unused definitions
> avcodec/webp: separate VP8 decoding
> avcodec/bsf: Add awebp2webp bitstream filter
> avcodec/webp: make init_canvas_frame static
> fate: add test for animated WebP
> avcodec/webp: export XMP metadata
>
> Changelog | 2 +
> configure | 1 +
> doc/demuxers.texi | 28 +
> libavcodec/bitstream_filters.c | 1 +
> libavcodec/bsf/Makefile | 1 +
> libavcodec/bsf/awebp2webp.c | 350 ++++++++
> libavcodec/codec_desc.c | 3 +-
> libavcodec/version.h | 2 +-
> libavcodec/webp.c | 796 ++++++++++++++++--
> libavformat/Makefile | 1 +
> libavformat/allformats.c | 1 +
> libavformat/version.h | 2 +-
> libavformat/webpdec.c | 383 +++++++++
> tests/fate/image.mak | 3 +
> tests/ref/fate/exif-image-webp | 4 +-
> tests/ref/fate/webp-anim | 22 +
> tests/ref/fate/webp-rgb-lena-lossless | 2 +-
> tests/ref/fate/webp-rgb-lena-lossless-rgb24 | 2 +-
> tests/ref/fate/webp-rgb-lossless | 2 +-
> .../fate/webp-rgb-lossless-palette-predictor | 2 +-
> tests/ref/fate/webp-rgb-lossy-q80 | 2 +-
> tests/ref/fate/webp-rgba-lossless | 2 +-
> tests/ref/fate/webp-rgba-lossy-q80 | 2 +-
> 23 files changed, 1530 insertions(+), 84 deletions(-)
> create mode 100644 libavcodec/bsf/awebp2webp.c
> create mode 100644 libavformat/webpdec.c
> create mode 100644 tests/ref/fate/webp-anim
>
> --
> 2.43.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list