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

issue 2615: adding extra argument for final Q value and editing the function to use it.

parent cfa34035
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -552,6 +552,7 @@ void filter_with_allpass_fx(
    Word16 q_shift 
);

#ifndef FIX_ISSUE_2615_FALSE_SHIFTING
Word32 stereo_dft_dmx_swb_nrg_fx(
    const Word32* dmx_k0,                                       /* i  : first subframe spectrum                 */
    const Word32* dmx_k1,                                       /* i  : second subframe spectrum                */
@@ -559,6 +560,18 @@ Word32 stereo_dft_dmx_swb_nrg_fx(
    const Word16 q0,
    const Word16 q1
);
#else
Word32 stereo_dft_dmx_swb_nrg_fx(
    const Word32* dmx_k0,                                       /* i  : first subframe spectrum                 */
    const Word32* dmx_k1,                                       /* i  : second subframe spectrum                */
    const Word16 frame_length,                                  /* i  : frame lanegth                           */
    const Word16 q0,
    const Word16 q1,
    const Word16 q_dft
);
#endif // !FIX_ISSUE_2615_FALSE_SHIFTING



void stereo_dft_dec_core_switching_fx(
    CPE_DEC_HANDLE hCPE,                                        /* i/o: CPE decoder structure                   */
+16 −4
Original line number Diff line number Diff line
@@ -768,12 +768,24 @@ void stereo_dft_res_ecu_burst_att_fx(
 * ---------------------------------------------------------------*/

/*! r: total energy of downmix with maximum swb bandwidth max */
#ifndef FIX_ISSUE_2615_FALSE_SHIFTING
Word32 stereo_dft_dmx_swb_nrg_fx(
    const Word32* dmx_k0,      /* i  : first subframe spectrum     q0*/
    const Word32* dmx_k1,      /* i  : second subframe spectrum    q1*/
    const Word16 frame_length, /* i  : frame lanegth               Q0*/
    const Word16 q0,
    const Word16 q1 )
#else
Word32 stereo_dft_dmx_swb_nrg_fx(
    const Word32* dmx_k0,      /* i  : first subframe spectrum     q0*/
    const Word32* dmx_k1,      /* i  : second subframe spectrum    q1*/
    const Word16 frame_length, /* i  : frame lanegth               Q0*/
    const Word16 q0,
    const Word16 q1,
    const Word16 q_dft)
#endif // !FIX_ISSUE_2615_FALSE_SHIFTING


{
    Word16 i;
    Word32 dmx_nrg;
@@ -802,8 +814,8 @@ Word32 stereo_dft_dmx_swb_nrg_fx(
                                    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 ) ),
                             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] ), (q_dft - 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] ), (q_dft - q1) << 1 ) ),
                                    1 ) ); /*3*q0 - 31*/
#endif // !FIX_ISSUE_2615_FALSE_SHIFTING
        }