Commit 9c4849cc authored by emerit's avatar emerit
Browse files

version ok with parabin

parent c95d1c0b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@
#define FIX_1099_JBM_MD_HANDLE_ALLOC                    /* VA: issue 1099: Limit the allocation of `hJbmMetadata` handle to MASA and OMASA only */
#define FIX_1111_TDM_LSP_BUFFER                         /* VA: issue 1111: remove unused buffer `tdm_lspQ_PCh[]' */
#define FIX_1123_FASTCONV_16BIT_ROM                     /* FhG: issue 1123: update FastConv ROM tables and scripts to generate 16 bit tables instead of float */
#define FIX_1123_PARAMBIN_16BIT_ROM                     /* FhG,Nok: issue 1123: update ParamBin ROM tables and scripts to generate 16 bit tables instead of float */
#define FIX_1101_CLEANING_JBM_CALL                      /* VA: issue 1101: remove obsolete call of ivas_jbm_dec_tc_buffer_open() */

/* #################### End BE switches ################################## */
+21 −0
Original line number Diff line number Diff line
@@ -373,7 +373,11 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs(
    HRTFS_PARAMBIN_HANDLE *hHrtfParambin /* i/o: HRTF structure for rendering */
)
{
#ifdef FIX_1123_PARAMBIN_16BIT_ROM
    int16_t i, j, k;
#else
    int16_t i, j;
#endif
    if ( hHrtfParambin != NULL && *hHrtfParambin != NULL )
    {
        /* Tables already loaded from file */
@@ -393,14 +397,31 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs(
        {
            for ( j = 0; j < HRTF_SH_CHANNELS; j++ )
            {
#ifdef FIX_1123_PARAMBIN_16BIT_ROM
                for ( k = 0; k < HRTF_NUM_BINS; k++ )
                {
                    hrtfParambin->hrtfShCoeffsRe[i][j][k] = (float) hrtfShCoeffsRe[i][j][k] * powf( 2.f, -1.f * (float) hrtfShCoeffs_factorQ );
                    hrtfParambin->hrtfShCoeffsIm[i][j][k] = (float) hrtfShCoeffsIm[i][j][k] * powf( 2.f, -1.f * (float) hrtfShCoeffs_factorQ );
                }
#else
                mvr2r( hrtfShCoeffsRe[i][j], hrtfParambin->hrtfShCoeffsRe[i][j], HRTF_NUM_BINS );
                mvr2r( hrtfShCoeffsIm[i][j], hrtfParambin->hrtfShCoeffsIm[i][j], HRTF_NUM_BINS );
#endif
            }
        }

#ifdef FIX_1123_PARAMBIN_16BIT_ROM
        for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ )
        {
            hrtfParambin->parametricReverberationTimes[i] = (float) parametricReverberationTimes[i] * powf( 2.f, -1.f * (float) parametricReverberationTimes_factorQ );
            hrtfParambin->parametricReverberationEneCorrections[i] = (float) parametricReverberationEneCorrections[i] * powf( 2.f, -1.f * (float) parametricReverberationEneCorrections_factorQ );
            hrtfParambin->parametricEarlyPartEneCorrection[i] = (float) parametricEarlyPartEneCorrection[i] * powf( 2.f, -1.f * (float) parametricEarlyPartEneCorrection_factorQ );
        }
#else
        mvr2r( parametricReverberationTimes, hrtfParambin->parametricReverberationTimes, CLDFB_NO_CHANNELS_MAX );
        mvr2r( parametricReverberationEneCorrections, hrtfParambin->parametricReverberationEneCorrections, CLDFB_NO_CHANNELS_MAX );
        mvr2r( parametricEarlyPartEneCorrection, hrtfParambin->parametricEarlyPartEneCorrection, CLDFB_NO_CHANNELS_MAX );
#endif

        *hHrtfParambin = hrtfParambin;
    }
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@
   the United Nations Convention on Contracts on the International Sales of Goods.
*******************************************************************************************************/
/* Generated on 08-Jun-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
/* Generated on 19-Jun-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
+46032 −46021

File changed.

Preview size limit exceeded, changes collapsed.

+73 −2
Original line number Diff line number Diff line
@@ -43,6 +43,51 @@
 *------------------------------------------------------------------------*/

/* Binaural rendering data set based on HRIRs */
#ifdef FIX_1123_FASTCONV_16BIT_ROM
extern float FASTCONV_HOA3_latency_s;
extern uint16_t FASTCONV_HRIR_HOA3_factorQ;
extern int16_t leftHRIRReal_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t leftHRIRImag_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t rightHRIRReal_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t rightHRIRImag_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA];

extern float FASTCONV_HOA2_latency_s;
extern uint16_t FASTCONV_HRIR_HOA2_factorQ;
extern int16_t leftHRIRReal_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t leftHRIRImag_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t rightHRIRReal_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t rightHRIRImag_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA];

extern float FASTCONV_FOA_latency_s;
extern uint16_t FASTCONV_HRIR_FOA_factorQ;
extern int16_t leftHRIRReal_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t leftHRIRImag_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t rightHRIRReal_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA];
extern int16_t rightHRIRImag_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA];

extern const float FASTCONV_HRIR_latency_s;
extern uint16_t FASTCONV_HRIR_factorQ;
extern int16_t leftHRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS];
extern int16_t leftHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS];
extern int16_t rightHRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS];
extern int16_t rightHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS];


/* Binaural rendering data set based on BRIRs */
extern const float FASTCONV_BRIR_latency_s;
extern uint16_t FASTCONV_BRIR_factorQ;
extern int16_t leftBRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX];
extern int16_t leftBRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX];
extern int16_t rightBRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX];
extern int16_t rightBRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX];

/* Reverberation parameters based on BRIRs for fastconv */
extern uint16_t fastconvReverberationTimes_factorQ;
extern int16_t fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX];
extern uint16_t fastconvReverberationEneCorrections_factorQ;
extern int16_t fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX];

#else
extern const float FASTCONV_HRIR_latency_s;
extern float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA];
extern float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA];
@@ -65,8 +110,6 @@ extern float rightHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]
extern float FASTCONV_HOA3_latency_s;
extern float FASTCONV_HOA2_latency_s;
extern float FASTCONV_FOA_latency_s;
extern float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS];
extern float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS];


/* Binaural rendering data set based on BRIRs */
@@ -80,9 +123,37 @@ extern float rightBRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_
extern float fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX];
extern float fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX];

#endif

#ifdef FIX_1123_PARAMBIN_16BIT_ROM
/* 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
 * renderer */
extern uint16_t hrtfShCoeffs_factorQ;
extern int16_t hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS];
extern int16_t hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS];

/* 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
 * renderer */
extern const uint16_t parametricReverberationTimes_factorQ;
extern const uint16_t parametricReverberationEneCorrections_factorQ;
extern const uint16_t parametricEarlyPartEneCorrection_factorQ;
extern const int16_t parametricReverberationTimes[CLDFB_NO_CHANNELS_MAX];
extern const int16_t parametricReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX];
extern const int16_t parametricEarlyPartEneCorrection[CLDFB_NO_CHANNELS_MAX];
#else
/* 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
 * renderer */
extern float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS];
extern float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS];

/* 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
 * renderer */
extern const float parametricReverberationTimes[CLDFB_NO_CHANNELS_MAX];
extern const float parametricReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX];
extern const float parametricEarlyPartEneCorrection[CLDFB_NO_CHANNELS_MAX];
#endif
Loading