Commit 162574b7 authored by emerit's avatar emerit
Browse files

fix build when FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM is off

parent a3d826b6
Loading
Loading
Loading
Loading
+25 −12
Original line number Diff line number Diff line
@@ -486,8 +486,13 @@ static ivas_error ivas_binRenderer_convModuleOpen(
        for ( chIdx = 0; chIdx < hBinRenderer->nInChannels; chIdx++ )
        {
            /* set the memories to zero */
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            set16_zero_fx( hBinRenConvModule->filterStatesLeftReal_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] );
            set16_zero_fx( hBinRenConvModule->filterStatesLeftImag_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] );
#else
            set_zero_fx( hBinRenConvModule->filterStatesLeftReal_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] );
            set_zero_fx( hBinRenConvModule->filterStatesLeftImag_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] );
#endif
        }
    }

@@ -669,63 +674,63 @@ static ivas_error ivas_binaural_hrtf_open_fx(
        test();
        IF( EQ_32( input_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( renderer_type, RENDERER_BINAURAL_FASTCONV ) )
        {
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HRIR_latency_s_fx;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->ntaps = BINAURAL_NTAPS;
            move16();
            move16();
#else
            HrtfFastConv->FASTCONV_HRIR_latency_s_fx = FASTCONV_HRIR_latency_s_fx;
            move32();
            move16();
#endif
        }
        if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_HOA2 ) )
        {
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HOA2_latency_s_fx;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA;
            move16();
            move16();
#else
            HrtfFastConv->FASTCONV_HOA2_latency_s_fx = FASTCONV_HOA2_latency_s_fx;
            move32();
            move16();
#endif
        }
        if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_HOA3 ) )
        {
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HOA3_latency_s_fx;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA;
            move16();
            move16();
#else
            HrtfFastConv->FASTCONV_HOA3_latency_s_fx = FASTCONV_HOA3_latency_s_fx;
            move32();
            move16();
#endif
        }
        if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_FOA ) )
        {
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_FOA_latency_s_fx;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA;
            move16();
            move16();
#else
            HrtfFastConv->FASTCONV_FOA_latency_s_fx = FASTCONV_FOA_latency_s_fx;
            move32();
            move16();
#endif
        }
        test();
        IF( EQ_32( input_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) )
        {
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_BRIR_latency_s_fx;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
            HrtfFastConv->ntaps = BINAURAL_NTAPS_MAX;
            move16();
            move16();
#else
            HrtfFastConv->FASTCONV_BRIR_latency_s_fx = FASTCONV_BRIR_latency_s_fx;
            move32();
            move16();
#endif
        }

@@ -818,8 +823,8 @@ static ivas_error ivas_binaural_hrtf_open_fx(
            }
        }
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
        mvs2s( fastconvReverberationTimes, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX );
        mvs2s( fastconvReverberationEneCorrections, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX );
        mvs2s( fastconvReverberationTimes_fx, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX );
        mvs2s( fastconvReverberationEneCorrections_fx, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX );
#else
        Copy32( fastconvReverberationTimes_fx, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX );
        Copy32( fastconvReverberationEneCorrections_fx, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX );
@@ -1083,7 +1088,11 @@ ivas_error ivas_binRenderer_open_fx(
        }

        hBinRenderer->hoa_dec_mtx = st_ivas->hoa_dec_mtx;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
        st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), st_ivas->hHrtfFastConv->factor_Q_latency_s_fx );
#else
        st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), 31 );
#endif
        move32();
    }
    ELSE
@@ -1094,7 +1103,11 @@ ivas_error ivas_binRenderer_open_fx(
            return error;
        }

#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
        st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), st_ivas->hHrtfFastConv->factor_Q_latency_s_fx );
#else
        st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), 31 );
#endif
    }

    /* Allocate memories needed for reverb module */
+2 −2
Original line number Diff line number Diff line
@@ -46946,14 +46946,14 @@ const int16_t rightBRIRImag_fx[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NT
};
const int16_t fastconvReverberationTimes_factorQ = 15;
const int16_t fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX] = 
const int16_t fastconvReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX] = 
{
    13725,    6792,    6652,    6788,    7095,    7735,    7554,    7509,    7471,    7205,    7392,    7237,    7330,    7306,    7327,    7449,    7454,    7331,    7214,    7168,    7223,    7152,    6988,    6892,    6797,    6513,    6431,    6387,    6237,    6046,    5909,    5773,    5784,    5819,    6016,    6420,    6660,    6829,    7034,    7209,    7305,    7550,    7665,    7656,    7744,    7780,    7918,    7901,    7827,    7942,    8102,    8059,    8133,    8041,    7994,    7999,    7828,    7950,    7695,    8292,    
};
const int16_t fastconvReverberationEneCorrections_factorQ = 15;
const int16_t fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX] = 
const int16_t fastconvReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX] = 
{
    19,    7,    8,    7,    8,    50,    38,    36,    41,    43,    76,    80,    88,    89,    86,    84,    90,    89,    85,    83,    112,    58,    32,    23,    20,    18,    17,    19,    20,    18,    41,    40,    31,    20,    9,    3,    2,    2,    1,    1,    1,    1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    
};
+2 −2
Original line number Diff line number Diff line
@@ -84,9 +84,9 @@ extern Word16 rightBRIRImag_fx[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NT

/* Reverberation parameters based on BRIRs for fastconv */
extern const Word16 fastconvReverberationTimes_Q;
extern const Word16 fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX];
extern const Word16 fastconvReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX];
extern const Word16 fastconvReverberationEneCorrections_Q;
extern const Word16 fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX];
extern const Word16 fastconvReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX];

