video: driver: encoder delay start: CSC

Introduce a control for client to enable or disable
csc. Disable csc for 10-bit encoding based on color format.

Change-Id: Ia49324332ce9b05b6f1a1283fa758638a8cc3ab8
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
This commit is contained in:
Darshana Patil
2023-02-06 16:39:55 -08:00
committed by Gerrit - the friendly Code Review server
parent 5dcf0adb92
commit 552670ad6b
6 changed files with 45 additions and 21 deletions

View File

@@ -386,19 +386,6 @@ static int msm_venc_set_colorspace(struct msm_vidc_inst* inst,
return 0;
}
static bool msm_venc_csc_required(struct msm_vidc_inst* inst)
{
struct v4l2_format *in_fmt = &inst->fmts[INPUT_PORT];
struct v4l2_format *out_fmt = &inst->fmts[OUTPUT_PORT];
/* video hardware supports conversion to REC709 CSC only */
if (in_fmt->fmt.pix_mp.colorspace != out_fmt->fmt.pix_mp.colorspace &&
out_fmt->fmt.pix_mp.colorspace == V4L2_COLORSPACE_REC709)
return true;
return false;
}
static int msm_venc_set_csc(struct msm_vidc_inst* inst,
enum msm_vidc_port_type port)
{
@@ -410,9 +397,6 @@ static int msm_venc_set_csc(struct msm_vidc_inst* inst,
return -EINVAL;
}
msm_vidc_update_cap_value(inst, CSC,
msm_venc_csc_required(inst) ? 1 : 0, __func__);
csc = inst->capabilities->cap[CSC].value;
i_vpr_h(inst, "%s: csc: %u\n", __func__, csc);
rc = venus_hfi_session_property(inst,