summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--decoder/ih264d_api.c9
-rw-r--r--decoder/ih264d_parse_cavlc.c18
2 files changed, 6 insertions, 21 deletions
diff --git a/decoder/ih264d_api.c b/decoder/ih264d_api.c
index c264d9a..cd91483 100644
--- a/decoder/ih264d_api.c
+++ b/decoder/ih264d_api.c
@@ -2085,7 +2085,7 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
num_mb_skipped = (ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs)
- ps_dec->u2_total_mbs_coded;
- if(ps_dec->u4_first_slice_in_pic && (ps_dec->u4_pic_buf_got == 0))
+ if(ps_dec->u4_first_slice_in_pic)
prev_slice_err = 1;
else
prev_slice_err = 2;
@@ -2112,11 +2112,8 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
{
ih264d_signal_bs_deblk_thread(ps_dec);
}
- /* dont consume bitstream for change in resolution case */
- if(ret == IVD_RES_CHANGED)
- {
- ps_dec_op->u4_num_bytes_consumed -= bytes_consumed;
- }
+ /* dont consume bitstream */
+ ps_dec_op->u4_num_bytes_consumed -= bytes_consumed;
return IV_FAIL;
}
diff --git a/decoder/ih264d_parse_cavlc.c b/decoder/ih264d_parse_cavlc.c
index b6a0125..a3f345c 100644
--- a/decoder/ih264d_parse_cavlc.c
+++ b/decoder/ih264d_parse_cavlc.c
@@ -443,11 +443,7 @@ WORD32 ih264d_cavlc_4x4res_block_totalcoeff_2to10(UWORD32 u4_isdc,
UWORD32 u4_bitstream_offset = ps_bitstrm->u4_ofst;
UWORD32 u4_trailing_ones = u4_total_coeff_trail_one & 0xFFFF;
UWORD32 u4_total_coeff = u4_total_coeff_trail_one >> 16;
- // To avoid error check at 4x4 level, allocating for 3 extra levels(16+3)
- // since u4_trailing_ones can at the max be 3. This will be required when
- // u4_total_coeff is less than u4_trailing_ones
- WORD16 ai2_level_arr[19];
- WORD16 *i2_level_arr = &ai2_level_arr[3];
+ WORD16 i2_level_arr[16];
tu_sblk4x4_coeff_data_t *ps_tu_4x4;
WORD16 *pi2_coeff_data;
@@ -725,11 +721,7 @@ WORD32 ih264d_cavlc_4x4res_block_totalcoeff_11to16(UWORD32 u4_isdc,
UWORD32 u4_bitstream_offset = ps_bitstrm->u4_ofst;
UWORD32 u4_trailing_ones = u4_total_coeff_trail_one & 0xFFFF;
UWORD32 u4_total_coeff = u4_total_coeff_trail_one >> 16;
- // To avoid error check at 4x4 level, allocating for 3 extra levels(16+3)
- // since u4_trailing_ones can at the max be 3. This will be required when
- // u4_total_coeff is less than u4_trailing_ones
- WORD16 ai2_level_arr[19];//
- WORD16 *i2_level_arr = &ai2_level_arr[3];
+ WORD16 i2_level_arr[16];
tu_sblk4x4_coeff_data_t *ps_tu_4x4;
WORD16 *pi2_coeff_data;
@@ -1001,11 +993,7 @@ void ih264d_rest_of_residual_cav_chroma_dc_block(UWORD32 u4_total_coeff_trail_on
UWORD32 u4_bitstream_offset = ps_bitstrm->u4_ofst;
UWORD32 u4_trailing_ones = u4_total_coeff_trail_one & 0xFFFF;
UWORD32 u4_total_coeff = u4_total_coeff_trail_one >> 16;
- // To avoid error check at 4x4 level, allocating for 3 extra levels(4+3)
- // since u4_trailing_ones can at the max be 3. This will be required when
- // u4_total_coeff is less than u4_trailing_ones
- WORD16 ai2_level_arr[7];//
- WORD16 *i2_level_arr = &ai2_level_arr[3];
+ WORD16 i2_level_arr[4];
tu_sblk4x4_coeff_data_t *ps_tu_4x4;
WORD16 *pi2_coeff_data;