From f1a32f5a866b9cb4c2ca972a35b10c6310afbe46 Mon Sep 17 00:00:00 2001 From: Dikshita Agarwal Date: Tue, 2 Aug 2022 12:11:08 +0530 Subject: [PATCH] video: driver: define slice delivery as boolean control. Make slice delivery a boolean control instead of menu. Change-Id: Iedf8e0df882d61e82661c7f557473d3f7b49215a Signed-off-by: Dikshita Agarwal --- driver/platform/kalama/src/msm_vidc_kalama.c | 16 ++------ .../variant/iris3/src/msm_vidc_buffer_iris3.c | 5 +-- driver/vidc/inc/msm_vidc_driver.h | 7 +--- driver/vidc/src/msm_vidc_control.c | 37 ------------------- 4 files changed, 6 insertions(+), 59 deletions(-) diff --git a/driver/platform/kalama/src/msm_vidc_kalama.c b/driver/platform/kalama/src/msm_vidc_kalama.c index 6a7367b61b..a83799f538 100644 --- a/driver/platform/kalama/src/msm_vidc_kalama.c +++ b/driver/platform/kalama/src/msm_vidc_kalama.c @@ -1927,24 +1927,16 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { CAP_FLAG_BITMASK}, {DELIVERY_MODE, ENC, HEVC, - V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED, - V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED, - BIT(V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED) | - BIT(V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED), - V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED, + 0, 1, 1, 0, V4L2_CID_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE, HFI_PROP_ENABLE_SLICE_DELIVERY, - CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU}, + CAP_FLAG_OUTPUT_PORT}, {DELIVERY_MODE, ENC, H264, - V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED, - V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED, - BIT(V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED) | - BIT(V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED), - V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED, + 0, 1, 1, 0, V4L2_CID_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE, HFI_PROP_ENABLE_SLICE_DELIVERY, - CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU}, + CAP_FLAG_OUTPUT_PORT}, }; static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_kalama[] = { diff --git a/driver/variant/iris3/src/msm_vidc_buffer_iris3.c b/driver/variant/iris3/src/msm_vidc_buffer_iris3.c index 3b69307113..87967eec4e 100644 --- a/driver/variant/iris3/src/msm_vidc_buffer_iris3.c +++ b/driver/variant/iris3/src/msm_vidc_buffer_iris3.c @@ -732,10 +732,7 @@ static int msm_buffer_delivery_mode_based_min_count_iris3(struct msm_vidc_inst * delivery_mode = inst->capabilities->cap[DELIVERY_MODE].value; if (slice_mode != V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB || - (inst->codec == MSM_VIDC_H264 && - delivery_mode != V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED) || - (inst->codec == MSM_VIDC_HEVC && - delivery_mode != V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED)) + (!delivery_mode)) return count; f = &inst->fmts[OUTPUT_PORT]; diff --git a/driver/vidc/inc/msm_vidc_driver.h b/driver/vidc/inc/msm_vidc_driver.h index 630f1e4c98..3f50d2d67b 100644 --- a/driver/vidc/inc/msm_vidc_driver.h +++ b/driver/vidc/inc/msm_vidc_driver.h @@ -344,12 +344,7 @@ static inline bool is_enc_slice_delivery_mode(struct msm_vidc_inst *inst) return (inst->capabilities->cap[SLICE_MODE].value == V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB && - ((inst->codec == MSM_VIDC_H264 && - inst->capabilities->cap[DELIVERY_MODE].value == - V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED) || - (inst->codec == MSM_VIDC_HEVC && - inst->capabilities->cap[DELIVERY_MODE].value == - V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED))); + inst->capabilities->cap[DELIVERY_MODE].value); } static inline bool is_state(struct msm_vidc_inst *inst, enum msm_vidc_state state) diff --git a/driver/vidc/src/msm_vidc_control.c b/driver/vidc/src/msm_vidc_control.c index f6e18497bf..8fbe89977d 100644 --- a/driver/vidc/src/msm_vidc_control.c +++ b/driver/vidc/src/msm_vidc_control.c @@ -152,12 +152,6 @@ static const char *const mpeg_video_vidc_ir_type[] = { NULL, }; -static const char *const mpeg_vidc_delivery_modes[] = { - "Frame Based Delivery Mode", - "Slice Based Delivery Mode", - NULL, -}; - u32 msm_vidc_get_port_info(struct msm_vidc_inst *inst, enum msm_vidc_inst_capability_type cap_id) { @@ -201,10 +195,6 @@ static const char * const * msm_vidc_get_qmenu_type( return av1_tier; case V4L2_CID_MPEG_VIDEO_VIDC_INTRA_REFRESH_TYPE: return mpeg_video_vidc_ir_type; - case V4L2_CID_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE: - return mpeg_vidc_delivery_modes; - case V4L2_CID_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE: - return mpeg_vidc_delivery_modes; default: i_vpr_e(inst, "%s: No available qmenu for ctrl %#x\n", __func__, control_id); @@ -4301,33 +4291,6 @@ int msm_vidc_v4l2_menu_to_hfi(struct msm_vidc_inst *inst, goto set_default; } return 0; - case DELIVERY_MODE: - if (inst->codec == MSM_VIDC_H264) { - switch (capability->cap[cap_id].value) { - case V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED: - *value = 0; - break; - case V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED: - *value = 1; - break; - default: - *value = 0; - goto set_default; - } - } else if (inst->codec == MSM_VIDC_HEVC) { - switch (capability->cap[cap_id].value) { - case V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED: - *value = 0; - break; - case V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED: - *value = 1; - break; - default: - *value = 0; - goto set_default; - } - } - return 0; default: i_vpr_e(inst, "%s: mapping not specified for ctrl_id: %#x\n",