Re: [PATCH v3 0/3] Add WebP support to hantro decoder

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

The corresponding GStreamer code has been pushed here (v4l2slwebpdec):
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7939

BR,
Hugues.

On 11/21/24 14:19, Hugues Fruchet wrote:
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(-)





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux