Commit 7af9067f authored by Ke Zhao's avatar Ke Zhao
Browse files

Update SBA CLDFB-domain HRTFs

parent a79623e8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1510,6 +1510,11 @@ typedef enum
#define BINAURAL_MAXBANDS                       60                          /* Max number of bands */
#define BINAURAL_CONVBANDS                      50                          /* Bands upto which convolution is performed */
#define BINAURAL_NTAPS                           5

#ifdef UPDATE_FASTCONV_SBA_FILTER
#define BINAURAL_NTAPS_SBA                       3
#endif

#define BINAURAL_NTAPS_MAX                      96

#define HRTF_SH_ORDER                           3
+1 −0
Original line number Diff line number Diff line
@@ -173,6 +173,7 @@

#define FIX_559_EXTL_IGF_MISMATCH                       /* VA: issue 559: fix mismatch between st->extl and st->igf observed as crash in PlanarSBA bitrate switching */

#define UPDATE_FASTCONV_SBA_FILTER

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+35 −0
Original line number Diff line number Diff line
@@ -179,8 +179,19 @@ static ivas_error ivas_binRenderer_convModuleOpen(
        }
    }
    else
    {
#ifdef UPDATE_FASTCONV_SBA_FILTER
        if ( hBinRenderer->ivas_format == SBA_FORMAT )
        {
            hBinRenConvModule->numTaps = BINAURAL_NTAPS_SBA;
        }
        else
        {
            hBinRenConvModule->numTaps = BINAURAL_NTAPS;
        }
#else
        hBinRenConvModule->numTaps = BINAURAL_NTAPS;
#endif

        /* Use fixed order filtering */
        bandIdx = 0;
@@ -429,6 +440,29 @@ static ivas_error ivas_binaural_hrtf_open(
                mvr2r( rightBRIRImag[i][j], HrtfFastConv->rightBRIRImag[i][j], BINAURAL_NTAPS_MAX );
            }

#ifdef UPDATE_FASTCONV_SBA_FILTER
            for ( j = 0; j < HRTF_SH_CHANNELS; j++ )
            {
                mvr2r( leftHRIRReal_HOA3[i][j], HrtfFastConv->leftHRIRReal_HOA3[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( leftHRIRImag_HOA3[i][j], HrtfFastConv->leftHRIRImag_HOA3[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRReal_HOA3[i][j], HrtfFastConv->rightHRIRReal_HOA3[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRImag_HOA3[i][j], HrtfFastConv->rightHRIRImag_HOA3[i][j], BINAURAL_NTAPS_SBA );
            }
            for ( j = 0; j < 9; j++ )
            {
                mvr2r( leftHRIRReal_HOA2[i][j], HrtfFastConv->leftHRIRReal_HOA2[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( leftHRIRImag_HOA2[i][j], HrtfFastConv->leftHRIRImag_HOA2[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRReal_HOA2[i][j], HrtfFastConv->rightHRIRReal_HOA2[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRImag_HOA2[i][j], HrtfFastConv->rightHRIRImag_HOA2[i][j], BINAURAL_NTAPS_SBA );
            }
            for ( j = 0; j < 4; j++ )
            {
                mvr2r( leftHRIRReal_FOA[i][j], HrtfFastConv->leftHRIRReal_FOA[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( leftHRIRImag_FOA[i][j], HrtfFastConv->leftHRIRImag_FOA[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRReal_FOA[i][j], HrtfFastConv->rightHRIRReal_FOA[i][j], BINAURAL_NTAPS_SBA );
                mvr2r( rightHRIRImag_FOA[i][j], HrtfFastConv->rightHRIRImag_FOA[i][j], BINAURAL_NTAPS_SBA );
            }
#else
            for ( j = 0; j < HRTF_SH_CHANNELS; j++ )
            {
                mvr2r( leftHRIRReal_HOA3[i][j], HrtfFastConv->leftHRIRReal_HOA3[i][j], BINAURAL_NTAPS );
@@ -450,6 +484,7 @@ static ivas_error ivas_binaural_hrtf_open(
                mvr2r( rightHRIRReal_FOA[i][j], HrtfFastConv->rightHRIRReal_FOA[i][j], BINAURAL_NTAPS );
                mvr2r( rightHRIRImag_FOA[i][j], HrtfFastConv->rightHRIRImag_FOA[i][j], BINAURAL_NTAPS );
            }
#endif
        }

        mvr2r( fastconvReverberationTimes, HrtfFastConv->fastconvReverberationTimes, CLDFB_NO_CHANNELS_MAX );
+7059 −0

File changed.

Preview size limit exceeded, changes collapsed.

+15 −0
Original line number Diff line number Diff line
@@ -44,6 +44,20 @@

/* Binaural rendering data set based on HRIRs */
extern const float FASTCONV_HRIR_latency_s;
#ifdef UPDATE_FASTCONV_SBA_FILTER
extern float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][HRTF_SH_CHANNELS][BINAURAL_NTAPS_SBA];
extern float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][HRTF_SH_CHANNELS][BINAURAL_NTAPS_SBA];
extern float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][HRTF_SH_CHANNELS][BINAURAL_NTAPS_SBA];
extern float rightHRIRImag_HOA3[BINAURAL_CONVBANDS][HRTF_SH_CHANNELS][BINAURAL_NTAPS_SBA];
extern float leftHRIRReal_HOA2[BINAURAL_CONVBANDS][9][BINAURAL_NTAPS_SBA];
extern float leftHRIRImag_HOA2[BINAURAL_CONVBANDS][9][BINAURAL_NTAPS_SBA];
extern float rightHRIRReal_HOA2[BINAURAL_CONVBANDS][9][BINAURAL_NTAPS_SBA];
extern float rightHRIRImag_HOA2[BINAURAL_CONVBANDS][9][BINAURAL_NTAPS_SBA];
extern float leftHRIRReal_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS_SBA];
extern float leftHRIRImag_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS_SBA];
extern float rightHRIRReal_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS_SBA];
extern float rightHRIRImag_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS_SBA];
#else
extern float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][HRTF_SH_CHANNELS][BINAURAL_NTAPS];
extern float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][HRTF_SH_CHANNELS][BINAURAL_NTAPS];
extern float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][HRTF_SH_CHANNELS][BINAURAL_NTAPS];
@@ -56,6 +70,7 @@ extern float leftHRIRReal_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS];
extern float leftHRIRImag_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS];
extern float rightHRIRReal_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS];
extern float rightHRIRImag_FOA[BINAURAL_CONVBANDS][4][BINAURAL_NTAPS];
#endif

extern float leftHRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS];
extern float leftHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS];
Loading