Loading lib_rend/ivas_omasa_ana.c +20 −1 Original line number Original line Diff line number Diff line Loading @@ -71,7 +71,7 @@ ivas_error ivas_omasa_ana_open( int16_t i, j; int16_t i, j; OMASA_ANA_HANDLE hOMasa; OMASA_ANA_HANDLE hOMasa; int16_t numAnalysisChannels; int16_t numAnalysisChannels; int16_t maxBin; int16_t maxBin, input_frame; ivas_error error; ivas_error error; error = IVAS_ERR_OK; error = IVAS_ERR_OK; Loading Loading @@ -110,6 +110,11 @@ ivas_error ivas_omasa_ana_open( openCldfb( &( hOMasa->cldfbAnaEnc[i] ), CLDFB_ANALYSIS, input_Fs, CLDFB_PROTOTYPE_5_00MS ); openCldfb( &( hOMasa->cldfbAnaEnc[i] ), CLDFB_ANALYSIS, input_Fs, CLDFB_PROTOTYPE_5_00MS ); } } for ( ; i < MAX_NUM_OBJECTS; i++ ) { hOMasa->cldfbAnaEnc[i] = NULL; } /* intensity 3-dim */ /* intensity 3-dim */ for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) { { Loading Loading @@ -138,6 +143,12 @@ ivas_error ivas_omasa_ana_open( set_f( hOMasa->prev_object_dm_gains[i], (float) sqrt( 0.5 ), MASA_MAX_TRANSPORT_CHANNELS ); set_f( hOMasa->prev_object_dm_gains[i], (float) sqrt( 0.5 ), MASA_MAX_TRANSPORT_CHANNELS ); } } input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); for ( i = 0; i < input_frame; i++ ) { hOMasa->interpolator[i] = ( (float) i ) / ( (float) input_frame ); } hOMasa->index_buffer_intensity = 0; hOMasa->index_buffer_intensity = 0; if ( ( hOMasa->hMasaOut = (MASA_DECODER_EXT_OUT_META_HANDLE) malloc( sizeof( MASA_DECODER_EXT_OUT_META ) ) ) == NULL ) if ( ( hOMasa->hMasaOut = (MASA_DECODER_EXT_OUT_META_HANDLE) malloc( sizeof( MASA_DECODER_EXT_OUT_META ) ) ) == NULL ) Loading @@ -151,6 +162,14 @@ ivas_error ivas_omasa_ana_open( } } generate_gridEq( hOMasa->sph_grid16 ); generate_gridEq( hOMasa->sph_grid16 ); for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; i++ ) { set_zero( hOMasa->energy[i], MASA_FREQUENCY_BANDS ); } set_zero( hOMasa->ism_azimuth, MAX_NUM_OBJECTS ); set_zero( hOMasa->ism_elevation, MAX_NUM_OBJECTS ); ( *hOMasaPtr ) = hOMasa; ( *hOMasaPtr ) = hOMasa; return error; return error; Loading lib_rend/ivas_stat_rend.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -885,8 +885,8 @@ typedef struct ivas_mcmasa_ana_data_structure float *buffer_intensity_real_vert[DIRAC_NO_COL_AVG_DIFF]; float *buffer_intensity_real_vert[DIRAC_NO_COL_AVG_DIFF]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float chnlToFoaMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaMtx[FOA_CHANNELS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaEvenMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaEvenMtx[FOA_CHANNELS][MCMASA_MAX_ANA_CHANS]; float ls_azimuth[MCMASA_MAX_ANA_CHANS]; float ls_azimuth[MCMASA_MAX_ANA_CHANS]; int16_t leftNearest[MCMASA_MAX_ANA_CHANS]; int16_t leftNearest[MCMASA_MAX_ANA_CHANS]; int16_t rightNearest[MCMASA_MAX_ANA_CHANS]; int16_t rightNearest[MCMASA_MAX_ANA_CHANS]; Loading Loading @@ -927,7 +927,7 @@ typedef struct ivas_omasa_ana_data_structure float *buffer_intensity_real[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF]; float *buffer_intensity_real[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float chnlToFoaMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaMtx[FOA_CHANNELS][MCMASA_MAX_ANA_CHANS]; float interpolator[L_FRAME48k]; float interpolator[L_FRAME48k]; Loading Loading
lib_rend/ivas_omasa_ana.c +20 −1 Original line number Original line Diff line number Diff line Loading @@ -71,7 +71,7 @@ ivas_error ivas_omasa_ana_open( int16_t i, j; int16_t i, j; OMASA_ANA_HANDLE hOMasa; OMASA_ANA_HANDLE hOMasa; int16_t numAnalysisChannels; int16_t numAnalysisChannels; int16_t maxBin; int16_t maxBin, input_frame; ivas_error error; ivas_error error; error = IVAS_ERR_OK; error = IVAS_ERR_OK; Loading Loading @@ -110,6 +110,11 @@ ivas_error ivas_omasa_ana_open( openCldfb( &( hOMasa->cldfbAnaEnc[i] ), CLDFB_ANALYSIS, input_Fs, CLDFB_PROTOTYPE_5_00MS ); openCldfb( &( hOMasa->cldfbAnaEnc[i] ), CLDFB_ANALYSIS, input_Fs, CLDFB_PROTOTYPE_5_00MS ); } } for ( ; i < MAX_NUM_OBJECTS; i++ ) { hOMasa->cldfbAnaEnc[i] = NULL; } /* intensity 3-dim */ /* intensity 3-dim */ for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) { { Loading Loading @@ -138,6 +143,12 @@ ivas_error ivas_omasa_ana_open( set_f( hOMasa->prev_object_dm_gains[i], (float) sqrt( 0.5 ), MASA_MAX_TRANSPORT_CHANNELS ); set_f( hOMasa->prev_object_dm_gains[i], (float) sqrt( 0.5 ), MASA_MAX_TRANSPORT_CHANNELS ); } } input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); for ( i = 0; i < input_frame; i++ ) { hOMasa->interpolator[i] = ( (float) i ) / ( (float) input_frame ); } hOMasa->index_buffer_intensity = 0; hOMasa->index_buffer_intensity = 0; if ( ( hOMasa->hMasaOut = (MASA_DECODER_EXT_OUT_META_HANDLE) malloc( sizeof( MASA_DECODER_EXT_OUT_META ) ) ) == NULL ) if ( ( hOMasa->hMasaOut = (MASA_DECODER_EXT_OUT_META_HANDLE) malloc( sizeof( MASA_DECODER_EXT_OUT_META ) ) ) == NULL ) Loading @@ -151,6 +162,14 @@ ivas_error ivas_omasa_ana_open( } } generate_gridEq( hOMasa->sph_grid16 ); generate_gridEq( hOMasa->sph_grid16 ); for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; i++ ) { set_zero( hOMasa->energy[i], MASA_FREQUENCY_BANDS ); } set_zero( hOMasa->ism_azimuth, MAX_NUM_OBJECTS ); set_zero( hOMasa->ism_elevation, MAX_NUM_OBJECTS ); ( *hOMasaPtr ) = hOMasa; ( *hOMasaPtr ) = hOMasa; return error; return error; Loading
lib_rend/ivas_stat_rend.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -885,8 +885,8 @@ typedef struct ivas_mcmasa_ana_data_structure float *buffer_intensity_real_vert[DIRAC_NO_COL_AVG_DIFF]; float *buffer_intensity_real_vert[DIRAC_NO_COL_AVG_DIFF]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float chnlToFoaMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaMtx[FOA_CHANNELS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaEvenMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaEvenMtx[FOA_CHANNELS][MCMASA_MAX_ANA_CHANS]; float ls_azimuth[MCMASA_MAX_ANA_CHANS]; float ls_azimuth[MCMASA_MAX_ANA_CHANS]; int16_t leftNearest[MCMASA_MAX_ANA_CHANS]; int16_t leftNearest[MCMASA_MAX_ANA_CHANS]; int16_t rightNearest[MCMASA_MAX_ANA_CHANS]; int16_t rightNearest[MCMASA_MAX_ANA_CHANS]; Loading Loading @@ -927,7 +927,7 @@ typedef struct ivas_omasa_ana_data_structure float *buffer_intensity_real[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF]; float *buffer_intensity_real[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float buffer_energy[DIRAC_NO_COL_AVG_DIFF * MASA_FREQUENCY_BANDS]; float chnlToFoaMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; float chnlToFoaMtx[FOA_CHANNELS][MCMASA_MAX_ANA_CHANS]; float interpolator[L_FRAME48k]; float interpolator[L_FRAME48k]; Loading