Commit 46df5bfb authored by emerit's avatar emerit
Browse files

merge with main

parent 71d3e80b
Loading
Loading
Loading
Loading
+25 −12
Original line number Diff line number Diff line
@@ -169,8 +169,13 @@ static void hrtfShGetHrtf_fx( const Word16 bin, const Word16 aziDeg, const Word1
                              ,
                              HRTFS_PARAMBIN_HANDLE hHrtfParambin
#endif
);
#ifdef IVAS_FLOAT_FIXED
static void getDirectPartGains_fx( const Word16 bin, Word16 aziDeg, Word16 eleDeg, Word32 *lRealp, Word32 *lImagp, Word32 *rRealp, Word32 *rImagp, const UWord8 renderStereoOutputInsteadOfBinaural, Word32 Rmat[3][3] /*Q30*/, PARAMBIN_HRTF_GAIN_CACHE *gainCache, const Word16 isHeadtracked );
static void getDirectPartGains_fx( const Word16 bin, Word16 aziDeg, Word16 eleDeg, Word32 *lRealp, Word32 *lImagp, Word32 *rRealp, Word32 *rImagp, const UWord8 renderStereoOutputInsteadOfBinaural, Word32 Rmat[3][3] /*Q30*/, PARAMBIN_HRTF_GAIN_CACHE *gainCache, const Word16 isHeadtracked
#ifdef FIX_POINT_HRTF_FILE_FORMAT
                                   ,
                                   HRTFS_PARAMBIN_HANDLE hHrtfParambin
#endif
#else
static void hrtfShGetHrtf( const int16_t bin, const int16_t aziDeg, const int16_t eleDeg, float *lRealp, float *lImagp, float *rRealp, float *rImagp, PARAMBIN_HRTF_GAIN_CACHE *gainCache, const int16_t useCachedValue
#ifdef FIX_POINT_HRTF_FILE_FORMAT
@@ -180,12 +185,6 @@ static void hrtfShGetHrtf( const int16_t bin, const int16_t aziDeg, const int16_
);
#endif

#ifdef IVAS_FLOAT_FIXED
static void getDirectPartGains_fx( const Word16 bin, Word16 aziDeg, Word16 eleDeg, Word32 *lRealp, Word32 *lImagp, Word32 *rRealp, Word32 *rImagp, const UWord8 renderStereoOutputInsteadOfBinaural, Word32 Rmat[3][3], PARAMBIN_HRTF_GAIN_CACHE *gainCache, const Word16 isHeadtracked
#ifdef FIX_POINT_HRTF_FILE_FORMAT
                                   ,
                                   HRTFS_PARAMBIN_HANDLE hHrtfParambin
#endif
);
#else
static void getDirectPartGains( const int16_t bin, int16_t aziDeg, int16_t eleDeg, float *lRealp, float *lImagp, float *rRealp, float *rImagp, const uint8_t stereoMode, float Rmat[3][3], PARAMBIN_HRTF_GAIN_CACHE *gainCache, const int16_t isHeadtracked
@@ -656,6 +655,7 @@ void ivas_dirac_dec_close_binaural_data(
    DIRAC_DEC_BIN_HANDLE *hBinaural /* i/o: decoder DirAC binaural data handle  */
)
{

    test();
    IF( hBinaural == NULL || *hBinaural == NULL )
    {
@@ -683,6 +683,7 @@ void ivas_dirac_dec_close_binaural_data(
    DIRAC_DEC_BIN_HANDLE *hBinaural /* i/o: decoder DirAC binaural data handle  */
)
{

    IF( hBinaural == NULL || *hBinaural == NULL )
    {
        return;
@@ -735,13 +736,24 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs_fx(
        {
            FOR( j = 0; j < HRTF_SH_CHANNELS; j++ )
            {
                Copy( hrtfShCoeffsRe_fx[i][j], hrtfParambin->hrtfShCoeffsRe_fx[i][j], HRTF_NUM_BINS ); /*Q14*/
                Copy( hrtfShCoeffsIm_fx[i][j], hrtfParambin->hrtfShCoeffsIm_fx[i][j], HRTF_NUM_BINS ); /*Q14*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
                Copy( hrtfShCoeffsRe_fx[i][j], hrtfParambin->hrtfShCoeffsRe_fx[i][j], HRTF_NUM_BINS );
                Copy( hrtfShCoeffsIm_fx[i][j], hrtfParambin->hrtfShCoeffsIm_fx[i][j], HRTF_NUM_BINS );
#else
                Copy( hrtfShCoeffsRe_fx[i][j], hrtfParambin->hrtfShCoeffsRe_fx[i][j], HRTF_NUM_BINS );
                Copy( hrtfShCoeffsIm_fx[i][j], hrtfParambin->hrtfShCoeffsIm_fx[i][j], HRTF_NUM_BINS );
#endif
            }
        }
        Copy32( parametricReverberationTimes_fx, hrtfParambin->parametricReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX );                   /*Q31*/
        Copy32( parametricReverberationEneCorrections_fx, hrtfParambin->parametricReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); /*Q31*/
        Copy32( parametricEarlyPartEneCorrection_fx, hrtfParambin->parametricEarlyPartEneCorrection_fx, CLDFB_NO_CHANNELS_MAX );           /*Q28*/
#ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM
        Copy( parametricReverberationTimes, hrtfParambin->parametricReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX );
        Copy( parametricReverberationEneCorrections, hrtfParambin->parametricReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX );
        Copy( parametricEarlyPartEneCorrection, hrtfParambin->parametricEarlyPartEneCorrection_fx, CLDFB_NO_CHANNELS_MAX );
#else
        Copy32( parametricReverberationTimes_fx, hrtfParambin->parametricReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX );
        Copy32( parametricReverberationEneCorrections_fx, hrtfParambin->parametricReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX );
        Copy32( parametricEarlyPartEneCorrection_fx, hrtfParambin->parametricEarlyPartEneCorrection_fx, CLDFB_NO_CHANNELS_MAX );
#endif
        *hHrtfParambin = hrtfParambin;
    }

@@ -7908,6 +7920,7 @@ static void ivas_masa_ext_rend_parambin_internal_fx(
    Word32 *output_fx[], /* Q11*/
    const Word16 subframe )
{

    DIRAC_DEC_BIN_HANDLE hDiracDecBin;
    SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom;
    PARAMBIN_REND_CONFIG config_data;