summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRitu Baldwa <ritu.baldwa@ittiam.com>2017-12-27 17:45:30 +0530
committerMoritz Horstmann <dev@peterzweg.at>2018-03-08 12:42:02 +0100
commitdb6bf49aa97d2d32a4d30d30b6b47c5b58de9fd9 (patch)
treef7ac795e0080603bed63aef5d58f671499837711
parentffff285bdc2c98c7b5ace1b87691c1406e1f2fd3 (diff)
downloadandroid_external_libavc-db6bf49aa97d2d32a4d30d30b6b47c5b58de9fd9.tar.gz
android_external_libavc-db6bf49aa97d2d32a4d30d30b6b47c5b58de9fd9.tar.bz2
android_external_libavc-db6bf49aa97d2d32a4d30d30b6b47c5b58de9fd9.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 7d7475d..b37acec 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);
+
}
}
}