Add WebP image decoding support to stateless V4L2 VP8 decoder. This have been tested on STM32MP257-EV board using GStreamer. Simple basic test: $> wget https://www.gstatic.com/webp/gallery/1.webp $> gst-launch-1.0 filesrc location= 1.webp ! typefind ! v4l2slwebpdec ! imagefreeze num-buffers=20 ! waylandsink fullscreen=true Slideshow of a set of WebP pictures and WebM video files: $> wget https://www.gstatic.com/webp/gallery/2.webp $> wget https://www.gstatic.com/webp/gallery/3.webp $> wget https://www.gstatic.com/webp/gallery/4.webp $> wget https://www.gstatic.com/webp/gallery/5.webp $> wget https://samplemedia.linaro.org/VP8/big_buck_bunny_480p_VP8_VORBIS_25fps_1900K_short.WebM $> gst-play-1.0 *.webp *.webm *.WebM --wait-on-eos <hit key ">" to display next file > Large WebP image > 16777215 (size > 2^24) $> gst-launch-1.0 fakesrc num-buffers=1 format=4 do-timestamp=true filltype=3 sizetype=2 sizemax=25165824 blocksize=25165824 ! video/x-raw, format=I420, width=4096, height=3072, framerate=1/1 ! webpenc quality=100 ! filesink location=4096x3072_HQ_random.webp $> ls -l 4096x3072_HQ_random.webp [...] 16877404 Nov 20 11:40 4096x3072_HQ_random.webp $> gst-launch-1.0 filesrc location= 4096x3072_HQ_random.webp blocksize=16876610 ! image/webp, width=1, height=1, framerate=0/1 ! v4l2slwebpdec ! imagefreeze num-buffers=20 ! waylandsink fullscreen=true Large WebP image decoding using post-processor is untested because of lack of hardware support on this platform, nevertheless support is provided in this serie for further testing on another platform having post-processor support. =========== = history = =========== version 3: - Fix remarks from Nicolas Dufresne: - Document constraint about key frame only for WebP - Fix rebase issue - Fix typo detected by Diederik de Haas version 2: - Fix remarks from Nicolas Dufresne: - Use bytesperline helper to compute chroma size - Introduce a new explicit WEBP frame compressed format instead of relying on VP8 + WebP flag - 4K support in both decoder and post-proc version 1: - Initial submission Hugues Fruchet (3): media: uapi: add WebP uAPI media: verisilicon: add WebP decoding support media: verisilicon: postproc: 4K support .../userspace-api/media/v4l/biblio.rst | 9 +++++++++ .../media/v4l/pixfmt-compressed.rst | 17 +++++++++++++++++ drivers/media/platform/verisilicon/hantro.h | 2 ++ .../media/platform/verisilicon/hantro_g1_regs.h | 3 ++- .../platform/verisilicon/hantro_g1_vp8_dec.c | 14 ++++++++++++++ .../platform/verisilicon/hantro_postproc.c | 6 +++++- .../media/platform/verisilicon/hantro_v4l2.c | 2 ++ .../platform/verisilicon/stm32mp25_vpu_hw.c | 17 +++++++++++++++-- drivers/media/v4l2-core/v4l2-ioctl.c | 1 + include/uapi/linux/videodev2.h | 1 + 10 files changed, 68 insertions(+), 4 deletions(-) -- 2.25.1