msm: vidc: Use Dcvs only when there is no resolution change

When driver detects that there is a dynamic resolution change
mid-stream it will not activate dcvs.

CRs-Fixed: 1007339
Change-Id: Ia5e5b42598b7e32360267e42665a5ce3880aaeee
Signed-off-by: Rohit Kulkarni <rkulkarn@codeaurora.org>
This commit is contained in:
Rohit Kulkarni 2016-04-29 13:40:32 -07:00 committed by Jeevan Shriram
parent 35daa2f018
commit b0b1581fc1
3 changed files with 5 additions and 1 deletions

View file

@ -1174,6 +1174,8 @@ static void handle_event_change(enum hal_command_response cmd, void *data)
inst->prop.width[OUTPUT_PORT] = event_notify->width;
}
inst->seqchanged_count++;
if (inst->session_type == MSM_VIDC_DECODER)
msm_dcvs_init_load(inst);

View file

@ -619,7 +619,8 @@ static bool msm_dcvs_check_supported(struct msm_vidc_inst *inst)
if (!is_codec_supported ||
!IS_VALID_DCVS_SESSION(num_mbs_per_frame,
res->dcvs_limit[inst->session_type].min_mbpf) ||
!IS_VALID_DCVS_SESSION(instance_load, dcvs_limit))
!IS_VALID_DCVS_SESSION(instance_load, dcvs_limit) ||
inst->seqchanged_count > 1)
return false;
if (!output_buf_req) {

View file

@ -274,6 +274,7 @@ struct msm_vidc_inst {
bool in_reconfig;
u32 reconfig_width;
u32 reconfig_height;
u32 seqchanged_count;
struct dentry *debugfs_root;
void *priv;
struct msm_vidc_debug debug;