video: driver: Enable low latency mode for CBR rc type

Enable low latency mode for CBR rc type.

Change-Id: I80230e5d2acab94820b1401ffa6e6fe372398397
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
这个提交包含在:
Akshata Sahukar
2021-05-26 12:48:26 -07:00
提交者 Gerrit - the friendly Code Review server
父节点 b35579ad54
当前提交 6e9150c232
修改 4 个文件,包含 54 行新增7 行删除

查看文件

@@ -1863,6 +1863,36 @@ int msm_vidc_adjust_blur_resolution(void *instance, struct v4l2_ctrl *ctrl)
return 0;
}
int msm_vidc_adjust_lowlatency_mode(void *instance, struct v4l2_ctrl *ctrl)
{
struct msm_vidc_inst_capability *capability;
s32 adjusted_value;
struct msm_vidc_inst *inst = (struct msm_vidc_inst *) instance;
s32 rc_type = -1;
if (!inst || !inst->capabilities) {
d_vpr_e("%s: invalid params\n", __func__);
return -EINVAL;
}
capability = inst->capabilities;
adjusted_value = ctrl ? ctrl->val :
capability->cap[LOWLATENCY_MODE].value;
if (msm_vidc_get_parent_value(inst, LOWLATENCY_MODE, BITRATE_MODE,
&rc_type, __func__))
return -EINVAL;
if (rc_type == HFI_RC_CBR_CFR ||
rc_type == HFI_RC_CBR_VFR)
adjusted_value = 1;
msm_vidc_update_cap_value(inst, LOWLATENCY_MODE,
adjusted_value, __func__);
return 0;
}
int msm_vidc_adjust_session_priority(void *instance, struct v4l2_ctrl *ctrl)
{
int rc = 0;