Commit 8a1a3090 authored by vaclav's avatar vaclav
Browse files

- Merge remote-tracking branch 'remotes/origin/main' into 1901-basop-PortFlpMr1688

parents 3f222528 08e7e9b9
Loading
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -317,11 +317,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG
{
    Word16 override;
    Word16 nBands;                                                                                                                       /* Number of frequency bands for which reverb properties are provided, integer, range [2..256]        */
    float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX];                                                                                         /* Center frequencies for which following values are provided:                                        */
    float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX];                                                                                    /*  - The room's T60 per center frequency                                                             */
    float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX];                                                                                     /*  - The room's Diffuse to Source Ratio per center frequency                                         */
    float acousticPreDelay;                                                                                                              /* Time elapsed between input signal and late reverberation start, float, range [0.001..10]           */
    float inputPreDelay;                                                                                                                 /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10]  */
    Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX];                                                                                     /*Q16 Center frequencies for which following values are provided:                                         */
    Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX];                                                                                /*Q26  - The room's T60 per center frequency                                                             */
    Word32 pAcoustic_dsr_fx[IVAS_CLDFB_NO_CHANNELS_MAX];                                                                                 /*Q30  - The room's Diffuse to Source Ratio per center frequency                                         */
+1 −0
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@
#define FIX_1766_TCX2ACELP_BWE_ISSUE                         /* VA : Fix rare BWE issue when switching from TCX to ACELP */
#define FIX_1781_SPECTRAL_GAPS                               /* FhG: Change internal calculation of tcx_noise_factor_ivas_fx() to 32-bit*/
#define FIX_ISSUE_1811_EXCEEDING_W_SHIFTS                    /* FhG: limit exceeding 64bit shifts */
#define FIX_1843_IO_QFACTOR_INIT                             /* FhG: initialize CRend's io_qfactor also in IVAS_rend */


/* #################### Start BASOP porting switches ############################ */
+2 −2
Original line number Diff line number Diff line
@@ -981,8 +981,8 @@ static void ivas_binaural_obtain_DMX_fx(
                ELSE
                {
                    Word16 div = divide3232( P_in_fx[bandIdx], P_out_fx );
                    Word16 exp = 0; // divide3232 returns Q15 + following Q16 shift
                    factEQ_fx = Sqrt32( L_shl( div, Q16 ), &exp );
                    Word16 exp = 16; // divide3232 returns Q15
                    factEQ_fx = Sqrt32( div, &exp );
                    factEQ_fx = L_shl( factEQ_fx, sub( exp, 1 ) ); // Q30
                }
                if ( factEQ_fx <= 0 )
+1 −1
Original line number Diff line number Diff line
@@ -1055,7 +1055,7 @@ static void biDiagonalReductionLeft_fx(
                {
                    temp = W_add( temp, L_shr( Mpy_32_32( singularVectors[jCh][currChannel], singularVectors[jCh][iCh] ), sub( max_e, add( singularVectors_e[jCh][currChannel], singularVectors_e[jCh][iCh] ) ) ) );
                }
                Word16 nrm = W_norm( temp );
                nrm = W_norm( temp );
                nrm = sub( nrm, 32 );
                norm_x = W_shl_sat_l( temp, nrm );
                norm_x_e = sub( max_e, nrm );
+9 −23
Original line number Diff line number Diff line
@@ -1117,35 +1117,21 @@ void ivas_reverb_calc_color_levels_fx(
  const Word32 *pT60_filter_coeff, //input in Q31
  Word32 *pTarget_color_L, //output in Q30
  Word32 *pTarget_color_R); //output in Q30

ivas_error ivas_reverb_prepare_cldfb_params(
    const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params,
    const HRTFS_STATISTICS_HANDLE hHrtfStatistics,
    const int32_t output_Fs,
    float *pOutput_t60,
    float *pOutput_ene );
void ivas_reverb_interpolate_acoustic_data_fx(
  const Word16 input_table_size,
  const Word32 *pInput_fc, //input in Q16
  const Word32 *pInput_t60, //input in Q26
  const Word32 *pInput_dsr, //input in Q30
  const Word16 output_table_size,
  const Word32 *pOutput_fc,
    const Word32 output_Fs,
    Word32 *pOutput_t60,
  Word32 *pOutput_dsr,
  Word16 *pOutput_t60_e, //output e
  Word16 *pOutput_dsr_e  //output e
);
void ivas_reverb_interpolate_energies_fx(
    Word32 *pOutput_ene );

void ivas_reverb_interp_on_freq_grid_fx(
    const Word16 input_table_size,
    const Word32 *pInput_fc, //input in Q16
    const Word32 *pInput_ene_l, //input in Q28
    const Word32 *pInput_ene_r, //input in Q28
    const Word32 *pInput_fc, //input center frequencies in Q16
    const Word32 *pInput_grid, //input data vector in an arbitrary Q-format
    const Word16 output_table_size,
    const Word32 *pOutput_fc,
    Word32 *pOutput_ene_l_m, // output m
    Word32 *pOutput_ene_r_m, // output m
    Word16 *pOutput_ene_l_e, //output e
    Word16 *pOutput_ene_r_e  //output e
    Word32 *pOutput_grid //output in the same Q-format as input
);
/*---------------------------------------------------------------------------------*
 * Shoebox Prototypes
Loading