aboutsummaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
authorRitu Baldwa <ritu.baldwa@ittiam.com>2017-12-27 17:45:30 +0530
committerRyan Longair <rlongair@google.com>2018-01-18 10:09:02 -0800
commit45292289aa455b3b9fe81e3c6675ed2bf60ec1a3 (patch)
treeb0c34d2e5cda674983b6710fd5a21d25e093fd5d /decoder
parent1127deaf025b6d8ad1fbaa90936fec8a89152def (diff)
downloadlibavc-45292289aa455b3b9fe81e3c6675ed2bf60ec1a3.tar.gz
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)
Diffstat (limited to 'decoder')
-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 63a279d..9958f9b 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);
+
}
}
}