Commit e5aad978 authored by thomas dettbarn's avatar thomas dettbarn
Browse files

Merge branch 'main' into...

Merge branch 'main' into 2012-improve-wmops-performance-of-ivas_dirac_dec_output_synthesis_process_slot_fx
parents 18a609ff 81c08b07
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@
#define FIX_1996_MASKING_NOISE                               /* Dlb: Heavy precision loss in ola buffers causing discontinuity*/
#define FIX1998_APA_EXEC_SCALING                             /* FhG: fix scaling of apa_exec_ivas_fx(); avoid continuously worse scaling with previous data */
#define FIX2007_BASSPSFILTER_OVERFLOW                        /* FhG: use saturing operator, to avoid overflow in bass_psfilter_fx() */
#define FIX_ISSUE_2004_LPC_SHB_SAT                           /* Dolby: Issue 2004: prevent saturation of the LPC SHB filter */

#define FIX_2009_HIGH_NOISE_FLOOR_FOR_FX_DEC                 /* FhG: Corrected the q_input in the input of generate_masking_noise_dirac_ivas_fx() */
/* #################### Start BASOP porting switches ############################ */
+33 −15
Original line number Diff line number Diff line
@@ -3161,7 +3161,25 @@ void swb_tbe_enc_ivas_fx(
        enerG = Enr_1_Az_fx( lpc_shb1, 2 * L_SUBFR ); /* Q3 */

        /* if the LP gain is greater than a threshold, avoid saturation */
#ifdef FIX_ISSUE_2004_LPC_SHB_SAT
        Word16 flag_sat = 0;
        Word16 lpc_shb_fx0_req_shift = sub( norm_s( lpc_shb_fx[0] ), 2 );
        IF( GT_16( lpc_shb_fx0_req_shift, 0 ) )
        {
            FOR( i = 1; i <= LPC_SHB_ORDER; i++ )
            {
                IF( LT_16( norm_s( lpc_shb_fx[i] ), lpc_shb_fx0_req_shift ) )
                {
                    flag_sat = 1;
                    break;
                }
            }
        }

        IF( GT_16( enerG, 256 /* 32.0 in Q3 */ ) || flag_sat )
#else
        IF( GT_16( enerG, 256 /*32 Q3*/ ) )
#endif
        {
            set16_fx( lpc_shb_fx, 0, LPC_SHB_ORDER + 1 );
            E_LPC_lev_dur( R_h, R_l, lpc_shb_fx, LepsP, 2, NULL ); /* LPC in Q14 */