Commit 53421e73 authored by Benjamin Gaignard's avatar Benjamin Gaignard Committed by Mauro Carvalho Chehab
Browse files

media: verisilicon: Add AV1 decoder mode and controls



Add AV1 decoder as new decoder mode to Hantro driver.
Register needed AV1 controls for the decoder.

Signed-off-by: default avatarBenjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: default avatarNicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent aa1e34c8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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,
};

/*
+21 −0
Original line number Diff line number Diff line
@@ -525,6 +525,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,
		},
	},
};