Re: [PATCH v2 0/4] media: HEVC: RPS clean up

From: Benjamin Gaignard
Date: Tue Oct 12 2021 - 11:57:59 EST



Le 12/10/2021 à 17:34, Jernej Škrabec a écrit :
Hi Benjamin!

Dne torek, 12. oktober 2021 ob 16:35:48 CEST je Benjamin Gaignard napisal(a):
This series aims to clean up Reference Picture Set usage and flags.

Long term flag was named with RPS prefix while it is not used for RPS
but for mark long term references in DBP. Remane it and remove the two
other useless RPS flags.

Clarify documentation about RPS lists content and make sure that Hantro
driver use them correctly (i.e without look up in DBP).

These patches are the last in my backlog impacting HEVC uAPI.
From my point of view, once they get merged, you could start talking
about how move HEVC uAPI to stable.
With your changes, HEVC uAPI controls still won't be complete. Cedrus needs
entry point control, which in turn needs dynamic array support. I'm a bit lazy
implementing that control, but I guess I can take a look in a month or so.
rkvdec also needs more fields for HEVC. With patches collected here:
https://github.com/LibreELEC/LibreELEC.tv/blob/master/projects/Rockchip/
patches/linux/default/linux-2001-v4l-wip-rkvdec-hevc.patch
fluster HEVC test score is reportedly 121/135 (8-bit tests only).

Hi Jernej,

Thanks for your feedback, getting a list of missing items in HEVC uAPI
will definitively help to fill the hope.
The patch you mention for rkvdec are already merged in mainline kernel (at
least for uAPI part).
Cedrus needs are about num_entry_point_offsets, offset_len_minus1 and entry_point_offset_minus1[ i ]
in HEVC specifications ?

Regards,
Benjamin


I would certainly wait with moving HEVC uAPI to stable.

Best regards,
Jernej

version 2:
- change DPB field name from rps to flags

Please note that the only purpose of commits 3 and 4 is to allow to test
G2 hardware block for IMX8MQ until a proper solution isuing power domain
can be found. Do not merge them.

GStreamer HEVC plugin merge request can be found here:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079

With those piece of code fluster score is 77/147.

Benjamin

Benjamin Gaignard (4):
media: hevc: Remove RPS named flags
media: hevc: Embedded indexes in RPS
media: hantro: Use syscon instead of 'ctrl' register
arm64: dts: imx8mq: Add node to G2 hardware

.../media/v4l/ext-ctrls-codec.rst | 14 +++---
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 43 +++++++++++++----
drivers/staging/media/hantro/hantro.h | 5 +-
.../staging/media/hantro/hantro_g2_hevc_dec.c | 27 +++--------
drivers/staging/media/hantro/imx8m_vpu_hw.c | 48 ++++++++++++-------
.../staging/media/sunxi/cedrus/cedrus_h265.c | 2 +-
include/media/hevc-ctrls.h | 6 +--
7 files changed, 84 insertions(+), 61 deletions(-)

--
2.30.2