[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241121131904.261230-1-hugues.fruchet@foss.st.com>
Date: Thu, 21 Nov 2024 14:19:01 +0100
From: Hugues Fruchet <hugues.fruchet@...s.st.com>
To: Mauro Carvalho Chehab <mchehab@...nel.org>,
Ezequiel Garcia
<ezequiel@...guardiasur.com.ar>,
Philipp Zabel <p.zabel@...gutronix.de>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Hugues Fruchet
<hugues.fruchet@...s.st.com>,
Sebastian Fricke
<sebastian.fricke@...labora.com>,
Ricardo Ribalda <ribalda@...omium.org>,
Erling Ljunggren <hljunggr@...co.com>,
Hans Verkuil <hverkuil@...all.nl>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Sakari Ailus
<sakari.ailus@...ux.intel.com>,
Jacopo Mondi <jacopo.mondi@...asonboard.com>,
Jean-Michel Hautbois <jeanmichel.hautbois@...asonboard.com>,
Benjamin
Gaignard <benjamin.gaignard@...labora.com>,
<linux-media@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-rockchip@...ts.infradead.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<linux-arm-kernel@...ts.infradead.org>
Subject: [PATCH v3 0/3] Add WebP support to hantro decoder
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
Powered by blists - more mailing lists