[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231004103720.3540436-1-hugues.fruchet@foss.st.com>
Date: Wed, 4 Oct 2023 12:37:14 +0200
From: Hugues Fruchet <hugues.fruchet@...s.st.com>
To: Ezequiel Garcia <ezequiel@...guardiasur.com.ar>,
Philipp Zabel <p.zabel@...gutronix.de>,
Andrzej Pietrasiewicz <andrzej.p@...labora.com>,
Nicolas Dufresne <nicolas.dufresne@...labora.com>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Benjamin Gaignard <benjamin.gaignard@...labora.com>,
Laurent Pinchart <laurent.pinchart+renesas@...asonboard.com>,
Daniel Almeida <daniel.almeida@...labora.com>,
Benjamin Mugnier <benjamin.mugnier@...s.st.com>,
Heiko Stuebner <heiko@...ech.de>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Hans Verkuil <hverkuil@...all.nl>,
<linux-media@...r.kernel.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
<linux-stm32@...md-mailman.stormreply.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
<devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>,
<linux-rockchip@...ts.infradead.org>
CC: Hugues Fruchet <hugues.fruchet@...s.st.com>,
Marco Felsch <m.felsch@...gutronix.de>,
Adam Ford <aford173@...il.com>
Subject: [RFC 0/6] VP8 H1 stateless encoding
Hi all,
Here is an RFC to support VP8 encoding using Hantro H1 hardware
of STM32MP25 SoCs (Verisilicon VC8000NanoE IP).
This work is derived from work done to support Rockchip RK3399
VPU2 in RFC [1] with a reshuffling of registers to match H1
register set.
This has been tested on STM32MP257F-EV1 evaluation board using
GStreamer userspace [2]:
gst-launch-1.0 videotestsrc num-buffers=500 ! video/x-raw,width=640,height=480 \
! v4l2slvp8enc ! queue ! matroskamux ! filesink location=test_vp8.mkv
For the sake of simplicity I have embedded here the RFC [1] before the
changes related to this exact RFC, all rebased on v6.6 + STM32MP25
hardware codecs support [3].
[1] https://lwn.net/ml/linux-media/20230309125651.23911-1-andrzej.p@collabora.com/
[2] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3736
[3] https://patchwork.kernel.org/project/linux-media/list/?series=789861
Best regards,
Hugues.
Andrzej Pietrasiewicz (2):
media: uapi: Add VP8 stateless encoder controls
media: hantro: add VP8 encode support for Rockchip RK3399 VPU2
Hugues Fruchet (4):
media: hantro: add h1 vp8 encode support
media: hantro: add VP8 encode support for STM32MP25 VENC
media: hantro: h1: NV12 single-plane support
media: hantro: add NV12 single-plane support for STM32MP25 VENC
drivers/media/platform/verisilicon/Makefile | 3 +
drivers/media/platform/verisilicon/hantro.h | 10 +
.../platform/verisilicon/hantro_boolenc.c | 69 +
.../platform/verisilicon/hantro_boolenc.h | 21 +
.../media/platform/verisilicon/hantro_drv.c | 15 +-
.../platform/verisilicon/hantro_h1_jpeg_enc.c | 42 +-
.../platform/verisilicon/hantro_h1_regs.h | 71 +-
.../platform/verisilicon/hantro_h1_vp8_enc.c | 1589 +++++++++++++++++
.../media/platform/verisilicon/hantro_hw.h | 93 +
.../media/platform/verisilicon/hantro_v4l2.c | 5 +-
.../media/platform/verisilicon/hantro_vp8.c | 118 ++
.../verisilicon/rockchip_vpu2_hw_vp8_enc.c | 1574 ++++++++++++++++
.../platform/verisilicon/rockchip_vpu2_regs.h | 1 +
.../platform/verisilicon/rockchip_vpu_hw.c | 23 +-
.../platform/verisilicon/stm32mp25_venc_hw.c | 35 +-
drivers/media/v4l2-core/v4l2-ctrls-core.c | 13 +
drivers/media/v4l2-core/v4l2-ctrls-defs.c | 5 +
include/media/v4l2-ctrls.h | 2 +
include/uapi/linux/v4l2-controls.h | 91 +
include/uapi/linux/videodev2.h | 3 +
20 files changed, 3755 insertions(+), 28 deletions(-)
create mode 100644 drivers/media/platform/verisilicon/hantro_boolenc.c
create mode 100644 drivers/media/platform/verisilicon/hantro_boolenc.h
create mode 100644 drivers/media/platform/verisilicon/hantro_h1_vp8_enc.c
create mode 100644 drivers/media/platform/verisilicon/rockchip_vpu2_hw_vp8_enc.c
--
2.25.1
Powered by blists - more mailing lists