hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/media/platform/qcom/venus/helpers.c
....@@ -917,8 +917,8 @@
917917 u32 extradata = SZ_16K;
918918 u32 size;
919919
920
- y_stride = ALIGN(ALIGN(width, 192) * 4 / 3, 256);
921
- uv_stride = ALIGN(ALIGN(width, 192) * 4 / 3, 256);
920
+ y_stride = ALIGN(width * 4 / 3, 256);
921
+ uv_stride = ALIGN(width * 4 / 3, 256);
922922 y_sclines = ALIGN(height, 16);
923923 uv_sclines = ALIGN((height + 1) >> 1, 16);
924924
....@@ -1347,6 +1347,12 @@
13471347
13481348 v4l2_m2m_buf_queue(m2m_ctx, vbuf);
13491349
1350
+ /* Skip processing queued capture buffers after LAST flag */
1351
+ if (inst->session_type == VIDC_SESSION_TYPE_DEC &&
1352
+ V4L2_TYPE_IS_CAPTURE(vb->vb2_queue->type) &&
1353
+ inst->codec_state == VENUS_DEC_STATE_DRC)
1354
+ goto unlock;
1355
+
13501356 cache_payload(inst, vb);
13511357
13521358 if (inst->session_type == VIDC_SESSION_TYPE_ENC &&