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>
This commit is contained in:

committed by
Darshana Patil

parent
267e11c2a4
commit
2e52eecb78
@@ -400,6 +400,14 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = {
|
|||||||
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
||||||
V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR},
|
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,
|
{WITHOUT_STARTCODE, ENC, CODECS_ALL,
|
||||||
V4L2_MPEG_MSM_VIDC_DISABLE,
|
V4L2_MPEG_MSM_VIDC_DISABLE,
|
||||||
V4L2_MPEG_MSM_VIDC_ENABLE,
|
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},
|
{SLICE_MODE}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT},
|
||||||
msm_vidc_adjust_delivery_mode,
|
msm_vidc_adjust_delivery_mode,
|
||||||
msm_vidc_set_u32},
|
msm_vidc_set_u32},
|
||||||
|
|
||||||
|
{VUI_TIMING_INFO, ENC, CODECS_ALL,
|
||||||
|
{0},
|
||||||
|
{0},
|
||||||
|
NULL,
|
||||||
|
msm_vidc_set_vui_timing_info},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Default UBWC config for LPDDR5 */
|
/* Default UBWC config for LPDDR5 */
|
||||||
|
@@ -567,6 +567,8 @@ enum hfi_saliency_type {
|
|||||||
|
|
||||||
#define HFI_PROP_COMV_BUFFER_COUNT 0x03000193
|
#define HFI_PROP_COMV_BUFFER_COUNT 0x03000193
|
||||||
|
|
||||||
|
#define HFI_PROP_DISABLE_VUI_TIMING_INFO 0x03000194
|
||||||
|
|
||||||
#define HFI_PROP_END 0x03FFFFFF
|
#define HFI_PROP_END 0x03FFFFFF
|
||||||
|
|
||||||
#define HFI_SESSION_ERROR_BEGIN 0x04000000
|
#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);
|
s32 *value, const char *func);
|
||||||
u32 msm_vidc_get_port_info(struct msm_vidc_inst *inst,
|
u32 msm_vidc_get_port_info(struct msm_vidc_inst *inst,
|
||||||
enum msm_vidc_inst_capability_type cap_id);
|
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
|
#endif
|
||||||
|
@@ -538,6 +538,7 @@ enum msm_vidc_inst_capability_type {
|
|||||||
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,
|
||||||
/* place all leaf(no child) enums before this line */
|
/* place all leaf(no child) enums before this line */
|
||||||
INST_CAP_MAX,
|
INST_CAP_MAX,
|
||||||
};
|
};
|
||||||
|
@@ -4511,3 +4511,33 @@ int msm_vidc_set_pipe(void *instance,
|
|||||||
|
|
||||||
return rc;
|
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" },
|
{INPUT_BUF_HOST_MAX_COUNT, "INPUT_BUF_HOST_MAX_COUNT" },
|
||||||
{OUTPUT_BUF_HOST_MAX_COUNT, "OUTPUT_BUF_HOST_MAX_COUNT" },
|
{OUTPUT_BUF_HOST_MAX_COUNT, "OUTPUT_BUF_HOST_MAX_COUNT" },
|
||||||
{DELIVERY_MODE, "DELIVERY_MODE" },
|
{DELIVERY_MODE, "DELIVERY_MODE" },
|
||||||
|
{VUI_TIMING_INFO, "VUI_TIMING_INFO" },
|
||||||
{INST_CAP_MAX, "INST_CAP_MAX" },
|
{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 \
|
#define V4L2_CID_MPEG_VIDC_LAST_FLAG_EVENT_ENABLE \
|
||||||
(V4L2_CID_MPEG_VIDC_BASE + 0x42)
|
(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 */
|
/* add new controls above this line */
|
||||||
/* Deprecate below controls once availble in gki and gsi bionic header */
|
/* Deprecate below controls once availble in gki and gsi bionic header */
|
||||||
#ifndef V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID
|
#ifndef V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID
|
||||||
|
Reference in New Issue
Block a user