summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHamsalekha S <hamsalekha.s@ittiam.com>2017-08-01 14:51:55 +0530
committerDan Pasanen <dan.pasanen@gmail.com>2017-12-06 07:52:55 -0600
commit8f141f1c5c68a8c6466d918079826aedb2ccf8e4 (patch)
treecba185cca162dc72ce4024c868abcfe85f4c36c5
parent8802e623ce24c8b1d0590230f40f2222b9a36044 (diff)
downloadandroid_external_libavc-8f141f1c5c68a8c6466d918079826aedb2ccf8e4.tar.gz
android_external_libavc-8f141f1c5c68a8c6466d918079826aedb2ccf8e4.tar.bz2
android_external_libavc-8f141f1c5c68a8c6466d918079826aedb2ccf8e4.zip
Decoder: Fixed hang in the case of dangling field
The u1_top_bottom_decoded flag in the decoder context has been fixed to be updated correctly in the case of dangling field Bug: 63315932 Test: ran POC after patching Change-Id: I8db4ebeb94fba735ba45f365c37e52a202ea84cd (cherry picked from commit 252628cffba8702e36b98c193bcd2fe67d8237ee)
-rw-r--r--decoder/ih264d_parse_slice.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/decoder/ih264d_parse_slice.c b/decoder/ih264d_parse_slice.c
index bdfccb6..2d8a9af 100644
--- a/decoder/ih264d_parse_slice.c
+++ b/decoder/ih264d_parse_slice.c
@@ -1382,9 +1382,8 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
if(ps_dec->u1_dangling_field == 1)
{
ps_dec->u1_second_field = 1 - ps_dec->u1_second_field;
- ps_cur_slice->u1_bottom_field_flag = u1_bottom_field_flag;
- ps_dec->u2_prv_frame_num = u2_frame_num;
ps_dec->u1_first_slice_in_stream = 0;
+ ps_dec->u1_top_bottom_decoded = TOP_FIELD_ONLY | BOT_FIELD_ONLY;
return ERROR_DANGLING_FIELD_IN_PIC;
}