Commit 808792d0 authored by Nicolas Roussin's avatar Nicolas Roussin
Browse files

Accuracy analysis.

parent f73fc725
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -142,7 +142,8 @@

/* #################### Start BASOP optimization switches ############################ */

#define NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES     /* Dolby: task 2157: optimize ivas_dirac_dec_binaural_formulate_input_covariance_matrices */
#define NONBE_2157_INPUT_COV_MATRICES                   /* Dolby: task 2157: optimize ivas_dirac_dec_binaural_formulate_input_covariance_matrices */
#define NONBE_2157_ACCURACY_ANALYSIS                    /* Dolby: task 2157: accuracy analysis */

/* #################### End BASOP optimization switches ############################ */

+324 −108

File changed.

Preview size limit exceeded, changes collapsed.

+16 −1
Original line number Diff line number Diff line
@@ -612,13 +612,28 @@ typedef struct ivas_dirac_dec_binaural_data_structure
    Word16 q_processMtxDec;
    Word16 q_processMtxDecPrev;

#ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES
#ifdef NONBE_2157_INPUT_COV_MATRICES
    Word64 ChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX];
    Word64 ChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX];
    Word64 ChCrossRe[CLDFB_NO_CHANNELS_MAX];
    Word64 ChCrossRePrev[CLDFB_NO_CHANNELS_MAX];
    Word64 ChCrossIm[CLDFB_NO_CHANNELS_MAX];
    Word64 ChCrossImPrev[CLDFB_NO_CHANNELS_MAX];
#ifdef NONBE_2157_ACCURACY_ANALYSIS
    float fChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX];
    float fChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX];
    float fChCrossRe[CLDFB_NO_CHANNELS_MAX];
    float fChCrossRePrev[CLDFB_NO_CHANNELS_MAX];
    float fChCrossIm[CLDFB_NO_CHANNELS_MAX];
    float fChCrossImPrev[CLDFB_NO_CHANNELS_MAX];

    double dChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX];
    double dChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX];
    double dChCrossRe[CLDFB_NO_CHANNELS_MAX];
    double dChCrossRePrev[CLDFB_NO_CHANNELS_MAX];
    double dChCrossIm[CLDFB_NO_CHANNELS_MAX];
    double dChCrossImPrev[CLDFB_NO_CHANNELS_MAX];
#endif
#endif

    Word32 ChEnePrev_fx[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX];
+13 −4
Original line number Diff line number Diff line
@@ -9924,6 +9924,7 @@ static ivas_error ivas_masa_ext_rend_dirac_rend_init(
    return error;
}

#include "string.h"

static ivas_error ivas_masa_ext_rend_parambin_init(
    input_masa *inputMasa,                  /* i/o: MASA external renderer structure        */
@@ -10011,19 +10012,27 @@ static ivas_error ivas_masa_ext_rend_parambin_init(
            move16();
            move16();
            move16();
#ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES
#ifdef NONBE_2157_INPUT_COV_MATRICES
            set64_fx( hDiracDecBin->ChEnePrev[j], 0, nBins );
#else
            memset( hDiracDecBin->fChEnePrev[j], 0, nBins * sizeof( float ) );
            memset( hDiracDecBin->dChEnePrev[j], 0, nBins * sizeof( double ) );
#endif
#ifdef NONBE_2157_USE_CURRENT_VERSION
            set_zero_fx( hDiracDecBin->ChEnePrev_fx[j], nBins );
            set16_fx( hDiracDecBin->ChEnePrev_e[j], 0, nBins );
#endif
            set_zero_fx( hDiracDecBin->ChEneOutPrev_fx[j], nBins );
            set16_fx( hDiracDecBin->ChEneOutPrev_e[j], 0, nBins );
        }
#ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES
#ifdef NONBE_2157_INPUT_COV_MATRICES
        set64_fx( hDiracDecBin->ChCrossRePrev, 0, nBins );
        set64_fx( hDiracDecBin->ChCrossImPrev, 0, nBins );
#else
        memset( hDiracDecBin->fChCrossRePrev, 0, nBins * sizeof( float ) );
        memset( hDiracDecBin->fChCrossImPrev, 0, nBins * sizeof( float ) );
        memset( hDiracDecBin->dChCrossRePrev, 0, nBins * sizeof( double ) );
        memset( hDiracDecBin->dChCrossImPrev, 0, nBins * sizeof( double ) );
#endif
#ifdef NONBE_2157_USE_CURRENT_VERSION
        set_zero_fx( hDiracDecBin->ChCrossRePrev_fx, nBins );
        set_zero_fx( hDiracDecBin->ChCrossImPrev_fx, nBins );
        set16_fx( hDiracDecBin->ChCrossRePrev_e, 0, nBins );