From 46848b21f5515140478d911935a920867bd85be7 Mon Sep 17 00:00:00 2001 From: Harish Mahendrakar Date: Tue, 22 Nov 2016 12:26:23 +0530 Subject: [PATCH] Decoder: Remove unnecssary optimization while setting MV context Few MV cabac contexts were being used as WORD16 pointers but were not guaranteed to be aligned to 2 byte boundary. Bug: 33073518 Test: Tested with -fsanitize=alignment enabled on avcdec Change-Id: I294179d6ec37b0f1d9cbe093b1f9780f036a9cb8 --- decoder/ih264d_parse_mb_header.c | 41 -------------------------------- 1 file changed, 41 deletions(-) diff --git a/decoder/ih264d_parse_mb_header.c b/decoder/ih264d_parse_mb_header.c index f30ad67..9a6a1f9 100644 --- a/decoder/ih264d_parse_mb_header.c +++ b/decoder/ih264d_parse_mb_header.c @@ -1172,7 +1172,6 @@ void ih264d_get_mvd_cabac(UWORD8 u1_sub_mb, /***************************************************************/ /* Store abs_mvd_values cabac contexts */ /***************************************************************/ -#ifndef ARM { UWORD8 u1_i; for(u1_i = 0; u1_i < u1_part_wd; u1_i++, pu1_top_mv_ctxt += 4) @@ -1187,46 +1186,6 @@ void ih264d_get_mvd_cabac(UWORD8 u1_sub_mb, pu1_lft_mv_ctxt[1] = u1_abs_mvd_y; } } -#else - /* Optimising the loop, with Little-Endian Assumption */ - { - UWORD16 *pu2_top_cxt = (UWORD16 *)pu1_top_mv_ctxt; - UWORD16 *pu2_lft_cxt = (UWORD16 *)pu1_lft_mv_ctxt; - UWORD16 u2_pack_mvd = (UWORD16)((u1_abs_mvd_y << 8) | u1_abs_mvd_x); - UWORD8 u1_wd = u1_part_wd, u1_ht = u1_part_ht; - - u1_wd--; - *pu2_top_cxt = u2_pack_mvd; - pu2_top_cxt += 2; - if(u1_wd) - { - u1_wd--; - *pu2_top_cxt = u2_pack_mvd; - pu2_top_cxt += 2; - } - if(u1_wd) - { - *pu2_top_cxt = u2_pack_mvd; - pu2_top_cxt += 2; - *pu2_top_cxt = u2_pack_mvd; - } - u1_ht--; - *pu2_lft_cxt = u2_pack_mvd; - pu2_lft_cxt += 2; - if(u1_ht) - { - u1_ht--; - *pu2_lft_cxt = u2_pack_mvd; - pu2_lft_cxt += 2; - } - if(u1_ht) - { - *pu2_lft_cxt = u2_pack_mvd; - pu2_lft_cxt += 2; - *pu2_lft_cxt = u2_pack_mvd; - } - } -#endif } /*****************************************************************************/