Merge "video: driver: fix alignment and blank line warning"

This commit is contained in:
qctecmdr
2023-08-03 15:08:36 -07:00
committed by Gerrit - the friendly Code Review server
5 changed files with 353 additions and 430 deletions

View File

@@ -161,10 +161,8 @@ struct msm_platform_inst_cap_dependency {
enum msm_vidc_domain_type domain;
enum msm_vidc_codec_type codec;
enum msm_vidc_inst_capability_type children[MAX_CAP_CHILDREN];
int (*adjust)(void *inst,
struct v4l2_ctrl *ctrl);
int (*set)(void *inst,
enum msm_vidc_inst_capability_type cap_id);
int (*adjust)(void *inst, struct v4l2_ctrl *ctrl);
int (*set)(void *inst, enum msm_vidc_inst_capability_type cap_id);
};
struct msm_vidc_compat_handle {
@@ -282,12 +280,11 @@ int msm_vidc_init_platform(struct msm_vidc_core *core);
/* control framework support functions */
enum msm_vidc_inst_capability_type msm_vidc_get_cap_id(
struct msm_vidc_inst *inst, u32 id);
enum msm_vidc_inst_capability_type msm_vidc_get_cap_id(struct msm_vidc_inst *inst, u32 id);
int msm_vidc_update_cap_value(struct msm_vidc_inst *inst, u32 cap,
s32 adjusted_val, const char *func);
bool is_parent_available(struct msm_vidc_inst *inst,
u32 cap_id, u32 check_parent, const char *func);
bool is_parent_available(struct msm_vidc_inst *inst, u32 cap_id,
u32 check_parent, const char *func);
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,
@@ -299,7 +296,6 @@ int msm_vidc_v4l2_to_hfi_enum(struct msm_vidc_inst *inst,
int msm_vidc_packetize_control(struct msm_vidc_inst *inst,
enum msm_vidc_inst_capability_type cap_id, u32 payload_type,
void *hfi_val, u32 payload_size, const char *func);
int msm_vidc_adjust_bitrate(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_layer_bitrate(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_bitrate_mode(void *instance, struct v4l2_ctrl *ctrl);
@@ -313,8 +309,7 @@ int msm_vidc_adjust_output_order(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_input_buf_host_max_count(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_output_buf_host_max_count(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_transform_8x8(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_chroma_qp_index_offset(void *instance,
struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_chroma_qp_index_offset(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_slice_count(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_layer_count(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_gop_size(void *instance, struct v4l2_ctrl *ctrl);
@@ -336,8 +331,7 @@ int msm_vidc_adjust_session_priority(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_roi_info(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_all_intra(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_dec_outbuf_fence_type(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_dec_outbuf_fence_direction(void *instance,
struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_dec_outbuf_fence_direction(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_dec_slice_mode(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_preprocess(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_eva_stats(void *instance, struct v4l2_ctrl *ctrl);
@@ -345,74 +339,39 @@ int msm_vidc_adjust_sei_mastering_disp(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_sei_cll(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_hdr10plus(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_adjust_transcoding_stats(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_set_header_mode(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_deblock_mode(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_min_qp(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_max_qp(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_frame_qp(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_req_sync_frame(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_chroma_qp_index_offset(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_slice_count(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_layer_count_and_type(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_gop_size(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_bitrate(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_layer_bitrate(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_u32(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_u32_packed(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_u32_enum(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_constant_quality(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_vbr_related_properties(
void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_cbr_related_properties(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_use_and_mark_ltr(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_nal_length(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_session_priority(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_flip(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_rotation(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_blur_resolution(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_stage(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_pipe(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_csc_custom_matrix(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_level(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_preprocess(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_reserve_duration(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_q16(void *instance,
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);
int msm_vidc_set_outbuf_fence_type(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_outbuf_fence_direction(void *instance,
enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_header_mode(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_deblock_mode(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_min_qp(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_max_qp(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_frame_qp(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_req_sync_frame(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_chroma_qp_index_offset(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_slice_count(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_layer_count_and_type(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_gop_size(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_bitrate(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_layer_bitrate(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_u32(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_u32_packed(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_u32_enum(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_constant_quality(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_vbr_related_properties(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_cbr_related_properties(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_use_and_mark_ltr(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_nal_length(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_session_priority(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_flip(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_rotation(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_blur_resolution(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_stage(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_pipe(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_csc_custom_matrix(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_level(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_preprocess(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_reserve_duration(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_q16(void *instance, 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);
int msm_vidc_set_outbuf_fence_type(void *instance, enum msm_vidc_inst_capability_type cap_id);
int msm_vidc_set_outbuf_fence_direction(void *instance, enum msm_vidc_inst_capability_type cap_id);
#endif // _MSM_VIDC_PLATFORM_H_

View File

@@ -42,6 +42,7 @@ enum v4l2_mpeg_vidc_blur_types {
VIDC_BLUR_EXTERNAL = 0x1,
VIDC_BLUR_ADAPTIVE = 0x2,
};
/* (blur width) << 16 | (blur height) */
#define V4L2_CID_MPEG_VIDC_VIDEO_BLUR_RESOLUTION \
(V4L2_CID_MPEG_VIDC_BASE + 0x11)
@@ -163,6 +164,7 @@ enum v4l2_mpeg_vidc_av1_tier {
V4L2_MPEG_VIDC_AV1_TIER_MAIN = 0,
V4L2_MPEG_VIDC_AV1_TIER_HIGH = 1,
};
/* Decoder Timestamp Reorder control */
#define V4L2_CID_MPEG_VIDC_TS_REORDER (V4L2_CID_MPEG_VIDC_BASE + 0x34)
/* AV1 Decoder Film Grain */

View File

@@ -363,8 +363,7 @@ int msm_vidc_init_platform(struct msm_vidc_core *core)
/****************** control framework utility functions **********************/
enum msm_vidc_inst_capability_type msm_vidc_get_cap_id(
struct msm_vidc_inst *inst, u32 id)
enum msm_vidc_inst_capability_type msm_vidc_get_cap_id(struct msm_vidc_inst *inst, u32 id)
{
enum msm_vidc_inst_capability_type i = INST_CAP_NONE + 1;
@@ -687,16 +686,14 @@ int msm_vidc_adjust_entropy_mode(void *instance, struct v4l2_ctrl *ctrl)
return 0;
}
if (msm_vidc_get_parent_value(inst, ENTROPY_MODE,
PROFILE, &profile, __func__))
if (msm_vidc_get_parent_value(inst, ENTROPY_MODE, PROFILE, &profile, __func__))
return -EINVAL;
if (profile == V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE ||
profile == V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE)
adjusted_value = V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC;
msm_vidc_update_cap_value(inst, ENTROPY_MODE,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, ENTROPY_MODE, adjusted_value, __func__);
return 0;
}
@@ -712,8 +709,8 @@ int msm_vidc_adjust_bitrate_mode(void *instance, struct v4l2_ctrl *ctrl)
frame_rc = inst->capabilities[FRAME_RC_ENABLE].value;
frame_skip = inst->capabilities[FRAME_SKIP_MODE].value;
if (lossless || (msm_vidc_lossless_encode &&
inst->codec == MSM_VIDC_HEVC)) {
if (lossless ||
(msm_vidc_lossless_encode && inst->codec == MSM_VIDC_HEVC)) {
hfi_value = HFI_RC_LOSSLESS;
goto update;
}
@@ -772,8 +769,7 @@ int msm_vidc_adjust_profile(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN;
}
msm_vidc_update_cap_value(inst, PROFILE,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, PROFILE, adjusted_value, __func__);
return 0;
}
@@ -881,8 +877,7 @@ int msm_vidc_adjust_use_ltr(void *instance, struct v4l2_ctrl *ctrl)
}
/* USE_LTR value is a bitmask value */
msm_vidc_update_cap_value(inst, USE_LTR,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, USE_LTR, adjusted_value, __func__);
return 0;
}
@@ -912,8 +907,7 @@ int msm_vidc_adjust_mark_ltr(void *instance, struct v4l2_ctrl *ctrl)
return 0;
}
msm_vidc_update_cap_value(inst, MARK_LTR,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, MARK_LTR, adjusted_value, __func__);
return 0;
}
@@ -927,16 +921,13 @@ int msm_vidc_adjust_delta_based_rc(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = ctrl ? ctrl->val :
inst->capabilities[TIME_DELTA_BASED_RC].value;
if (msm_vidc_get_parent_value(inst, TIME_DELTA_BASED_RC,
BITRATE_MODE, &rc_type, __func__))
if (msm_vidc_get_parent_value(inst, TIME_DELTA_BASED_RC, BITRATE_MODE, &rc_type, __func__))
return -EINVAL;
if (rc_type == HFI_RC_OFF ||
rc_type == HFI_RC_CQ)
if (rc_type == HFI_RC_OFF || rc_type == HFI_RC_CQ)
adjusted_value = 0;
msm_vidc_update_cap_value(inst, TIME_DELTA_BASED_RC,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, TIME_DELTA_BASED_RC, adjusted_value, __func__);
return 0;
}
@@ -969,8 +960,7 @@ int msm_vidc_adjust_output_order(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = 1;
}
msm_vidc_update_cap_value(inst, OUTPUT_ORDER,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, OUTPUT_ORDER, adjusted_value, __func__);
return 0;
}
@@ -987,8 +977,7 @@ int msm_vidc_adjust_input_buf_host_max_count(void *instance, struct v4l2_ctrl *c
if (msm_vidc_is_super_buffer(inst) || is_image_session(inst))
adjusted_value = DEFAULT_MAX_HOST_BURST_BUF_COUNT;
msm_vidc_update_cap_value(inst, INPUT_BUF_HOST_MAX_COUNT,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, INPUT_BUF_HOST_MAX_COUNT, adjusted_value, __func__);
return 0;
}
@@ -1006,8 +995,7 @@ int msm_vidc_adjust_output_buf_host_max_count(void *instance, struct v4l2_ctrl *
is_enc_slice_delivery_mode(inst))
adjusted_value = DEFAULT_MAX_HOST_BURST_BUF_COUNT;
msm_vidc_update_cap_value(inst, OUTPUT_BUF_HOST_MAX_COUNT,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, OUTPUT_BUF_HOST_MAX_COUNT, adjusted_value, __func__);
return 0;
}
@@ -1036,14 +1024,12 @@ int msm_vidc_adjust_transform_8x8(void *instance, struct v4l2_ctrl *ctrl)
profile != V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH)
adjusted_value = 0;
msm_vidc_update_cap_value(inst, TRANSFORM_8X8,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, TRANSFORM_8X8, adjusted_value, __func__);
return 0;
}
int msm_vidc_adjust_chroma_qp_index_offset(void *instance,
struct v4l2_ctrl *ctrl)
int msm_vidc_adjust_chroma_qp_index_offset(void *instance, struct v4l2_ctrl *ctrl)
{
s32 adjusted_value;
struct msm_vidc_inst *inst = (struct msm_vidc_inst *)instance;
@@ -1054,8 +1040,7 @@ int msm_vidc_adjust_chroma_qp_index_offset(void *instance,
if (adjusted_value != MIN_CHROMA_QP_OFFSET)
adjusted_value = MAX_CHROMA_QP_OFFSET;
msm_vidc_update_cap_value(inst, CHROMA_QP_INDEX_OFFSET,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, CHROMA_QP_INDEX_OFFSET, adjusted_value, __func__);
return 0;
}
@@ -1131,10 +1116,8 @@ int msm_vidc_adjust_slice_count(void *instance, struct v4l2_ctrl *ctrl)
fps = inst->capabilities[FRAME_RATE].value >> 16;
if (fps > MAX_SLICES_FRAME_RATE ||
(rc_type != HFI_RC_OFF &&
rc_type != HFI_RC_CBR_CFR &&
rc_type != HFI_RC_CBR_VFR &&
rc_type != HFI_RC_VBR_CFR)) {
(rc_type != HFI_RC_OFF && rc_type != HFI_RC_CBR_CFR &&
rc_type != HFI_RC_CBR_VFR && rc_type != HFI_RC_VBR_CFR)) {
adjusted_value = V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE;
update_cap = SLICE_MODE;
i_vpr_h(inst,
@@ -1151,8 +1134,7 @@ int msm_vidc_adjust_slice_count(void *instance, struct v4l2_ctrl *ctrl)
if (all_intra == 1) {
adjusted_value = V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE;
update_cap = SLICE_MODE;
i_vpr_h(inst,
"%s: slice unsupported, all_intra %d\n", __func__, all_intra);
i_vpr_h(inst, "%s: slice unsupported, all_intra %d\n", __func__, all_intra);
goto exit;
}
}
@@ -1217,14 +1199,12 @@ int msm_vidc_adjust_slice_count(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = slice_val;
exit:
msm_vidc_update_cap_value(inst, update_cap,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, update_cap, adjusted_value, __func__);
return 0;
}
static int msm_vidc_adjust_static_layer_count_and_type(struct msm_vidc_inst *inst,
s32 layer_count)
static int msm_vidc_adjust_static_layer_count_and_type(struct msm_vidc_inst *inst, s32 layer_count)
{
bool hb_requested = false;
@@ -1296,8 +1276,7 @@ static int msm_vidc_adjust_static_layer_count_and_type(struct msm_vidc_inst *ins
}
exit:
msm_vidc_update_cap_value(inst, ENH_LAYER_COUNT,
layer_count, __func__);
msm_vidc_update_cap_value(inst, ENH_LAYER_COUNT, layer_count, __func__);
inst->capabilities[ENH_LAYER_COUNT].max = layer_count;
return 0;
}
@@ -1317,8 +1296,7 @@ int msm_vidc_adjust_layer_count(void *instance, struct v4l2_ctrl *ctrl)
return -EINVAL;
if (!inst->bufq[OUTPUT_PORT].vb2q->streaming) {
rc = msm_vidc_adjust_static_layer_count_and_type(inst,
client_layer_count);
rc = msm_vidc_adjust_static_layer_count_and_type(inst, client_layer_count);
if (rc)
goto exit;
} else {
@@ -1480,15 +1458,15 @@ int msm_vidc_adjust_bitrate(void *instance, struct v4l2_ctrl *ctrl)
* and add to FW_LIST to set new values to firmware.
*/
msm_vidc_update_cap_value(inst, cap_id,
(cap_value - decrement_in_value), __func__);
(cap_value - decrement_in_value),
__func__);
}
}
i_vpr_h(inst,
"%s: update BIT_RATE with cumulative bitrate\n",
__func__);
msm_vidc_update_cap_value(inst, BIT_RATE,
cumulative_bitrate, __func__);
msm_vidc_update_cap_value(inst, BIT_RATE, cumulative_bitrate, __func__);
}
return rc;
@@ -1608,7 +1586,6 @@ static int msm_vidc_adjust_hevc_qp(struct msm_vidc_inst *inst,
{
s32 pix_fmt = -1;
if (!(inst->codec == MSM_VIDC_HEVC || inst->codec == MSM_VIDC_HEIC)) {
i_vpr_e(inst,
"%s: incorrect cap[%d] %s entry in database, fix database\n",
@@ -1660,8 +1637,7 @@ int msm_vidc_adjust_hevc_max_qp(void *instance, struct v4l2_ctrl *ctrl)
struct msm_vidc_inst *inst = (struct msm_vidc_inst *)instance;
if (ctrl)
msm_vidc_update_cap_value(inst, MAX_FRAME_QP,
ctrl->val, __func__);
msm_vidc_update_cap_value(inst, MAX_FRAME_QP, ctrl->val, __func__);
rc = msm_vidc_adjust_hevc_qp(inst, MAX_FRAME_QP);
@@ -1675,8 +1651,7 @@ int msm_vidc_adjust_hevc_i_frame_qp(void *instance, struct v4l2_ctrl *ctrl)
struct msm_vidc_inst *inst = (struct msm_vidc_inst *)instance;
if (ctrl)
msm_vidc_update_cap_value(inst, I_FRAME_QP,
ctrl->val, __func__);
msm_vidc_update_cap_value(inst, I_FRAME_QP, ctrl->val, __func__);
rc = msm_vidc_adjust_hevc_qp(inst, I_FRAME_QP);
if (rc)
@@ -1692,8 +1667,7 @@ int msm_vidc_adjust_hevc_p_frame_qp(void *instance, struct v4l2_ctrl *ctrl)
struct msm_vidc_inst *inst = (struct msm_vidc_inst *)instance;
if (ctrl)
msm_vidc_update_cap_value(inst, P_FRAME_QP,
ctrl->val, __func__);
msm_vidc_update_cap_value(inst, P_FRAME_QP, ctrl->val, __func__);
rc = msm_vidc_adjust_hevc_qp(inst, P_FRAME_QP);
if (rc)
@@ -1709,8 +1683,7 @@ int msm_vidc_adjust_hevc_b_frame_qp(void *instance, struct v4l2_ctrl *ctrl)
struct msm_vidc_inst *inst = (struct msm_vidc_inst *)instance;
if (ctrl)
msm_vidc_update_cap_value(inst, B_FRAME_QP,
ctrl->val, __func__);
msm_vidc_update_cap_value(inst, B_FRAME_QP, ctrl->val, __func__);
rc = msm_vidc_adjust_hevc_qp(inst, B_FRAME_QP);
if (rc)
@@ -1770,8 +1743,7 @@ int msm_vidc_adjust_blur_type(void *instance, struct v4l2_ctrl *ctrl)
}
exit:
msm_vidc_update_cap_value(inst, BLUR_TYPES,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, BLUR_TYPES, adjusted_value, __func__);
return 0;
}
@@ -1810,8 +1782,7 @@ int msm_vidc_adjust_all_intra(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = 1;
exit:
msm_vidc_update_cap_value(inst, ALL_INTRA,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, ALL_INTRA, adjusted_value, __func__);
return 0;
}
@@ -1937,8 +1908,7 @@ int msm_vidc_adjust_bitrate_boost(void *instance, struct v4l2_ctrl *ctrl)
}
adjust:
msm_vidc_update_cap_value(inst, BITRATE_BOOST,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, BITRATE_BOOST, adjusted_value, __func__);
return 0;
}
@@ -2045,8 +2015,7 @@ int msm_vidc_adjust_min_quality(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = MAX_SUPPORTED_MIN_QUALITY;
update_and_exit:
msm_vidc_update_cap_value(inst, MIN_QUALITY,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, MIN_QUALITY, adjusted_value, __func__);
return 0;
}
@@ -2097,8 +2066,7 @@ int msm_vidc_adjust_preprocess(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = 0;
update_preprocess:
msm_vidc_update_cap_value(inst, REQUEST_PREPROCESS,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, REQUEST_PREPROCESS, adjusted_value, __func__);
return 0;
}
@@ -2121,8 +2089,7 @@ int msm_vidc_adjust_enc_lowlatency_mode(void *instance, struct v4l2_ctrl *ctrl)
is_enc_slice_delivery_mode(inst))
adjusted_value = 1;
msm_vidc_update_cap_value(inst, LOWLATENCY_MODE,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, LOWLATENCY_MODE, adjusted_value, __func__);
return 0;
}
@@ -2146,8 +2113,7 @@ int msm_vidc_adjust_dec_lowlatency_mode(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = 1;
}
msm_vidc_update_cap_value(inst, LOWLATENCY_MODE,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, LOWLATENCY_MODE, adjusted_value, __func__);
return 0;
}
@@ -2202,13 +2168,12 @@ int msm_vidc_adjust_roi_info(void *instance, struct v4l2_ctrl *ctrl)
&pix_fmt, __func__))
return -EINVAL;
if ((rc_type != HFI_RC_VBR_CFR && rc_type != HFI_RC_CBR_CFR
&& rc_type != HFI_RC_CBR_VFR) || !is_8bit_colorformat(pix_fmt)
|| is_scaling_enabled(inst) || is_rotation_90_or_270(inst))
if ((rc_type != HFI_RC_VBR_CFR && rc_type != HFI_RC_CBR_CFR &&
rc_type != HFI_RC_CBR_VFR) || !is_8bit_colorformat(pix_fmt) ||
is_scaling_enabled(inst) || is_rotation_90_or_270(inst))
adjusted_value = 0;
msm_vidc_update_cap_value(inst, META_ROI_INFO,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, META_ROI_INFO, adjusted_value, __func__);
return 0;
}
@@ -2239,8 +2204,7 @@ int msm_vidc_adjust_dec_outbuf_fence_type(void *instance, struct v4l2_ctrl *ctrl
adjusted_value = MSM_VIDC_FENCE_NONE;
}
msm_vidc_update_cap_value(inst, OUTBUF_FENCE_TYPE,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, OUTBUF_FENCE_TYPE, adjusted_value, __func__);
return 0;
}
@@ -2267,8 +2231,7 @@ int msm_vidc_adjust_dec_outbuf_fence_direction(void *instance, struct v4l2_ctrl
else
adjusted_value = MSM_VIDC_FENCE_DIR_NONE;
msm_vidc_update_cap_value(inst, OUTBUF_FENCE_DIRECTION,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, OUTBUF_FENCE_DIRECTION, adjusted_value, __func__);
return 0;
}
@@ -2295,8 +2258,7 @@ int msm_vidc_adjust_dec_slice_mode(void *instance, struct v4l2_ctrl *ctrl)
!is_meta_rx_inp_enabled(inst, META_OUTBUF_FENCE))
adjusted_value = 0;
msm_vidc_update_cap_value(inst, SLICE_DECODE,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, SLICE_DECODE, adjusted_value, __func__);
return 0;
}
@@ -2319,8 +2281,7 @@ int msm_vidc_adjust_eva_stats(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = 0;
}
msm_vidc_update_cap_value(inst, META_EVA_STATS,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, META_EVA_STATS, adjusted_value, __func__);
return 0;
}
@@ -2611,8 +2572,8 @@ int msm_vidc_set_use_and_mark_ltr(void *instance,
u32 hfi_value = 0;
if (!inst->capabilities[LTR_COUNT].value ||
(inst->capabilities[cap_id].value ==
INVALID_DEFAULT_MARK_OR_USE_LTR)) {
inst->capabilities[cap_id].value ==
INVALID_DEFAULT_MARK_OR_USE_LTR) {
i_vpr_h(inst,
"%s: LTR_COUNT: %d %s: %d, cap %s is not set\n",
__func__, inst->capabilities[LTR_COUNT].value,
@@ -2760,6 +2721,7 @@ int msm_vidc_set_frame_qp(void *instance,
u32 i_qp_enable = 0, p_qp_enable = 0, b_qp_enable = 0;
u32 client_qp_enable = 0, hfi_value = 0, offset = 0;
s32 rc_type = -1;
capab = inst->capabilities;
if (msm_vidc_get_parent_value(inst, cap_id,
@@ -2777,7 +2739,9 @@ int msm_vidc_set_frame_qp(void *instance,
if (rc_type == HFI_RC_OFF) {
/* Mandatorily set for rc off case */
i_qp_enable = p_qp_enable = b_qp_enable = 1;
i_qp_enable = 1;
p_qp_enable = 1;
b_qp_enable = 1;
} else {
/* Set only if client has set for NON rc off case */
if (capab[I_FRAME_QP].flags & CAP_FLAG_CLIENT_SET)
@@ -3211,6 +3175,7 @@ static int msm_venc_set_csc_coeff(struct msm_vidc_inst *inst,
return rc;
}
int msm_vidc_set_csc_custom_matrix(void *instance,
enum msm_vidc_inst_capability_type cap_id)
{

View File

@@ -67,8 +67,7 @@ int msm_vidc_adjust_ir_period(void *instance, struct v4l2_ctrl *ctrl)
adjusted_value = 0;
exit:
msm_vidc_update_cap_value(inst, IR_PERIOD,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, IR_PERIOD, adjusted_value, __func__);
return 0;
}
@@ -114,7 +113,6 @@ int msm_vidc_adjust_delivery_mode(void *instance, struct v4l2_ctrl *ctrl)
if (is_decode_session(inst))
return 0;
adjusted_value = ctrl ? ctrl->val : inst->capabilities[DELIVERY_MODE].value;
if (msm_vidc_get_parent_value(inst, DELIVERY_MODE, SLICE_MODE,
@@ -125,8 +123,7 @@ int msm_vidc_adjust_delivery_mode(void *instance, struct v4l2_ctrl *ctrl)
if (slice_mode != V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB)
adjusted_value = 0;
msm_vidc_update_cap_value(inst, DELIVERY_MODE,
adjusted_value, __func__);
msm_vidc_update_cap_value(inst, DELIVERY_MODE, adjusted_value, __func__);
return 0;
}