diff --git a/driver/vidc/src/msm_vidc_driver.c b/driver/vidc/src/msm_vidc_driver.c index 88ca575e16..1fe57b2faa 100644 --- a/driver/vidc/src/msm_vidc_driver.c +++ b/driver/vidc/src/msm_vidc_driver.c @@ -1643,6 +1643,11 @@ int msm_vidc_set_auto_framerate(struct msm_vidc_inst *inst, u64 timestamp) if (counter < ENC_FPS_WINDOW) goto exit; + if (curr_fr > inst->capabilities[FRAME_RATE].value) { + i_vpr_l(inst, "%s: fps: %u limitted to client fps.\n", __func__, curr_fr >> 16); + curr_fr = inst->capabilities[FRAME_RATE].value; + } + /* if framerate changed and stable for 2 frames, set to firmware */ if (curr_fr == prev_fr && curr_fr != inst->auto_framerate) { i_vpr_l(inst, "%s: updated fps: %u -> %u\n", __func__,