Commit 394879e7 authored by emerit's avatar emerit
Browse files

version BE with float HRIR, max err = 3 for BRIR

parent 606dbdbb
Loading
Loading
Loading
Loading
+60 −77
Original line number Diff line number Diff line
@@ -92,9 +92,7 @@ ivas_error ivas_hrtf_init(
        FOR( j = 0; j < BINAURAL_CHANNELS; j++ )
        {
#ifdef FIX_POINT_HRTF_FILE_FORMAT
            hHrtf->inv_diffuse_weight[0][i] = 0;
            hHrtf->inv_diffuse_weight[1][i] = 0;
            move16();
            hHrtf->inv_diffuse_weight[j][i] = 0;
            move16();
#endif
            hHrtf->num_iterations[i][j] = 0;
@@ -102,6 +100,9 @@ ivas_error ivas_hrtf_init(
            hHrtf->pIndex_frequency_max[i][j] = NULL;
            hHrtf->pOut_to_bin_re[i][j] = NULL;
            hHrtf->pOut_to_bin_im[i][j] = NULL;
            hHrtf->pIndex_frequency_max_dyn[i][j] = NULL;
            hHrtf->pOut_to_bin_re_dyn[i][j] = NULL;
            hHrtf->pOut_to_bin_im_dyn[i][j] = NULL;
        }
    }

@@ -113,6 +114,11 @@ ivas_error ivas_hrtf_init(

        hHrtf->pOut_to_bin_diffuse_re[j] = NULL;
        hHrtf->pOut_to_bin_diffuse_im[j] = NULL;

        hHrtf->pIndex_frequency_max_diffuse_dyn[j] = NULL;

        hHrtf->pOut_to_bin_diffuse_re_dyn[j] = NULL;
        hHrtf->pOut_to_bin_diffuse_im_dyn[j] = NULL;
    }

#ifdef FIX_POINT_HRTF_FILE_FORMAT
@@ -1463,15 +1469,15 @@ static ivas_error ivas_rend_initCrend(
#ifdef FIX_POINT_HRTF_FILE_FORMAT
    if ( hHrtf->factor_Q_latency_s != 0 )
    {
        hHrtf->factor_Q_latency_s = sub( hHrtf->factor_Q_latency_s, 31 );
        hHrtf->factor_Q_latency_s = sub( 31, hHrtf->factor_Q_latency_s );
    }
    if ( hHrtf->factor_Q_inv_diffuse_weight != 0 )
    {
        hHrtf->factor_Q_inv_diffuse_weight = sub( hHrtf->factor_Q_inv_diffuse_weight, 15 );
        hHrtf->factor_Q_inv_diffuse_weight = sub( 15, hHrtf->factor_Q_inv_diffuse_weight );
    }
    if ( hHrtf->factor_Q_pOut_to_bin != 0 )
    {
        hHrtf->factor_Q_pOut_to_bin = sub( 31, hHrtf->factor_Q_pOut_to_bin );
        hHrtf->factor_Q_pOut_to_bin = sub( 15, hHrtf->factor_Q_pOut_to_bin );
    }
#endif
    pCrend->hHrtfCrend = hHrtf;
@@ -2023,6 +2029,7 @@ ivas_error ivas_rend_openCrend(
    error = IVAS_ERR_OK;
    move16();


    IF( NE_32( ( error = ivas_rend_initCrendWrapper( pCrend ) ), IVAS_ERR_OK ) )
    {
        return error;
@@ -2041,17 +2048,6 @@ ivas_error ivas_rend_openCrend(
    hCrend = ( *pCrend )->hCrend;
    hHrtf = ( *pCrend )->hHrtfCrend;

    IF( hHrtf != NULL )
    {
        IF( NE_32( ( error = ivas_rend_initCrend( *pCrend, inConfig, outConfig, hSetOfHRTF, output_Fs ) ), IVAS_ERR_OK ) )
        {
            return error;
        }
    }

    hCrend = ( *pCrend )->hCrend;
    hHrtf = ( *pCrend )->hHrtfCrend;

    IF( hHrtf != NULL )
    {
        max_total_ir_len = imult1616( hHrtf->max_num_iterations, subframe_length );
@@ -2316,12 +2312,13 @@ static ivas_error ivas_rend_crendConvolver(
    Word16 i, j, k, m;
    Word16 subframe_length, idx_in;
    Word16 lfe_idx_in;
    Word16 offset, offset_in, offset_diffuse;
    Word32 offset, offset_in, offset_diffuse;
    Word16 nchan_in, nchan_out;
    const Word32 *pIn;
    Word32 *pFreq_buf_re, *pFreq_buf_im;
#ifdef FIX_POINT_HRTF_FILE_FORMAT
    Word32 *pFreq_buf2_re, *pFreq_buf2_im;
    Word32 *pFreq_buf3_re, *pFreq_buf3_im;
#endif
    const Word16 *pFreq_filt_re, *pFreq_filt_im;
    Word32 pOut[L_FRAME48k * 2];
@@ -2329,7 +2326,7 @@ static ivas_error ivas_rend_crendConvolver(
    Word32 tmp_out_im[L_FRAME48k];
    CREND_HANDLE hCrend;
    ivas_error error;

    Word64 tmp64;

    hCrend = pCrend->hCrend;

@@ -2366,62 +2363,43 @@ static ivas_error ivas_rend_crendConvolver(

    IF( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 )
    {
        pFreq_buf2_re = &hCrend->freq_buffer_re_diffuse[0][offset_diffuse];
        pFreq_buf2_im = &hCrend->freq_buffer_im_diffuse[0][offset_diffuse];
        set_val_Word32( &hCrend->freq_buffer_re_diffuse[0][offset_diffuse], 0, subframe_length );
        set_val_Word32( &hCrend->freq_buffer_im_diffuse[0][offset_diffuse], 0, subframe_length );
        if ( pCrend->hHrtfCrend->same_inv_diffuse_weight == 0 )
        IF( pCrend->hHrtfCrend->same_inv_diffuse_weight == 0 )
        {
            set_val_Word32( &hCrend->freq_buffer_re_diffuse[1][offset_diffuse], 0, subframe_length );
            set_val_Word32( &hCrend->freq_buffer_im_diffuse[1][offset_diffuse], 0, subframe_length );
            pFreq_buf3_re = &hCrend->freq_buffer_re_diffuse[1][offset_diffuse];
            pFreq_buf3_im = &hCrend->freq_buffer_im_diffuse[1][offset_diffuse];
        }
    }

    i = 0;
    if ( pCrend->hHrtfCrend->same_inv_diffuse_weight )
    {
        pFreq_buf_re = &hCrend->freq_buffer_re_diffuse[0][offset_diffuse];
        pFreq_buf_im = &hCrend->freq_buffer_im_diffuse[0][offset_diffuse];
    }
    else
    {
        pFreq_buf_re = &hCrend->freq_buffer_re_diffuse[0][offset_diffuse];
        pFreq_buf_im = &hCrend->freq_buffer_im_diffuse[0][offset_diffuse];
        pFreq_buf2_re = &hCrend->freq_buffer_re_diffuse[1][offset_diffuse];
        pFreq_buf2_im = &hCrend->freq_buffer_im_diffuse[1][offset_diffuse];
    }
    for ( idx_in = 0; idx_in < nchan_in; idx_in++ )
    FOR( idx_in = 0; idx_in < nchan_in; idx_in++ )
    {
        pIn = &pcm_in[idx_in][i_ts * subframe_length];
        if ( idx_in != lfe_idx_in )
        {
            if ( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 )
        pFreq_buf_re = &hCrend->freq_buffer_re[i][offset];
        pFreq_buf_im = &hCrend->freq_buffer_im[i][offset];
        IF( NE_16( idx_in, lfe_idx_in ) )
        {
                if ( pCrend->hHrtfCrend->same_inv_diffuse_weight )
            IF( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 )
            {
                    pFreq_buf2_re = &hCrend->freq_buffer_re[i][offset];
                    pFreq_buf2_im = &hCrend->freq_buffer_im[i][offset];
                    for ( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
                FOR( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
                {
                        pFreq_buf_re[k] = L_add( Mpy_32_16_r( pFreq_buf2_re[k], pCrend->hHrtfCrend->inv_diffuse_weight[0][i] ), pFreq_buf_re[k] );
                        pFreq_buf_im[k] = L_add( Mpy_32_16_r( pFreq_buf2_im[k], pCrend->hHrtfCrend->inv_diffuse_weight[0][i] ), pFreq_buf_im[k] );
                    }
                    pFreq_buf2_re[k] = Madd_32_16( pFreq_buf2_re[k], pFreq_buf_re[k], pCrend->hHrtfCrend->inv_diffuse_weight[0][i] );
                    pFreq_buf2_im[k] = Madd_32_16( pFreq_buf2_im[k], pFreq_buf_im[k], pCrend->hHrtfCrend->inv_diffuse_weight[0][i] );
                }
                else
                IF( pCrend->hHrtfCrend->same_inv_diffuse_weight == 0 )
                {
                    pFreq_buf2_re = &hCrend->freq_buffer_re[i][offset];
                    pFreq_buf2_im = &hCrend->freq_buffer_im[i][offset];

                    for ( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
                    FOR( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
                    {
                        pFreq_buf_re[k] = L_add( Mpy_32_16_r( pFreq_buf2_re[k], pCrend->hHrtfCrend->inv_diffuse_weight[0][i] ), pFreq_buf_re[k] );
                        pFreq_buf_im[k] = L_add( Mpy_32_16_r( pFreq_buf2_im[k], pCrend->hHrtfCrend->inv_diffuse_weight[0][i] ), pFreq_buf_im[k] );
                        pFreq_buf2_re[k] = L_add( Mpy_32_16_r( pFreq_buf2_re[k], pCrend->hHrtfCrend->inv_diffuse_weight[1][i] ), pFreq_buf_re[k] );
                        pFreq_buf2_im[k] = L_add( Mpy_32_16_r( pFreq_buf2_im[k], pCrend->hHrtfCrend->inv_diffuse_weight[1][i] ), pFreq_buf_im[k] );
                        pFreq_buf3_re[k] = Madd_32_16( pFreq_buf3_re[k], pFreq_buf_re[k], pCrend->hHrtfCrend->inv_diffuse_weight[1][i] );
                        pFreq_buf3_im[k] = Madd_32_16( pFreq_buf3_im[k], pFreq_buf_im[k], pCrend->hHrtfCrend->inv_diffuse_weight[1][i] );
                    }
                }
            }
            pFreq_buf2_re = &hCrend->freq_buffer_re[i][offset];
            pFreq_buf2_im = &hCrend->freq_buffer_im[i][offset];


            ivas_mdft_fx( pIn, pFreq_buf_re, pFreq_buf_im, subframe_length, subframe_length );
#ifdef DEBUGGING
@@ -2432,29 +2410,26 @@ static ivas_error ivas_rend_crendConvolver(
        }
    }

    if ( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 )
    {
        if ( pCrend->hHrtfCrend->same_inv_diffuse_weight )
    IF( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 )
    {
            for ( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
        FOR( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
        {
                pFreq_buf_re[k] = L_shr( pFreq_buf_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf_im[k] = L_shr( pFreq_buf_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
            pFreq_buf2_re[k] = L_shl( pFreq_buf2_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
            pFreq_buf2_im[k] = L_shl( pFreq_buf2_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
        }
        }
        else
        IF( pCrend->hHrtfCrend->same_inv_diffuse_weight == 0 )
        {
            for ( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
            FOR( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
            {
                pFreq_buf_re[k] = L_shr( pFreq_buf_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf_im[k] = L_shr( pFreq_buf_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf2_re[k] = L_shr( pFreq_buf2_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf2_im[k] = L_shr( pFreq_buf2_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf2_re[k] = L_shl( pFreq_buf2_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf2_im[k] = L_shl( pFreq_buf2_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf3_re[k] = L_shl( pFreq_buf3_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf3_im[k] = L_shl( pFreq_buf3_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
            }
        }
    }

    for ( j = 0; j < nchan_out; j++ )
    FOR( j = 0; j < nchan_out; j++ )
    {
        set_zero_fx( tmp_out_re, subframe_length );
        set_zero_fx( tmp_out_im, subframe_length );
@@ -2470,7 +2445,7 @@ static ivas_error ivas_rend_crendConvolver(
                {
                    offset_in = add( add( hCrend->delay_line_rw_index, sub( pCrend->hHrtfCrend->max_num_iterations, pCrend->hHrtfCrend->num_iterations[i][j] ) ), add( m, 1 ) );
                    offset_in = offset_in % ( pCrend->hHrtfCrend->max_num_iterations );
                    offset_in = imult1616( offset_in, subframe_length );
                    offset_in = imult3216( offset_in, subframe_length );
                    pFreq_buf_re = &hCrend->freq_buffer_re[i][offset_in];
                    pFreq_buf_im = &hCrend->freq_buffer_im[i][offset_in];
                    pFreq_filt_re = &pCrend->hHrtfCrend->pOut_to_bin_re[i][j][offset];
@@ -2478,10 +2453,14 @@ static ivas_error ivas_rend_crendConvolver(

                    FOR( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max[i][j][m]; k++ )
                    {
                        tmp_out_re[k] = L_add( Msub_32_32( Mpy_32_16_r( pFreq_buf_re[k], pFreq_filt_re[k] ), pFreq_buf_im[k], pFreq_filt_im[k] ), tmp_out_re[k] );
                        tmp_out_im[k] = L_add( Madd_32_32( Mpy_32_16_r( pFreq_buf_re[k], pFreq_filt_im[k] ), pFreq_buf_im[k], pFreq_filt_re[k] ), tmp_out_im[k] );
                        tmp64 = W_mult_32_16( pFreq_buf_re[k], pFreq_filt_re[k] );
                        tmp64 = W_msu_32_16( tmp64, pFreq_buf_im[k], pFreq_filt_im[k] );
                        tmp_out_re[k] = L_add( tmp_out_re[k], W_sat_m( tmp64 ) );
                        tmp64 = W_mult_32_16( pFreq_buf_re[k], pFreq_filt_im[k] );
                        tmp64 = W_mac_32_16( tmp64, pFreq_buf_im[k], pFreq_filt_re[k] );
                        tmp_out_im[k] = L_add( tmp_out_im[k], W_sat_m( tmp64 ) );
                    }
                    offset = add( offset, k );
                    offset = L_add( offset, k );
                }
                i = add( i, 1 );
            }
@@ -2507,12 +2486,16 @@ static ivas_error ivas_rend_crendConvolver(
            pFreq_filt_re = &pCrend->hHrtfCrend->pOut_to_bin_diffuse_re[j][offset];
            pFreq_filt_im = &pCrend->hHrtfCrend->pOut_to_bin_diffuse_im[j][offset];

            for ( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max_diffuse[j][m]; k++ )
            FOR( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max_diffuse[j][m]; k++ )
            {
                tmp_out_re[k] = L_add( Msub_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_re[k] ), pFreq_buf_im[k], pFreq_filt_im[k] ), tmp_out_re[k] );
                tmp_out_im[k] = L_add( Madd_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_im[k] ), pFreq_buf_im[k], pFreq_filt_re[k] ), tmp_out_im[k] );
                tmp64 = W_mult_32_16( pFreq_buf_re[k], pFreq_filt_re[k] );
                tmp64 = W_msu_32_16( tmp64, pFreq_buf_im[k], pFreq_filt_im[k] );
                tmp_out_re[k] = L_add( tmp_out_re[k], W_sat_m( tmp64 ) );
                tmp64 = W_mult_32_16( pFreq_buf_re[k], pFreq_filt_im[k] );
                tmp64 = W_mac_32_16( tmp64, pFreq_buf_im[k], pFreq_filt_re[k] );
                tmp_out_im[k] = L_add( tmp_out_im[k], W_sat_m( tmp64 ) );
            }
            offset = add( offset, k );
            offset = L_add( offset, k );
        }

        ivas_imdft_fx( tmp_out_re, tmp_out_im, pOut, subframe_length );
+4 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@
 *------------------------------------------------------------------------*/
/* TD renderer default HRIR model */
#ifdef DEBUGGING
/* Generated on 04-Sep-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
/* Generated on 05-Sep-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
#endif
#ifdef IVAS_FLOAT_FIXED
@@ -9874,6 +9874,7 @@ const Word32 defaultHRIR_rom_EL48_fx[HRTF_MODEL_N_SECTIONS * 470] = {
48333,42517,45261,43583,42144,31960,26373,40707,32340,28572,
};
#endif // IVAS_FLOAT_FIXED
const uint32_t defaultHRIR_rom_ER48[HRTF_MODEL_N_SECTIONS * 470] = {
0x3e8fdae6,0x3e7ca020,0x3ea71010,0x3e8e5f72,0x3ea8df86,0x3eedf18e,0x3e870070,0x3e91155d,0x3ed7ad3d,0x3ee09b29,0x3edabee2,0x3ebe2887,0x3eda153a,0x3edf229b,0x3ed98d74,0x3e8cd9eb,0x3e76d3fe,0x3ef246f0,0x3e91d6cd,0x3e7d0528,0x3e8cb1ab,0x3e5a8b0f,0x3e73f44d,0x3e78287f,0x3e7d4cbc,
0x3e813e10,0x3e8432dd,0x3e86b9dd,0x3e8ab210,0x3e8f4dfa,0x3e96033f,0x3e9bbb8f,0x3ea4de02,0x3ea142cb,0x3e9cd4df,0x3e907f6e,0x3e8fa9dc,0x3ebdaa9a,0x3ebfeeda,0x3ed0916c,0x3e75db63,0x3e480dca,0x3e2988e2,0x3e26520e,0x3e0dd0cb,0x3e26478f,0x3e29df32,0x3e22ee20,0x3e2b4fa5,0x3e13289b,
@@ -16596,6 +16597,7 @@ const Word32 defaultHRIR_rom_EL32_fx[HRTF_MODEL_N_SECTIONS * 470] = {
36665,35511,35696,35348,36231,32192,30868,31825,30821,36350,
};
#endif // IVAS_FLOAT_FIXED
const uint32_t defaultHRIR_rom_ER32[HRTF_MODEL_N_SECTIONS * 470] = {
0x3ea94c25,0x3e96b736,0x3eabfa9d,0x3e9ec2da,0x3ea826c7,0x3ece0a69,0x3e92fef6,0x3e94d8e1,0x3ebb67a4,0x3ebf2c92,0x3eb94660,0x3ea8ba00,0x3eb7eebc,0x3ebc8bac,0x3eb98a48,0x3e8f3530,0x3e887888,0x3ecc0f62,0x3e94f674,0x3e8d711b,0x3e919dd2,0x3e81a091,0x3e8ba634,0x3e8f2fd4,0x3e9246c0,
0x3e956a5f,0x3e983291,0x3e9c92d7,0x3ea16c7a,0x3ea72b44,0x3eadd775,0x3eb46e52,0x3ec12acc,0x3eb92832,0x3eb44296,0x3eab288c,0x3ea5572d,0x3edfc124,0x3edb5665,0x3ed8a156,0x3e95c9c8,0x3e80cfca,0x3e62c544,0x3e577720,0x3e3e0ba3,0x3e470f96,0x3e48bbfc,0x3e441407,0x3e491480,0x3e3768b5,
@@ -20086,6 +20088,7 @@ const Word32 defaultHRIR_rom_EL16_fx[HRTF_MODEL_N_SECTIONS * 470] = {
150002,147010,147650,145866,151212,135474,130448,130966,127672,150044,
};
#endif // IVAS_FLOAT_FIXED
const uint32_t defaultHRIR_rom_ER16[HRTF_MODEL_N_SECTIONS * 470] = {
0x3ec4944e,0x3eadb6cc,0x3eb770ae,0x3ea07c9a,0x3e9de4d6,0x3eb2cce4,0x3e9537c2,0x3e8fc0f8,0x3ea64bd8,0x3ea6f057,0x3ea48095,0x3ea1483b,0x3ea6b212,0x3ea94fa2,0x3ea700d8,0x3e8c6d20,0x3e8d2e06,0x3eb4be76,0x3e937c88,0x3e92d2c5,0x3ea498f4,0x3e9b7732,0x3ea1e40d,0x3ea4802b,0x3ea7796a,
0x3eab1551,0x3eaf630e,0x3eb3aba4,0x3eb86b96,0x3ebdc1e5,0x3ec281f8,0x3ec740fd,0x3ecf6748,0x3ecaa2f1,0x3ec603de,0x3ebcc27d,0x3eb729e4,0x3ee9b908,0x3ee2461e,0x3ec77a42,0x3eac7df0,0x3e9380d8,0x3e8a4836,0x3e82c8c3,0x3e70d8da,0x3e6dd2ad,0x3e69f304,0x3e6b7f59,0x3e6d1352,0x3e6675a5,
+2 −2
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@
#define WMC_TOOL_SKIP
#ifdef DEBUGGING
/* Generated on 04-Sep-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
/* Generated on 05-Sep-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
#endif
@@ -46960,7 +46960,7 @@ const int16_t fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX] =
#ifdef DEBUGGING
/* Generated on 04-Sep-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
/* Generated on 05-Sep-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
#endif
+3392 −3048

File changed.

Preview size limit exceeded, changes collapsed.

+13 −13
Original line number Diff line number Diff line
@@ -283,12 +283,12 @@ extern const Word16 CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[HRTF_LS_CH
extern const Word16 CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz;
extern const Word16 CRendBin_Combined_BRIR_inv_diffuse_weight_Q_48kHz;
extern const Word16 CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS];
extern const Word16 *CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS];
extern const Word16 CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40];
extern const Word16 CRendBin_Combined_BRIR_coeff_Q_48kHz;
extern const Word16 CRendBin_Combined_BRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955];
extern const Word16 CRendBin_Combined_BRIR_coeff_im_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955];
extern Word16 *CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS];
extern Word16 *CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS];
extern Word16 CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885];
extern Word16 CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885];

/* Sample Rate = 32000 */

@@ -299,12 +299,12 @@ extern const Word16 CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[HRTF_LS_CH
extern const Word16 CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz;
extern const Word16 CRendBin_Combined_BRIR_inv_diffuse_weight_Q_32kHz;
extern const Word16 CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS];
extern const Word16 *CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS];
extern const Word16 CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40];
extern const Word16 CRendBin_Combined_BRIR_coeff_Q_32kHz;
extern const Word16 CRendBin_Combined_BRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2819];
extern const Word16 CRendBin_Combined_BRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2819];
extern Word16 *CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS];
extern Word16 *CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS];
extern const Word16 CRendBin_Combined_BRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818];
extern const Word16 CRendBin_Combined_BRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818];
extern Word16 CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2868];
extern Word16 CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2868];

/* Sample Rate = 16000 */

@@ -315,12 +315,12 @@ extern const Word16 CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[HRTF_LS_CH
extern const Word16 CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz;
extern const Word16 CRendBin_Combined_BRIR_inv_diffuse_weight_Q_16kHz;
extern const Word16 CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS];
extern const Word16 *CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS];
extern const Word16 CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40];
extern const Word16 CRendBin_Combined_BRIR_coeff_Q_16kHz;
extern const Word16 CRendBin_Combined_BRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1800];
extern const Word16 CRendBin_Combined_BRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1800];
extern Word16 *CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS];
extern Word16 *CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS];
extern const Word16 CRendBin_Combined_BRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799];
extern const Word16 CRendBin_Combined_BRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799];
extern Word16 CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2474];
extern Word16 CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2474];


/********************** default HRIR reverb rom tables **********************/
Loading