summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRitu Baldwa <ritu.baldwa@ittiam.com>2017-12-27 17:45:30 +0530
committerTim Schumacher <timschumi@gmx.de>2018-03-08 22:37:06 +0100
commitcc890e9993117e790ca893efa279117336188b18 (patch)
tree5e9a0cf984389eb438a7ad0a22a1f887f521aff8
parent17d9bcba70cf74d98728f3d5741f3453aaf8996f (diff)
downloadandroid_external_libavc-cc890e9993117e790ca893efa279117336188b18.tar.gz
android_external_libavc-cc890e9993117e790ca893efa279117336188b18.tar.bz2
android_external_libavc-cc890e9993117e790ca893efa279117336188b18.zip
Decoder: Fixed memory overflow in shared display mode.
The factor multiplication should happen only at the source, not at the destination. Bug: 71375536 Test: manual Change-Id: Ib5f00b87150a0533880346fac5464b0b1a802c36 (cherry picked from commit c3b026a87d7da17ca5196e1973137b8691e60bde)
-rw-r--r--decoder/ih264d_utils.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/decoder/ih264d_utils.c b/decoder/ih264d_utils.c
index 4f6deca..165764d 100644
--- a/decoder/ih264d_utils.c
+++ b/decoder/ih264d_utils.c
@@ -1042,12 +1042,15 @@ WORD32 ih264d_get_next_display_field(dec_struct_t * ps_dec,
buf = ps_dec->disp_bufs[i].buf[1];
buf += ps_dec->disp_bufs[i].u4_ofst[1];
pv_disp_op->s_disp_frm_buf.pv_u_buf = buf
- + pic_buf->u2_crop_offset_uv;
+ + (pic_buf->u2_crop_offset_uv
+ / YUV420SP_FACTOR);
buf = ps_dec->disp_bufs[i].buf[2];
buf += ps_dec->disp_bufs[i].u4_ofst[2];
pv_disp_op->s_disp_frm_buf.pv_v_buf = buf
- + pic_buf->u2_crop_offset_uv;
+ + (pic_buf->u2_crop_offset_uv
+ / YUV420SP_FACTOR);
+
}
}
}