video: driver: add vui timing info control
Add vui timing info control with default value as disabled in driver. Change-Id: Ibaa45303fe389a0120d487fe3b6ff336e721f359 Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
Tento commit je obsažen v:

odevzdal
Darshana Patil

rodič
267e11c2a4
revize
2e52eecb78
@@ -400,6 +400,14 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = {
|
||||
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
||||
V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR},
|
||||
|
||||
{VUI_TIMING_INFO, ENC, CODECS_ALL,
|
||||
V4L2_MPEG_MSM_VIDC_DISABLE,
|
||||
V4L2_MPEG_MSM_VIDC_ENABLE,
|
||||
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
||||
V4L2_CID_MPEG_VIDC_VUI_TIMING_INFO,
|
||||
HFI_PROP_DISABLE_VUI_TIMING_INFO,
|
||||
CAP_FLAG_OUTPUT_PORT},
|
||||
|
||||
{WITHOUT_STARTCODE, ENC, CODECS_ALL,
|
||||
V4L2_MPEG_MSM_VIDC_DISABLE,
|
||||
V4L2_MPEG_MSM_VIDC_ENABLE,
|
||||
@@ -2415,6 +2423,12 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_kala
|
||||
{SLICE_MODE}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT},
|
||||
msm_vidc_adjust_delivery_mode,
|
||||
msm_vidc_set_u32},
|
||||
|
||||
{VUI_TIMING_INFO, ENC, CODECS_ALL,
|
||||
{0},
|
||||
{0},
|
||||
NULL,
|
||||
msm_vidc_set_vui_timing_info},
|
||||
};
|
||||
|
||||
/* Default UBWC config for LPDDR5 */
|
||||
|
@@ -567,6 +567,8 @@ enum hfi_saliency_type {
|
||||
|
||||
#define HFI_PROP_COMV_BUFFER_COUNT 0x03000193
|
||||
|
||||
#define HFI_PROP_DISABLE_VUI_TIMING_INFO 0x03000194
|
||||
|
||||
#define HFI_PROP_END 0x03FFFFFF
|
||||
|
||||
#define HFI_SESSION_ERROR_BEGIN 0x04000000
|
||||
|
@@ -137,5 +137,7 @@ int msm_vidc_get_parent_value(struct msm_vidc_inst* inst, u32 cap, u32 parent,
|
||||
s32 *value, const char *func);
|
||||
u32 msm_vidc_get_port_info(struct msm_vidc_inst *inst,
|
||||
enum msm_vidc_inst_capability_type cap_id);
|
||||
int msm_vidc_set_vui_timing_info(void *instance,
|
||||
enum msm_vidc_inst_capability_type cap_id);
|
||||
|
||||
#endif
|
||||
|
@@ -538,6 +538,7 @@ enum msm_vidc_inst_capability_type {
|
||||
INPUT_BUF_HOST_MAX_COUNT,
|
||||
OUTPUT_BUF_HOST_MAX_COUNT,
|
||||
DELIVERY_MODE,
|
||||
VUI_TIMING_INFO,
|
||||
/* place all leaf(no child) enums before this line */
|
||||
INST_CAP_MAX,
|
||||
};
|
||||
|
@@ -4511,3 +4511,33 @@ int msm_vidc_set_pipe(void *instance,
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int msm_vidc_set_vui_timing_info(void *instance,
|
||||
enum msm_vidc_inst_capability_type cap_id)
|
||||
{
|
||||
int rc = 0;
|
||||
struct msm_vidc_inst *inst = (struct msm_vidc_inst *)instance;
|
||||
u32 hfi_value;
|
||||
|
||||
if (!inst || !inst->capabilities) {
|
||||
d_vpr_e("%s: invalid params\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* hfi is HFI_PROP_DISABLE_VUI_TIMING_INFO and v4l2 cap is
|
||||
* V4L2_CID_MPEG_VIDC_VUI_TIMING_INFO and hence reverse
|
||||
* the hfi_value from cap_id value.
|
||||
*/
|
||||
if (inst->capabilities->cap[cap_id].value == V4L2_MPEG_MSM_VIDC_ENABLE)
|
||||
hfi_value = 0;
|
||||
else
|
||||
hfi_value = 1;
|
||||
|
||||
rc = msm_vidc_packetize_control(inst, cap_id, HFI_PAYLOAD_U32,
|
||||
&hfi_value, sizeof(u32), __func__);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@@ -228,6 +228,7 @@ static const struct msm_vidc_cap_name cap_name_arr[] = {
|
||||
{INPUT_BUF_HOST_MAX_COUNT, "INPUT_BUF_HOST_MAX_COUNT" },
|
||||
{OUTPUT_BUF_HOST_MAX_COUNT, "OUTPUT_BUF_HOST_MAX_COUNT" },
|
||||
{DELIVERY_MODE, "DELIVERY_MODE" },
|
||||
{VUI_TIMING_INFO, "VUI_TIMING_INFO" },
|
||||
{INST_CAP_MAX, "INST_CAP_MAX" },
|
||||
};
|
||||
|
||||
|
@@ -271,6 +271,9 @@ enum v4l2_h264_encode_delivery_mode {
|
||||
#define V4L2_CID_MPEG_VIDC_LAST_FLAG_EVENT_ENABLE \
|
||||
(V4L2_CID_MPEG_VIDC_BASE + 0x42)
|
||||
|
||||
#define V4L2_CID_MPEG_VIDC_VUI_TIMING_INFO \
|
||||
(V4L2_CID_MPEG_VIDC_BASE + 0x43)
|
||||
|
||||
/* add new controls above this line */
|
||||
/* Deprecate below controls once availble in gki and gsi bionic header */
|
||||
#ifndef V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele