Commit 141121fb authored by Mohammadreza Naghibzadeh's avatar Mohammadreza Naghibzadeh
Browse files

corrected Cldfb_RealBuffer_in_fx[2]/Cldfb_OmagBuffer_in_fx[2] scaling

parent 412279d7
Loading
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -834,10 +834,6 @@ static void ivas_dirac_dec_binaural_internal_fx(

                    scale_sig32( Cldfb_RealBuffer_in_fx[1][slot], CLDFB_NO_CHANNELS_MAX, negate( add( sub( q_cldfb[1][slot], q_input ), 5 ) ) );
                    scale_sig32( Cldfb_ImagBuffer_in_fx[1][slot], CLDFB_NO_CHANNELS_MAX, negate( add( sub( q_cldfb[1][slot], q_input ), 5 ) ) );
#ifdef FIX_2009_HIGH_NOISE_FLOOR_FOR_FX_DEC
                    scale_sig32( Cldfb_RealBuffer_in_fx[2][slot], CLDFB_NO_CHANNELS_MAX, negate( add( sub( q_cldfb[2][slot], q_input ), 5 ) ) );
                    scale_sig32( Cldfb_ImagBuffer_in_fx[2][slot], CLDFB_NO_CHANNELS_MAX, negate( add( sub( q_cldfb[2][slot], q_input ), 5 ) ) );
#endif

                    /* LB: Copy first channel + LB-CNG to first and second channels with same scaling (dual-mono)*/
                    FOR( b = 0; b < numCoreBands; b++ )
@@ -860,11 +856,18 @@ static void ivas_dirac_dec_binaural_internal_fx(
                    {
                        Cldfb_RealBuffer_in_fx[0][slot][b] = Mpy_32_16_1( Cldfb_RealBuffer_in_fx[0][slot][b], 23170 );
                        Cldfb_RealBuffer_in_fx[1][slot][b] = L_add( L_add( Cldfb_RealBuffer_in_fx[0][slot][b], L_shr( Cldfb_RealBuffer_in_fx[1][slot][b], 1 ) ), Cldfb_RealBuffer_in_fx[0][slot][b] );
#ifdef FIX_2009_HIGH_NOISE_FLOOR_FOR_FX_DEC
                        Cldfb_RealBuffer_in_fx[0][slot][b] = L_add( Cldfb_RealBuffer_in_fx[0][slot][b], L_shr( Cldfb_RealBuffer_in_fx[2][slot][b], add( sub( q_cldfb[2][slot], q_input ), 6 ) ) );
#else
                        Cldfb_RealBuffer_in_fx[0][slot][b] = L_add( Cldfb_RealBuffer_in_fx[0][slot][b], L_shr( Cldfb_RealBuffer_in_fx[2][slot][b], 1 ) );

#endif
                        Cldfb_ImagBuffer_in_fx[0][slot][b] = Mpy_32_16_1( Cldfb_ImagBuffer_in_fx[0][slot][b], 23170 );
                        Cldfb_ImagBuffer_in_fx[1][slot][b] = L_add( Cldfb_ImagBuffer_in_fx[0][slot][b], L_shr( Cldfb_ImagBuffer_in_fx[1][slot][b], 1 ) );
#ifdef FIX_2009_HIGH_NOISE_FLOOR_FOR_FX_DEC
                        Cldfb_ImagBuffer_in_fx[0][slot][b] = L_add( Cldfb_ImagBuffer_in_fx[0][slot][b], L_shr( Cldfb_ImagBuffer_in_fx[2][slot][b], add( sub( q_cldfb[2][slot], q_input ), 6 ) ) );
#else
                        Cldfb_ImagBuffer_in_fx[0][slot][b] = L_add( Cldfb_ImagBuffer_in_fx[0][slot][b], L_shr( Cldfb_ImagBuffer_in_fx[2][slot][b], 1 ) );
#endif
                        move32();
                        move32();
                        move32();