Re: [PATCH 0/4] media: rkvdec: Add VP9 support for VDPU381 variant

From: Igor Paunovic

Date: Mon Jul 27 2026 - 04:30:31 EST


Orange Pi 5 Plus leg of the three-board run in the cover letter, as a
tag you can pick up. 7.0 base carrying this code, not a build of the
series as posted.

Tested-by: Igor Paunovic royalnet026@xxxxxxxxx


On Mon, Jul 27, 2026 at 8:44 AM Francesco Saverio Pavone
<pavone.lawyer@xxxxxxxxx> wrote:
>
> Rock 5B+ leg of the three-board run in the cover letter, as a tag you can
> pick up. 7.1 base carrying this code, not a build of the series as posted.
>
> Francesco Saverio Pavone <pavone.lawyer@xxxxxxxxx>
>
>
> Il giorno dom 26 lug 2026 alle ore 22:28 Venkata Atchuta Bheemeswara
> Sarma Darbha <vdarbha0473@xxxxxxxxx> ha scritto:
> >
> > Hi All,
> > This patch series adds the initial VP9 support for VDPU381 present in rk3588.
> >
> > VDPU381 supports VP9 Profile 0 and Profile 2 up to 7680x4320@30fps.
> >
> > Tested with fluster (suite : VP9-TEST-VECTORS, decoder: GStreamer-VP9-V4L2SL-Gst1.0).
> > The 224/305 score has been reproduced independently on three RK3588 boards
> > across three kernel bases: Orange Pi 5 Pro (RK3588S, 7.2.0-rc3),
> > Orange Pi 5 Plus (RK3588, 7.0) and Radxa Rock 5B+ (RK3588, 7.1).
> >
> > Most of the remaining failures fall into a few known categories:
> >
> > - All vp90-2-02-size-*.webm variants where either dimension is
> > smaller than 64 pixels fail because the hardware does not support
> > frames smaller than 64x64:
> > vp90-2-02-size-08x08.webm, vp90-2-02-size-08x10.webm,
> > vp90-2-02-size-08x16.webm, vp90-2-02-size-08x18.webm,
> > vp90-2-02-size-08x32.webm, vp90-2-02-size-08x34.webm,
> > vp90-2-02-size-08x64.webm, vp90-2-02-size-08x66.webm,
> > vp90-2-02-size-10x08.webm, vp90-2-02-size-10x10.webm,
> > vp90-2-02-size-10x16.webm, vp90-2-02-size-10x18.webm,
> > vp90-2-02-size-10x32.webm, vp90-2-02-size-10x34.webm,
> > vp90-2-02-size-10x64.webm, vp90-2-02-size-10x66.webm,
> > vp90-2-02-size-16x08.webm, vp90-2-02-size-16x10.webm,
> > vp90-2-02-size-16x16.webm, vp90-2-02-size-16x18.webm,
> > vp90-2-02-size-16x32.webm, vp90-2-02-size-16x34.webm,
> > vp90-2-02-size-16x64.webm, vp90-2-02-size-16x66.webm,
> > vp90-2-02-size-18x08.webm, vp90-2-02-size-18x10.webm,
> > vp90-2-02-size-18x18.webm, vp90-2-02-size-18x32.webm,
> > vp90-2-02-size-18x34.webm, vp90-2-02-size-18x64.webm,
> > vp90-2-02-size-18x66.webm, vp90-2-02-size-32x08.webm,
> > vp90-2-02-size-32x10.webm, vp90-2-02-size-32x18.webm,
> > vp90-2-02-size-32x34.webm, vp90-2-02-size-32x66.webm,
> > vp90-2-02-size-34x08.webm, vp90-2-02-size-34x10.webm,
> > vp90-2-02-size-34x16.webm, vp90-2-02-size-34x34.webm,
> > vp90-2-02-size-34x64.webm, vp90-2-02-size-34x66.webm,
> > vp90-2-02-size-64x08.webm, vp90-2-02-size-64x10.webm,
> > vp90-2-02-size-66x08.webm, vp90-2-02-size-66x10.webm.
> >
> > - vp90-2-05-resize.ivf, vp90-2-18-resize.ivf and all
> > vp90-2-21-resize_inter_*.webm variants fail. These streams change
> > resolution mid-stream on a non-keyframe, and a reference frame
> > from before the resize ends up unavailable by the time it's
> > needed again. This is being actively looked into:
> > vp90-2-05-resize.ivf, vp90-2-18-resize.ivf,
> > vp90-2-21-resize_inter_1280x720_5_1-2.webm,
> > vp90-2-21-resize_inter_1280x720_5_3-4.webm,
> > vp90-2-21-resize_inter_1280x720_7_1-2.webm,
> > vp90-2-21-resize_inter_1280x720_7_3-4.webm,
> > vp90-2-21-resize_inter_1920x1080_5_1-2.webm,
> > vp90-2-21-resize_inter_1920x1080_5_3-4.webm,
> > vp90-2-21-resize_inter_1920x1080_7_1-2.webm,
> > vp90-2-21-resize_inter_1920x1080_7_3-4.webm,
> > vp90-2-21-resize_inter_320x180_5_1-2.webm,
> > vp90-2-21-resize_inter_320x180_5_3-4.webm,
> > vp90-2-21-resize_inter_320x180_7_1-2.webm,
> > vp90-2-21-resize_inter_320x180_7_3-4.webm,
> > vp90-2-21-resize_inter_320x240_5_1-2.webm,
> > vp90-2-21-resize_inter_320x240_5_3-4.webm,
> > vp90-2-21-resize_inter_320x240_7_1-2.webm,
> > vp90-2-21-resize_inter_320x240_7_3-4.webm,
> > vp90-2-21-resize_inter_640x360_5_1-2.webm,
> > vp90-2-21-resize_inter_640x360_5_3-4.webm,
> > vp90-2-21-resize_inter_640x360_7_1-2.webm,
> > vp90-2-21-resize_inter_640x360_7_3-4.webm,
> > vp90-2-21-resize_inter_640x480_5_1-2.webm,
> > vp90-2-21-resize_inter_640x480_5_3-4.webm,
> > vp90-2-21-resize_inter_640x480_7_1-2.webm,
> > vp90-2-21-resize_inter_640x480_7_3-4.webm.
> >
> > - vp90-2-09-aq2.webm,
> > vp90-2-09-lf_deltas.webm,
> > vp90-2-15-segkey_adpq.webm,
> > vp90-2-19-skip-01.webm,
> > vp90-2-19-skip-02.webm,
> > vp90-2-19-skip.webm, vp90-2-22-svc_1280x720_3.ivf,
> > are still failing and not yet root-caused.
> >
> > - vp91-2-04-yuv422.webm
> > vp91-2-04-yuv444.webm
> > fail because the hardware does not support the format these
> > streams use (4:2:2/4:4:4), only 4:2:0.
> >
> > The base vdpu381 VP9 driver support was introduced by me. Profile 2 support
> > was added by Igor Paunovic. Francesco Saverio Pavone fixed bugs in
> > the segmentation map size calculation and in the altref vertical
> > scale factor. Igor Paunovic also fixed a decoded-frame stride bug, aligning
> > bytesperline to 64 bytes in rkvdec_fill_decoded_pixfmt().
> >
> > ---
> > Igor Paunovic (1):
> > media: rkvdec: align bytesperline to 64 bytes in rkvdec_fill_decoded_pixfmt()
> >
> > Venkata Atchuta Bheemeswara Sarma Darbha (3):
> > media: rkvdec: vp9: Changing get_ref_buf function name to get_ref_buf_vp9
> > media: rkvdec: Move vp9 functions to common file
> > media: rkvdec: Add VP9 support for VDPU381 variant
> >
> > drivers/media/platform/rockchip/rkvdec/Makefile | 2 +
> > .../platform/rockchip/rkvdec/rkvdec-vdpu381-regs.h | 234 +++++
> > .../platform/rockchip/rkvdec/rkvdec-vdpu381-vp9.c | 1067 ++++++++++++++++++++
> > .../platform/rockchip/rkvdec/rkvdec-vp9-common.c | 65 ++
> > .../platform/rockchip/rkvdec/rkvdec-vp9-common.h | 92 ++
> > .../media/platform/rockchip/rkvdec/rkvdec-vp9.c | 121 +--
> > drivers/media/platform/rockchip/rkvdec/rkvdec.c | 73 +-
> > drivers/media/platform/rockchip/rkvdec/rkvdec.h | 1 +
> > 8 files changed, 1537 insertions(+), 118 deletions(-)
> > ---
> > base-commit: 1229e2e57a5c2980ccd457b9b53ea0eed5a22ab3
> > change-id: 20260726-b4-add-rkvdec2-vp9-vdpu381-3d1bd8fca4f5
> >
> > Best regards,
> > --
> > Venkata Atchuta Bheemeswara Sarma Darbha <vdarbha0473@xxxxxxxxx>
> >