Commit 06139656 authored by Arash Azizi's avatar Arash Azizi
Browse files

issue 2615: creating the switch and fixing the false shiftings

parent 8e8b913a
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@
#define HARMONIZE_2598_tcx_arith_decode_envelope        /* FhG: harmonize tcx_arith_decode_envelope between EVS and IVAS versions */
#define HARMONIZE_2598_tcx_arith_encode_envelope        /* FhG: harmonize tcx_arith_encode_envelope between EVS and IVAS versions */
#define FIX_ISSUE_2594_FALSE_COMMENT                    /* FhG: basop issue 2594: fixing false comments about Q value*/
#define FIX_ISSUE_2615_FALSE_SHIFTING                   /* FhG: basop issue 2615: Incorrect shifting in function stereo_dft_dmx_swb_nrg_fx()*/

/* #################### End BE switches ################################## */

+11 −4
Original line number Diff line number Diff line
@@ -795,10 +795,17 @@ Word32 stereo_dft_dmx_swb_nrg_fx(
    {
        FOR( i = 0; i < frame_length / 2; i++ )
        {
#ifndef FIX_ISSUE_2615_FALSE_SHIFTING
            dmx_nrg = L_add(dmx_nrg,
                             L_shr(L_add(L_shl(Madd_32_32(Mpy_32_32(dmx_k0[2 * i], dmx_k0[2 * i]), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1]), q0),
                                           L_shl(Madd_32_32(Mpy_32_32(dmx_k1[2 * i], dmx_k1[2 * i]), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1]), q1)),
                                    1) ); /*3*q0 - 31*/
#else
        dmx_nrg = L_add(dmx_nrg,
                             L_shr(L_add(L_shl(Madd_32_32(Mpy_32_32(dmx_k0[2 * i], dmx_k0[2 * i]), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1]), q0 << 1 ),
                                           L_shl(Madd_32_32(Mpy_32_32(dmx_k1[2 * i], dmx_k1[2 * i]), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1]), q1 << 1 )),
                                    1)); /*3*q0 - 31*/
#endif // !FIX_ISSUE_2615_FALSE_SHIFTING
        }
    }