video: driver: add support for cyclic intra refresh
Currently driver supports only random intra refresh, extend it to support cyclic intra refresh too. Cyclic intra refresh is supported dynamically as well. - If intra refresh type is set and num of LCU’s to be refreshed are non-zero before session start, intra refresh will be enabled throughout the session. Any further dynamic settings in the number of LCU’s including 0 will be honored accordingly. - If intra refresh type is set and num of LCU’s to be refreshed are zero before session start, intra refresh will be disabled. When client sets it to non-zero value dynamically, driver will set HFI_PROP_REQUEST_SYNC_FRAME with HFI_SYNC_FRAME_REQUEST_WITH_PREFIX_SEQ_HDR. Driver needs to send HFI_PROP_REQUEST_SYNC_FRAME only at time of CIR Enable, no need to send at time of disable/enable again. Change-Id: I10a2fb22d131353721ee658213ed807ce0794009 Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Этот коммит содержится в:
@@ -23,7 +23,7 @@ int msm_vidc_adjust_profile(void *instance, struct v4l2_ctrl *ctrl);
|
||||
int msm_vidc_adjust_ltr_count(void *instance, struct v4l2_ctrl *ctrl);
|
||||
int msm_vidc_adjust_use_ltr(void *instance, struct v4l2_ctrl *ctrl);
|
||||
int msm_vidc_adjust_mark_ltr(void *instance, struct v4l2_ctrl *ctrl);
|
||||
int msm_vidc_adjust_ir_random(void *instance, struct v4l2_ctrl *ctrl);
|
||||
int msm_vidc_adjust_ir_period(void *instance, struct v4l2_ctrl *ctrl);
|
||||
int msm_vidc_adjust_delta_based_rc(void *instance, struct v4l2_ctrl *ctrl);
|
||||
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);
|
||||
@@ -111,6 +111,8 @@ int msm_vidc_set_csc_custom_matrix(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_ir_period(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_s32(void *instance,
|
||||
@@ -125,4 +127,7 @@ int msm_vidc_update_cap_value(struct msm_vidc_inst *inst, u32 cap,
|
||||
s32 adjusted_val, 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,
|
||||
enum msm_vidc_inst_capability_type cap_id);
|
||||
|
||||
#endif
|
||||
|
Ссылка в новой задаче
Block a user