Re: [PATCH v1 2/9] media: verisilicon: Add AV1 decoder mode and controls

From: Nicolas Dufresne
Date: Mon Dec 19 2022 - 15:29:46 EST


Le lundi 19 décembre 2022 à 16:56 +0100, Benjamin Gaignard a écrit :
> Add AV1 decoder as new decoder mode to Hantro driver.
> Register needed AV1 controls for the decoder.
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx>

Reviewed-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>

> ---
> drivers/media/platform/verisilicon/hantro.h | 3 +++
> .../media/platform/verisilicon/hantro_drv.c | 21 +++++++++++++++++++
> 2 files changed, 24 insertions(+)
>
> diff --git a/drivers/media/platform/verisilicon/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> index 2989ebc631cc..61480825b856 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -38,6 +38,7 @@ struct hantro_postproc_ops;
> #define HANTRO_H264_DECODER BIT(18)
> #define HANTRO_HEVC_DECODER BIT(19)
> #define HANTRO_VP9_DECODER BIT(20)
> +#define HANTRO_AV1_DECODER BIT(21)
> #define HANTRO_DECODERS 0xffff0000
>
> /**
> @@ -111,6 +112,7 @@ struct hantro_variant {
> * @HANTRO_MODE_VP8_DEC: VP8 decoder.
> * @HANTRO_MODE_HEVC_DEC: HEVC decoder.
> * @HANTRO_MODE_VP9_DEC: VP9 decoder.
> + * @HANTRO_MODE_AV1_DEC: AV1 decoder
> */
> enum hantro_codec_mode {
> HANTRO_MODE_NONE = -1,
> @@ -120,6 +122,7 @@ enum hantro_codec_mode {
> HANTRO_MODE_VP8_DEC,
> HANTRO_MODE_HEVC_DEC,
> HANTRO_MODE_VP9_DEC,
> + HANTRO_MODE_AV1_DEC,
> };
>
> /*
> diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
> index 8cb4a68c9119..4500e1fc0f2c 100644
> --- a/drivers/media/platform/verisilicon/hantro_drv.c
> +++ b/drivers/media/platform/verisilicon/hantro_drv.c
> @@ -498,6 +498,27 @@ static const struct hantro_ctrl controls[] = {
> .cfg = {
> .id = V4L2_CID_STATELESS_VP9_COMPRESSED_HDR,
> },
> + }, {
> + .codec = HANTRO_AV1_DECODER,
> + .cfg = {
> + .id = V4L2_CID_STATELESS_AV1_FRAME,
> + },
> + }, {
> + .codec = HANTRO_AV1_DECODER,
> + .cfg = {
> + .id = V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY,
> + .dims = { V4L2_AV1_MAX_TILE_COUNT },
> + },
> + }, {
> + .codec = HANTRO_AV1_DECODER,
> + .cfg = {
> + .id = V4L2_CID_STATELESS_AV1_SEQUENCE,
> + },
> + }, {
> + .codec = HANTRO_AV1_DECODER,
> + .cfg = {
> + .id = V4L2_CID_STATELESS_AV1_FILM_GRAIN,
> + },
> },
> };
>