Devicetree
 help / color / mirror / Atom feed
* [PATCH 00/11] media: amlogic: vdec: S4 decoding beyond H.264 Baseline
@ 2026-10-25 19:24 christian.koever-draxl
  2026-10-25 19:24 ` [PATCH 01/11] MAINTAINERS: fix the Amlogic VDEC binding path christian.koever-draxl
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: christian.koever-draxl @ 2026-10-25 19:24 UTC (permalink / raw)
  To: zhentao.guo, mchehab, robh, krzk+dt, conor+dt
  Cc: linux-media, devicetree, linux-kernel,
	Christian Stefan Kövér-Draxl

From: Christian Stefan Kövér-Draxl <ckoever@outlook.de>

This builds on Zhentao Guo's "[PATCH v6 0/4] Add Amlogic V4L2 stateless
decoder" and makes the S4 decoder usable for real streams:

 1-2:  MAINTAINERS path fix, binding update for the second (HEVC) core;
 3:    microcode loading that the secure world accepts, HEVC core setup;
 4:    H.264 Main and High profile, bit-exact;
 5-6:  MPEG-1/2 and MJPEG on the VDEC core;
 7-9:  AV1, VP9 (profile 0 and 2) and HEVC (Main, Main 10) on the HEVC
       core, up to 4K;
 10:   MPEG-4 Part 2 SP/ASP;
 11:   regmap naming.

Bit-exactness was checked against ffmpeg/libavcodec frame by frame for
H.264, VP9, AV1 and HEVC conformance and real-world streams; MPEG-2
differs by the hardware's IDCT rounding. Tested with GStreamer
v4l2sl*dec and a VA-API backend (Firefox) on an S905W2.

Depends on Zhentao's v6 series (not resent).

Tool use (Documentation/process/generated-content.rst):
This work was done with the help of an AI coding assistant, Claude
(Anthropic), used through Claude Code over many sessions. It did a large
part of the hands-on work: it read the vendor kernel and the firmware
interfaces, probed registers on the board, drafted the code and the
changelogs, and ran the builds, checkpatch, dt_binding_check and the
tests on the hardware. I directed the work, reviewed every change and
the final patches, and take responsibility for them. There is no single
prompt to quote; the sessions were of the form "find out why X fails on
this board, fix it, test it on the box".

Tested on an Amediatech X98Q TV box (Amlogic S905W2, S4 family, 2 GiB),
vendor U-Boot and BL31/OP-TEE, Linux 7.3 plus this work.

Christian Stefan Kövér-Draxl (11):
  MAINTAINERS: fix the Amlogic VDEC binding path
  dt-bindings: media: amlogic,s4-vdec: describe both decoder cores
  media: amlogic: vdec: fix the microcode loading and prepare the HEVC
    core
  media: amlogic: vdec: h264: decode Main and High profile bit-exact
  media: amlogic: vdec: add MPEG-1/2 decoding
  media: amlogic: vdec: add MJPEG decoding
  media: amlogic: vdec: add AV1 decoding on the HEVC core
  media: amlogic: vdec: add VP9 decoding on the HEVC core
  media: amlogic: vdec: add HEVC decoding on the HEVC core
  media: amlogic: vdec: add MPEG-4 Part 2 decoding
  media: amlogic: vdec: give the regmaps their own names

 .../bindings/media/amlogic,s4-vdec.yaml       |   24 +-
 MAINTAINERS                                   |    2 +-
 drivers/media/platform/amlogic/vdec/Kconfig   |    1 +
 drivers/media/platform/amlogic/vdec/Makefile  |    2 +-
 .../media/platform/amlogic/vdec/aml_vdec.c    |  157 +-
 .../platform/amlogic/vdec/aml_vdec_drv.h      |   21 +
 .../media/platform/amlogic/vdec/aml_vdec_hw.c |  178 +-
 .../media/platform/amlogic/vdec/aml_vdec_hw.h |   64 +
 .../platform/amlogic/vdec/aml_vdec_platform.c |  129 +-
 .../platform/amlogic/vdec/aml_vdec_tee_fw.c   |  102 +-
 drivers/media/platform/amlogic/vdec/av1.c     | 3140 +++++++++++++++++
 drivers/media/platform/amlogic/vdec/av1.h     |  308 ++
 drivers/media/platform/amlogic/vdec/h264.c    |  477 ++-
 drivers/media/platform/amlogic/vdec/h264.h    |    7 +
 .../platform/amlogic/vdec/h264_headers.c      |  249 ++
 drivers/media/platform/amlogic/vdec/hevc.c    | 1728 +++++++++
 drivers/media/platform/amlogic/vdec/hevc.h    |  125 +
 drivers/media/platform/amlogic/vdec/mjpeg.c   |  471 +++
 drivers/media/platform/amlogic/vdec/mjpeg.h   |   33 +
 drivers/media/platform/amlogic/vdec/mpeg12.c  |  708 ++++
 drivers/media/platform/amlogic/vdec/mpeg12.h  |   51 +
 drivers/media/platform/amlogic/vdec/mpeg4.c   |  480 +++
 drivers/media/platform/amlogic/vdec/mpeg4.h   |   52 +
 .../media/platform/amlogic/vdec/reg_defines.h |   24 +
 drivers/media/platform/amlogic/vdec/vp9.c     | 2004 +++++++++++
 drivers/media/platform/amlogic/vdec/vp9.h     |  149 +
 .../media/platform/amlogic/vdec/vp9_prob.c    |  213 ++
 .../media/platform/amlogic/vdec/vp9_prob.h    |   32 +
 28 files changed, 10847 insertions(+), 84 deletions(-)
 create mode 100644 drivers/media/platform/amlogic/vdec/av1.c
 create mode 100644 drivers/media/platform/amlogic/vdec/av1.h
 create mode 100644 drivers/media/platform/amlogic/vdec/h264_headers.c
 create mode 100644 drivers/media/platform/amlogic/vdec/hevc.c
 create mode 100644 drivers/media/platform/amlogic/vdec/hevc.h
 create mode 100644 drivers/media/platform/amlogic/vdec/mjpeg.c
 create mode 100644 drivers/media/platform/amlogic/vdec/mjpeg.h
 create mode 100644 drivers/media/platform/amlogic/vdec/mpeg12.c
 create mode 100644 drivers/media/platform/amlogic/vdec/mpeg12.h
 create mode 100644 drivers/media/platform/amlogic/vdec/mpeg4.c
 create mode 100644 drivers/media/platform/amlogic/vdec/mpeg4.h
 create mode 100644 drivers/media/platform/amlogic/vdec/vp9.c
 create mode 100644 drivers/media/platform/amlogic/vdec/vp9.h
 create mode 100644 drivers/media/platform/amlogic/vdec/vp9_prob.c
 create mode 100644 drivers/media/platform/amlogic/vdec/vp9_prob.h


base-commit: 7be4bc52fd9e0e55dc9a2e0232b89427d2c4b614
prerequisite-patch-id: 106aac9a55fa72f68fe458d405a69a66678c7040
prerequisite-patch-id: ed3f15728a5c616aca82b5086dc924adba315993
prerequisite-patch-id: 6845fd22135330ee201405f38d5c2a72bbe9d452
prerequisite-patch-id: 626eaa3d309664901ba13acc331d327a4ddc64c1
-- 
2.56.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2026-10-26  5:53 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-25 19:24 [PATCH 00/11] media: amlogic: vdec: S4 decoding beyond H.264 Baseline christian.koever-draxl
2026-10-25 19:24 ` [PATCH 01/11] MAINTAINERS: fix the Amlogic VDEC binding path christian.koever-draxl
2026-10-25 19:24 ` [PATCH 02/11] dt-bindings: media: amlogic,s4-vdec: describe both decoder cores christian.koever-draxl
2026-10-25 19:24 ` [PATCH 03/11] media: amlogic: vdec: fix the microcode loading and prepare the HEVC core christian.koever-draxl
2026-10-25 20:25   ` sashiko-bot
2026-10-25 19:25 ` [PATCH 04/11] media: amlogic: vdec: h264: decode Main and High profile bit-exact christian.koever-draxl
2026-10-25 19:25 ` [PATCH 05/11] media: amlogic: vdec: add MPEG-1/2 decoding christian.koever-draxl
2026-10-25 20:28   ` sashiko-bot
2026-10-25 19:25 ` [PATCH 06/11] media: amlogic: vdec: add MJPEG decoding christian.koever-draxl
2026-10-25 20:20   ` sashiko-bot
2026-10-25 19:25 ` [PATCH 07/11] media: amlogic: vdec: add AV1 decoding on the HEVC core christian.koever-draxl
2026-10-25 20:27   ` sashiko-bot
2026-10-25 19:25 ` [PATCH 08/11] media: amlogic: vdec: add VP9 " christian.koever-draxl
2026-10-25 20:23   ` sashiko-bot
2026-10-25 19:25 ` [PATCH 09/11] media: amlogic: vdec: add HEVC " christian.koever-draxl
2026-10-25 20:26   ` sashiko-bot
2026-10-25 19:25 ` [PATCH 10/11] media: amlogic: vdec: add MPEG-4 Part 2 decoding christian.koever-draxl
2026-10-25 20:39   ` sashiko-bot
2026-10-25 19:25 ` [PATCH 11/11] media: amlogic: vdec: give the regmaps their own names christian.koever-draxl
2026-10-26  5:53 ` [PATCH 00/11] media: amlogic: vdec: S4 decoding beyond H.264 Baseline Zhentao Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox