mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paul Kocialkowski <paulk@sys-base.io>
To: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Cc: Nicolas Dufresne <nicolas.dufresne@collabora.com>,
	devicetree <devicetree@vger.kernel.org>,
	"open list:FREESCALE IMX / MXC FEC DRIVER" <imx@lists.linux.dev>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-media <linux-media@vger.kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil@kernel.org>,
	Marco Felsch <m.felsch@pengutronix.de>,
	Michael Tretter <m.tretter@pengutronix.de>
Subject: Re: [PATCH 00/14] media: Add V4L2 H.264 stateless encode and VC8000E support
Date: Thu, 24 Sep 2026 20:09:06 +0200	[thread overview]
Message-ID: <arVnQmik-CveaAkY@collins> (raw)
In-Reply-To: <CAOf5uw=SeHZSnYjPOptAGYwPkQc7L7gDpOrDWJH3UF0r1qdrtg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2955 bytes --]

Hi Michael,

Le Thu 24 Sep 26, 07:30, Michael Nazzareno Trimarchi a écrit :
> I have added your patch to gstreamer
> 
> v4l2codecs: add the stateless H.264 and VP8 encoder elements
> 
> Backport of the encoder work from the branch v4l2codecs/h264enc of
> https://github.com/paulkocialkowski/gstreamer (commit f59de5779ef1, based
> on release 1.26.0) onto the gstreamer1.0-plugins-bad 1.28.5 this build
> uses.

Yes this is the right gstreamer branch to use here.

> Generate the right element and encode stream:
> 
> gst-launch-1.0 videotestsrc num-buffers=100 !
> video/x-raw,width=720,height=576 !  v4l2slh264enc ! h264parse !
> matroskamux ! filesink location=/tmp/t2.mkv
> 
> And playback over Wayland.
> 
> Solve some problem. I have implemented:
> 
> const struct hantro_variant px30_vpu_variant = {
>         .enc_offset = 0x0,
>         .enc_fmts = rockchip_vpu_enc_fmts,
>         .num_enc_fmts = ARRAY_SIZE(rockchip_vpu_enc_fmts),
>         .dec_offset = 0x400,
>         .dec_fmts = rockchip_vdpu2_dec_fmts,
>         .num_dec_fmts = ARRAY_SIZE(rockchip_vdpu2_dec_fmts),
>         .codec = HANTRO_JPEG_ENCODER | HANTRO_H264_ENCODER |
>                  HANTRO_MPEG2_DECODER | HANTRO_VP8_DECODER |
>                  HANTRO_H264_DECODER,
>         .codec_ops = px30_vpu_codec_ops,
>         .irqs = rockchip_vpu2_irqs,
>         .num_irqs = ARRAY_SIZE(rockchip_vpu2_irqs),
>         .init = rk3036_vpu_hw_init,
>         .clk_names = rockchip_vpu_clk_names,
>         .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
> };
> 
> I have advertised the:
> 
>        {
>                 .fourcc = V4L2_PIX_FMT_H264_SLICE,
>                 .codec_mode = HANTRO_MODE_H264_ENC,
>                 .max_depth = 2,
>                 .header_size = H264_ENC_HEADER_SIZE,
>                 .frmsize = {
>                         .min_width = FMT_MIN_WIDTH,
>                         .max_width = FMT_FHD_WIDTH,
>                         .step_width = MB_DIM,
>                         .min_height = FMT_MIN_HEIGHT,
>                         .max_height = FMT_FHD_HEIGHT,
>                         .step_height = MB_DIM,
>                 },
>         },
> 
> Create the rockchip_vpu_hw_h264_enc.c. I need to test this on rk3399

Then I guess this is using register configuration from the earlier H.264
encoding work that I've done at Bootlin, adapted for the new stateless
encode helpers? That part is probably not quite trivial, which is why I
was a bit surprised.

> I have a small change only in the common part. Hope that it's a bit clear.

Yes in comparison to the register configuration code, the platform
changes are rather small indeed.

All the best,

Paul

-- 
Paul Kocialkowski,

Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/

Expert in multimedia, graphics and embedded hardware support with Linux.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-09-24 18:09 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-22 10:16 Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 01/14] media: h264: Add a more generic reflist builder init Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 02/14] media: uapi: Add H.264 stateless encode support Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 03/14] media: h264: Add SPS video definitions Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 04/14] media: h264: Add stateless encode core Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 05/14] media: h264: Add stateless encode rbsp Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 06/14] media: h264: Add stateless encode reference management Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 07/14] media: h264: Add stateless encode rate control Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 08/14] media: verisilicon: Report default pixel coding for non-JPEG and fix JPEG case Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 09/14] media: verisilicon: Cancel job with runtime pm put/clk disable on failure Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 10/14] media: hantro: use hantro_decoded_buffer only for dst_vq Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 11/14] media: verisilicon: Add common encoder parm and frameintervals ioctls Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 12/14] media: verisilicon: Add support for the VC8000E H.264 encoder Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 13/14] media: verilisicon: imx8m: Add support for the VC8000E on i.MX8MP Paul Kocialkowski
2026-05-22 10:16 ` [PATCH 14/14] arm64: dts: imx8mp: add VC8000E encoder node Paul Kocialkowski
2026-05-22 11:28   ` Fabio Estevam
2026-05-22 14:47 ` [PATCH 00/14] media: Add V4L2 H.264 stateless encode and VC8000E support Nicolas Dufresne
2026-09-23 12:10   ` Michael Nazzareno Trimarchi
2026-09-23 20:05     ` Paul Kocialkowski
2026-09-24  5:30       ` Michael Nazzareno Trimarchi
2026-09-24 18:09         ` Paul Kocialkowski [this message]
2026-09-24 19:38           ` Michael Nazzareno Trimarchi
2026-09-24 19:44             ` Nicolas Dufresne
2026-09-24 20:30               ` Paul Kocialkowski
2026-09-24 20:46                 ` Nicolas Dufresne

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=arVnQmik-CveaAkY@collins \
    --to=paulk@sys-base.io \
    --cc=benjamin.gaignard@collabora.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hverkuil@kernel.org \
    --cc=imx@lists.linux.dev \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=m.felsch@pengutronix.de \
    --cc=m.tretter@pengutronix.de \
    --cc=mchehab@kernel.org \
    --cc=michael@amarulasolutions.com \
    --cc=nicolas.dufresne@collabora.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®