video: driver: fix for codec config control

fix for codec config control setting.

Change-Id: I5fc65cdd99a9346323d2b61de3ef6024b33ca7f2
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
This commit is contained in:
Darshana Patil
2021-01-13 12:25:01 -08:00
parent 8a0a8ef938
commit 689fd02b04

View File

@@ -534,32 +534,49 @@ bool msm_vidc_allow_s_ctrl(struct msm_vidc_inst *inst, u32 id)
allow = true;
goto exit;
}
if (inst->state == MSM_VIDC_START || inst->state == MSM_VIDC_START_OUTPUT) {
switch (id) {
case V4L2_CID_MPEG_VIDEO_BITRATE:
case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME:
case V4L2_CID_HFLIP:
case V4L2_CID_VFLIP:
case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR:
case V4L2_CID_MPEG_VIDC_BASELAYER_PRIORITY:
case V4L2_CID_MPEG_VIDC_USELTRFRAME:
case V4L2_CID_MPEG_VIDC_MARKLTRFRAME:
case V4L2_CID_MPEG_VIDC_VIDEO_BLUR_TYPES:
case V4L2_CID_MPEG_VIDC_VIDEO_BLUR_RESOLUTION:
if (is_decode_session(inst)) {
if (!inst->vb2q[INPUT_PORT].streaming) {
allow = true;
break;
default:
allow = false;
break;
goto exit;
}
if (inst->vb2q[INPUT_PORT].streaming) {
switch (id) {
case V4L2_CID_MPEG_VIDC_CODEC_CONFIG:
allow = true;
break;
default:
allow = false;
break;
}
}
} else if (is_encode_session(inst)) {
if (inst->state == MSM_VIDC_START || inst->state == MSM_VIDC_START_OUTPUT) {
switch (id) {
case V4L2_CID_MPEG_VIDEO_BITRATE:
case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME:
case V4L2_CID_HFLIP:
case V4L2_CID_VFLIP:
case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR:
case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR:
case V4L2_CID_MPEG_VIDC_BASELAYER_PRIORITY:
case V4L2_CID_MPEG_VIDC_USELTRFRAME:
case V4L2_CID_MPEG_VIDC_MARKLTRFRAME:
case V4L2_CID_MPEG_VIDC_VIDEO_BLUR_TYPES:
case V4L2_CID_MPEG_VIDC_VIDEO_BLUR_RESOLUTION:
allow = true;
break;
default:
allow = false;
break;
}
}
}