Commit d19289b2 authored by multrus's avatar multrus
Browse files

alternative patch

parent 701835f0
Loading
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -560,11 +560,7 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
    else /* if(!hm_cfg) */
    {
        int16_t c, rateQ;
#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
        uint32_t s;
#else
        uint16_t s;
#endif

        /* Rate flag */
        if ( nbbits > 400 )
@@ -666,13 +662,12 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
                c = 12 + esc_nb;
            }

#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
            s = s & 0x0F;
#endif
            s = s << 4; /*Shift old 4 bits*/
            s = s + c;  /*replace last 4 bits*/
#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
            t = (uint16_t) ( s & 0xFF );
#else
            t = s & 0xFF;
#endif
        }

        /* Decode signs */
+7 −16
Original line number Diff line number Diff line
@@ -870,11 +870,7 @@ void RCcontextMapping_encode2_no_mem_s17_LCS(
    {
        int16_t cp;
        int16_t esc_nb, rateQ;
#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
        uint32_t s;
#else
        uint16_t s;
#endif

        /* Rate flag */
        if ( nbbits > 400 )
@@ -967,12 +963,11 @@ void RCcontextMapping_encode2_no_mem_s17_LCS(
            }

            /*Shift old 4 bits, replace last 4 bits*/
            s = ( s << 4 ) + cp;
#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
            t = (uint16_t) ( s & 0xFF );
#else
            t = s & 0xFF;
            s = s & 0x0F;
#endif
            s = ( s << 4 ) + cp;
            t = s & 0xFF;

        } /*end of the 2-tuples loop*/
    }
@@ -1244,11 +1239,7 @@ int16_t RCcontextMapping_encode2_estimate_no_mem_s17_LCS(
    else /* if (!hm_cfg) */
    {
        int16_t esc_nb, cp, rateQ;
#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
        uint32_t s;
#else
        uint16_t s;
#endif
        int16_t tot_bits2;
        int16_t overflow_flag = 0;

@@ -1348,13 +1339,13 @@ int16_t RCcontextMapping_encode2_estimate_no_mem_s17_LCS(
            {
                cp = 12 + esc_nb;
            }

            /*shift old bits and replace last 4 bits*/
            s = ( s << 4 ) + cp;
#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
            t = (uint16_t) ( s & 0xFF );
#else
            t = s & 0xFF;
            s = s & 0x0F;
#endif
            s = ( s << 4 ) + cp;
            t = s & 0xFF;

        } /*end of the 2-tuples loop*/