|
@@ -3990,6 +3990,16 @@ int msm_vidc_queue_internal_buffers(struct msm_vidc_inst *inst,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Set HFI_PROP_COMV_BUFFER_COUNT to firmware even if COMV buffer
|
|
|
|
+ * is reused.
|
|
|
|
+ */
|
|
|
|
+ if (is_decode_session(inst) && buffer_type == MSM_VIDC_BUF_COMV) {
|
|
|
|
+ rc = msm_vdec_set_num_comv(inst);
|
|
|
|
+ if (rc)
|
|
|
|
+ return rc;
|
|
|
|
+ }
|
|
|
|
+
|
|
buffers = msm_vidc_get_buffers(inst, buffer_type, __func__);
|
|
buffers = msm_vidc_get_buffers(inst, buffer_type, __func__);
|
|
if (!buffers)
|
|
if (!buffers)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
@@ -4000,12 +4010,6 @@ int msm_vidc_queue_internal_buffers(struct msm_vidc_inst *inst,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
- if (is_decode_session(inst) && buffer_type == MSM_VIDC_BUF_COMV) {
|
|
|
|
- rc = msm_vdec_set_num_comv(inst);
|
|
|
|
- if (rc)
|
|
|
|
- return rc;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
list_for_each_entry_safe(buffer, dummy, &buffers->list, list) {
|
|
list_for_each_entry_safe(buffer, dummy, &buffers->list, list) {
|
|
/* do not queue pending release buffers */
|
|
/* do not queue pending release buffers */
|
|
if (buffer->flags & MSM_VIDC_ATTR_PENDING_RELEASE)
|
|
if (buffer->flags & MSM_VIDC_ATTR_PENDING_RELEASE)
|