msm: vidc: Use input bitrate to calculate decoder bus vote

By calculating bitrate at each frame, we get a better estimate
of the BW requirements of the decode session. Thus improving
performance and power usage.

CRs-Fixed: 2451137
Change-Id: I22f0029bbb7d501340469a317e89de7eb34717c4
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
This commit is contained in:
Chinmay Sawarkar 2019-05-10 14:00:13 -07:00 committed by Gerrit - the friendly Code Review server
parent 05f2237d39
commit d64baed296
2 changed files with 4 additions and 1 deletions

View File

@ -134,7 +134,7 @@ static unsigned long __calculate_decoder(struct vidc_bus_vote_data *d,
lcu_per_frame = DIV_ROUND_UP(width, lcu_size) *
DIV_ROUND_UP(height, lcu_size);
bitrate = __lut(width, height, fps)->bitrate;
bitrate = (d->bitrate + 1000000 - 1) / 1000000;
bins_to_bit_factor = FP_INT(4);

View File

@ -344,6 +344,9 @@ int msm_comm_vote_bus(struct msm_vidc_core *core)
(inst->clk_data.frame_rate >> 16) *
vote_data[i].fps;
}
} else if (inst->session_type == MSM_VIDC_DECODER) {
vote_data[i].bitrate =
filled_len * vote_data[i].fps * 8;
}
vote_data[i].power_mode = 0;