Merge "video: driver: fix alignment and blank line warning"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
dafeecd9ba
@@ -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_
|
||||
|
@@ -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 */
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user