video: driver: Allow HB layer encoding type

- Allow HB layer encoding type
- fix dynamic setting of I Frame QP and Peak Bitrate.

This reverts commit 4ef2b8899d.

Change-Id: I4d63dd424c68d388709684c649ef492ce2489caa
This commit is contained in:
Akshata Sahukar
2021-03-30 10:49:16 -07:00
committed by Gerrit - the friendly Code Review server
parent 4a6b6797e5
commit 925c0b1a58
3 changed files with 17 additions and 3 deletions

View File

@@ -670,10 +670,10 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
HFI_PROP_QP_PACKED,
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
/* TODO: Allow only HP until fw fatal error for HB type is resolved */
{LAYER_TYPE, ENC, HEVC,
V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B,
V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B) |
BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P),
V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE,
@@ -681,8 +681,9 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
{LAYER_TYPE, ENC, H264,
V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B,
V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B) |
BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P),
V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE,

View File

@@ -1389,6 +1389,10 @@ int msm_vidc_adjust_hevc_min_qp(void *instance, struct v4l2_ctrl *ctrl)
}
capability = inst->capabilities;
if (ctrl)
msm_vidc_update_cap_value(inst, MIN_FRAME_QP,
ctrl->val, __func__);
rc = msm_vidc_adjust_hevc_qp(inst, MIN_FRAME_QP);
return rc;
@@ -1406,6 +1410,10 @@ int msm_vidc_adjust_hevc_max_qp(void *instance, struct v4l2_ctrl *ctrl)
}
capability = inst->capabilities;
if (ctrl)
msm_vidc_update_cap_value(inst, MAX_FRAME_QP,
ctrl->val, __func__);
rc = msm_vidc_adjust_hevc_qp(inst, MAX_FRAME_QP);
return rc;
@@ -1423,6 +1431,10 @@ int msm_vidc_adjust_hevc_frame_qp(void *instance, struct v4l2_ctrl *ctrl)
}
capability = inst->capabilities;
if (ctrl)
msm_vidc_update_cap_value(inst, I_FRAME_QP,
ctrl->val, __func__);
rc = msm_vidc_adjust_hevc_qp(inst, I_FRAME_QP);
return rc;

View File

@@ -1097,6 +1097,7 @@ bool msm_vidc_allow_s_ctrl(struct msm_vidc_inst *inst, u32 id)
case V4L2_CID_MPEG_VIDC_VIDEO_BLUR_RESOLUTION:
case V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY:
case V4L2_CID_MPEG_VIDC_ENC_INPUT_COMPRESSION_RATIO:
case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK:
allow = true;
break;
default: