Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46e20952 authored by Akshata Sahukar's avatar Akshata Sahukar
Browse files

msm: vidc: Update Kona Profile Level Capabilities



Update HEVC Enc/Dec, AVC Enc/Dec  and VP9 Dec profile level
capabilities to allign with PRD specifications.

Change-Id: If192dc7c5b7ca3bb3eaa2ab17b586f13e85b1c3f
Signed-off-by: default avatarAkshata Sahukar <asahukar@codeaurora.org>
parent 94307ac3
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1455,7 +1455,17 @@ static void msm_vidc_comm_update_ctrl_limits(struct msm_vidc_inst *inst)
		msm_vidc_comm_update_ctrl(inst,
				V4L2_CID_MPEG_VIDEO_B_FRAMES,
				&inst->capability.cap[CAP_BFRAME]);
	} else if (inst->session_type == MSM_VIDC_DECODER) {
		msm_vidc_comm_update_ctrl(inst,
			V4L2_CID_MPEG_VIDC_VIDEO_VP9_LEVEL,
			&inst->capability.cap[CAP_VP9_LEVEL]);
	}
	msm_vidc_comm_update_ctrl(inst,
			V4L2_CID_MPEG_VIDEO_H264_LEVEL,
			&inst->capability.cap[CAP_H264_LEVEL]);
	msm_vidc_comm_update_ctrl(inst,
			V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
			&inst->capability.cap[CAP_HEVC_LEVEL]);
}

static void handle_session_init_done(enum hal_command_response cmd, void *data)
+57 −0
Original line number Diff line number Diff line
@@ -247,6 +247,25 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = {
	{CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512},
	{CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 1, 8192},
	{CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 1, 8192},

	/* Level for AVC and HEVC encoder specific */
	{CAP_H264_LEVEL, ENC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_0, 1,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_0},
	{CAP_HEVC_LEVEL, ENC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6, 1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6},

	/* Level for AVC, HEVC and VP9 decoder specific */
	{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_1, 1,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_5_0},
	{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1, 1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_5},
	{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
	                            V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_6, 1,
	                            V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_6},
};

static struct msm_vidc_codec_capability lito_capabilities_v1[] = {
@@ -321,6 +340,25 @@ static struct msm_vidc_codec_capability lito_capabilities_v1[] = {
	{CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512},
	{CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 1, 8192},
	{CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 1, 8192},

	/* Level for AVC and HEVC encoder specific */
	{CAP_H264_LEVEL, ENC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_0, 1,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_0},
	{CAP_HEVC_LEVEL, ENC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6, 1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6},

	/* Level for AVC, HEVC and VP9 decoder specific */
	{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_1, 1,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_5_0},
	{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1, 1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_5},
	{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
	                            V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_6, 1,
	                            V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_6},
};

static struct msm_vidc_codec_capability bengal_capabilities[] = {
@@ -436,6 +474,25 @@ static struct msm_vidc_codec_capability kona_capabilities[] = {
	{CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512},
	{CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 16384, 1, 16384},
	{CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 16384, 1, 16384},

	/* Level for AVC and HEVC encoder specific */
	{CAP_H264_LEVEL, ENC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_0, 1,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_0},
	{CAP_HEVC_LEVEL, ENC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6, 1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6},

	/* Level for AVC, HEVC and VP9 decoder specific */
	{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_6_1, 1,
	                            V4L2_MPEG_VIDEO_H264_LEVEL_5_0},
	{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1, 1,
	                            V4L2_MPEG_VIDEO_HEVC_LEVEL_5},
	{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
	                            V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_6, 1,
	                            V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_6},
};

/*
+3 −0
Original line number Diff line number Diff line
@@ -286,6 +286,9 @@ enum hal_capability {
	CAP_HEVC_IMAGE_FRAME_HEIGHT,
	CAP_HEIC_IMAGE_FRAME_WIDTH,
	CAP_HEIC_IMAGE_FRAME_HEIGHT,
	CAP_H264_LEVEL,
	CAP_HEVC_LEVEL,
	CAP_VP9_LEVEL,
	CAP_MAX,
};