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, > + }, > }, > }; >