/* Binaural rendering data set based on BRIRs, to be used in a combined manner
 * with the above binaural rendering data set based on HRIRs for parametric
+2 −2
Original line number Diff line number Diff line
@@ -1526,16 +1526,16 @@ typedef struct ivas_hrtfs_fastconv_struct
    Word16 ***leftImag_fx;
    Word16 ***rightReal_fx;
    Word16 ***rightImag_fx;
    int16_t n_channels;
#else
    Word32 FASTCONV_latency_s_fx;

    Word32 ***leftReal_fx;
    Word32 ***leftImag_fx;
    Word32 ***rightReal_fx;
    Word32 ***righImag_fx;
    Word32 ***rightImag_fx;
#endif

    int16_t n_channels;
    uint16_t ntaps;

    Word16 allocate_init_flag; /*Memory allocation flag 0: if the hrtf pointers are allocated at application level , 1: of allocated at ivas_binaural_hrtf_open() */
+20 −0
Original line number Diff line number Diff line
@@ -1242,7 +1242,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
    int16_t *ptW16;
    uint16_t ntaps;
    uint16_t nbchan;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    int16_t lat_q;
#endif
    int32_t latency_s;

    if ( hrtf_data == NULL )
@@ -1255,7 +1257,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
    hrtf_data_rptr = hrtf_data;

    /* latency_s Q factor*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    lat_q = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
    hrtf_data_rptr += sizeof( Word16 );

    /* latency_s */
@@ -1276,7 +1280,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata(

    ( *hHRTF )->ntaps = ntaps;
    ( *hHRTF )->FASTCONV_latency_s_fx = latency_s;
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    ( *hHRTF )->factor_Q_latency_s_fx = lat_q;
#endif
    ( *hHRTF )->n_channels = nbchan;

    if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV && input_cfg == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED )
@@ -1339,7 +1345,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
    }

    /* HRIR/BRIR Q factor*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    ( *hHRTF )->factor_Q_filters_fx = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
    hrtf_data_rptr += sizeof( Word16 );

    for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
@@ -1403,7 +1411,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
        hrtf_data_rptr += sizeof( uint16_t );

        /* fastconvReverberationTimes Q factor*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
        ( *hHRTF )->factor_Q_ReverberationTimes_fx = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
        hrtf_data_rptr += sizeof( Word16 );

        ptW16 = (int16_t *) hrtf_data_rptr;
@@ -1414,7 +1424,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
        hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t );

        /* fastconvReverberationEneCorrections Q factor */
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
        ( *hHRTF )->factor_Q_ReverberationEneCorrections_fx = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
        hrtf_data_rptr += sizeof( Word16 );

        ptW16 = (int16_t *) hrtf_data_rptr;
@@ -1468,7 +1480,9 @@ static ivas_error create_parambin_HRTF_from_rawdata(

    /* HRTF */
    /* Q factor*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    ( *hHRTF )->factor_Q_hrtfShCoeffs_fx = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
    hrtf_data_rptr += sizeof( Word16 );

    data_size_tmp = HRTF_NUM_BINS * sizeof( int16_t );
@@ -1505,7 +1519,9 @@ static ivas_error create_parambin_HRTF_from_rawdata(
    hrtf_data_rptr += sizeof( uint16_t );

    /* Q factor*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    ( *hHRTF )->factor_Q_reverberationTimes_fx = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
    hrtf_data_rptr += sizeof( Word16 );

    ptW16 = (int16_t *) hrtf_data_rptr;
@@ -1516,7 +1532,9 @@ static ivas_error create_parambin_HRTF_from_rawdata(
    hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t );

    /* Q factor*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    ( *hHRTF )->factor_Q_reverberationEneCorrections_fx = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
    hrtf_data_rptr += sizeof( Word16 );

    ptW16 = (int16_t *) hrtf_data_rptr;
@@ -1527,7 +1545,9 @@ static ivas_error create_parambin_HRTF_from_rawdata(
    hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t );

    /* Q factor*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
    ( *hHRTF )->factor_Q_EarlyPartEneCorrection_fx = *( (Word16 *) ( hrtf_data_rptr ) );
#endif
    hrtf_data_rptr += sizeof( Word16 );

    ptW16 = (int16_t *) hrtf_data_rptr;
Loading