Loading lib_com/ivas_cnst.h +1 −1 Original line number Diff line number Diff line Loading @@ -983,7 +983,7 @@ typedef enum #define SPAR_CONFIG_BW FB #ifndef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifndef SPAR_TUNING #define IVAS_SPAR_MAX_CH (FOA_CHANNELS + 2 * ( IVAS_MAX_SBA_ORDER - 1 )) /* FOA + planar HOA */ #else #define IVAS_SPAR_MAX_CH ((( IVAS_MAX_SBA_ORDER ) * ( IVAS_MAX_SBA_ORDER )) + 2) /* HOA2 + pHOA3*/ Loading lib_com/ivas_fb_mixer.c +2 −2 Original line number Diff line number Diff line Loading @@ -527,7 +527,7 @@ void ivas_fb_mixer_pcm_ingest( float pcm_in[][L_FRAME48k], /* i : input audio channels */ float **ppOut_pcm, /* o : output audio channels */ const int16_t frame_len /* i : frame length */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t HOA_md_ind[IVAS_SPAR_MAX_CH] #endif Loading @@ -550,7 +550,7 @@ void ivas_fb_mixer_pcm_ingest( { mvr2r( &hFbMixer->ppFilterbank_prior_input[i][fb_cfg->prior_input_length - frame_len], ppOut_pcm[i], frame_len ); #ifdef HODIRAC #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING mvr2r( pcm_in[HOA_md_ind[i]], &ppOut_pcm[i][frame_len], frame_len ); #else mvr2r( pcm_in[HOA_keep_ind_spar[i]], &ppOut_pcm[i][frame_len], frame_len ); Loading lib_com/ivas_prot.h +8 −17 Original line number Diff line number Diff line Loading @@ -3256,13 +3256,13 @@ int16_t ivas_sba_get_nchan( /*! r: number of ambisonics metadata channels */ int16_t ivas_sba_get_nchan_metadata( const int16_t sba_order /* i : Ambisonic (SBA) order */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int32_t ivas_total_brate #endif ); #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING void ivas_sba_get_spar_hoa_ch_ind( const int16_t num_md_chs, /* i : number of MD channels */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Loading Loading @@ -4206,11 +4206,6 @@ void ivas_get_spar_md_from_dirac( float azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float diffuseness[IVAS_MAX_NUM_BANDS], #ifdef HODIRAC_PRED float azi_dirac2[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ele_dirac2[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ratio[IVAS_MAX_NUM_BANDS], #endif const int16_t n_ts, float ***mixer_mat, ivas_spar_md_t *hSpar_md, Loading @@ -4220,13 +4215,9 @@ void ivas_get_spar_md_from_dirac( const int16_t order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS] #ifdef HODIRAC_PRED , int16_t hodirac #endif ); #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING int16_t ivas_get_spar_dec_md_num_subframes( const int16_t sba_order, /* i : Ambisonic (SBA) order */ const int32_t ivas_total_brate ); Loading Loading @@ -4282,7 +4273,7 @@ void ivas_spar_update_md_hist( void ivas_spar_smooth_md_dtx( ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t num_bands_out /* i : number of output bands */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t num_md_sub_frames /* i : number of metadata subframes */ #endif Loading @@ -4291,7 +4282,7 @@ void ivas_spar_smooth_md_dtx( void ivas_spar_setup_md_smoothing( ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t num_bands_out /* i : number of output bands */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t num_md_sub_frames /* i : number of metadata subframes */ #endif Loading @@ -4302,7 +4293,7 @@ void ivas_spar_dec_gen_umx_mat( const int16_t nchan_transport, /* i : number of transport channels */ const int16_t num_bands_out, /* i : number of output bands */ const int16_t bfi /* i : bad frame indicator */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t num_md_sub_frames #endif Loading Loading @@ -4333,7 +4324,7 @@ void ivas_enc_cov_handler_process( const int16_t nchan_inp, const int16_t dtx_vad, const int16_t transient_det[2] #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t HOA_md_ind[IVAS_SPAR_MAX_CH] #endif Loading Loading @@ -5164,7 +5155,7 @@ void ivas_fb_mixer_pcm_ingest( float pcm_in[][L_FRAME48k], /* i : input audio channels */ float **ppOut_pcm, /* o : output audio channels */ const int16_t frame_length /* i : frame length */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t HOA_md_ind[IVAS_SPAR_MAX_CH] #endif Loading lib_com/ivas_rom_com.c +3 −3 Original line number Diff line number Diff line Loading @@ -952,7 +952,7 @@ const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN] = { 512000, 0, SBA_FOA_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 128000, 128000, 128000 },{ 128000, 128000, 128000 }, {118450, 118450, 128000 } }, // not yet optimized { { 31, 1, 1, 1 },{ 1, 1, 1, 1 },{ 1, 1, 1, 1 } }, 1, 2, 0 }, #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING { 512000, 0, SBA_HOA2_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 124000, 124000, 128000 },{ 124000, 124000, 128000 },{ 125200, 118450, 128000 },{ 76300, 73000, 128000 } }, // not yet optimized { { 31, 11, 11, 1 },{ 1, 1, 1, 1 },{ 1, 1, 1, 1 } }, 1, 2, 0 }, Loading Loading @@ -1490,14 +1490,14 @@ const int16_t remix_order_set[1][IVAS_SPAR_MAX_CH] = { /* WYZX --> WYXZ... */ { 0, 1, 3, 2, 4, 5, 6, 7} }; #endif #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING const int16_t keep_planar[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS] = { 1, 1, 1, 1, 1, 1 }; #else const int16_t keep_planar[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS] = { 1, 1, 1, 1 }; #endif #ifdef HODIRAC const int16_t HOA_keep_ind[IVAS_SPAR_MAX_FB_IN_CHAN] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15}; #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING const int16_t HOA_keep_ind_spar[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 8, 9, 10, 10, 10, 10}; const int16_t HOA_keep_ind_spar512[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; #else Loading lib_com/ivas_sba_config.c +3 −3 Original line number Diff line number Diff line Loading @@ -235,7 +235,7 @@ int16_t ivas_sba_get_nchan( /*! r: number of ambisonics metadata channels */ int16_t ivas_sba_get_nchan_metadata( const int16_t sba_order /* i : Ambisonic (SBA) order */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int32_t ivas_total_brate #endif Loading @@ -249,7 +249,7 @@ int16_t ivas_sba_get_nchan_metadata( } else { #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING if ( ivas_total_brate >= IVAS_512k ) { nb_channels = ( SBA_HOA2_ORDER + 1 ) * ( SBA_HOA2_ORDER + 1 ); Loading @@ -274,7 +274,7 @@ int16_t ivas_sba_get_nchan_metadata( *-------------------------------------------------------------------*/ /*! r: flag indicating to code SPAR HOA MD for all bands */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING void ivas_sba_get_spar_hoa_ch_ind( const int16_t num_md_chs, /* i : number of MD channels */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Loading Loading
lib_com/ivas_cnst.h +1 −1 Original line number Diff line number Diff line Loading @@ -983,7 +983,7 @@ typedef enum #define SPAR_CONFIG_BW FB #ifndef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifndef SPAR_TUNING #define IVAS_SPAR_MAX_CH (FOA_CHANNELS + 2 * ( IVAS_MAX_SBA_ORDER - 1 )) /* FOA + planar HOA */ #else #define IVAS_SPAR_MAX_CH ((( IVAS_MAX_SBA_ORDER ) * ( IVAS_MAX_SBA_ORDER )) + 2) /* HOA2 + pHOA3*/ Loading
lib_com/ivas_fb_mixer.c +2 −2 Original line number Diff line number Diff line Loading @@ -527,7 +527,7 @@ void ivas_fb_mixer_pcm_ingest( float pcm_in[][L_FRAME48k], /* i : input audio channels */ float **ppOut_pcm, /* o : output audio channels */ const int16_t frame_len /* i : frame length */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t HOA_md_ind[IVAS_SPAR_MAX_CH] #endif Loading @@ -550,7 +550,7 @@ void ivas_fb_mixer_pcm_ingest( { mvr2r( &hFbMixer->ppFilterbank_prior_input[i][fb_cfg->prior_input_length - frame_len], ppOut_pcm[i], frame_len ); #ifdef HODIRAC #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING mvr2r( pcm_in[HOA_md_ind[i]], &ppOut_pcm[i][frame_len], frame_len ); #else mvr2r( pcm_in[HOA_keep_ind_spar[i]], &ppOut_pcm[i][frame_len], frame_len ); Loading
lib_com/ivas_prot.h +8 −17 Original line number Diff line number Diff line Loading @@ -3256,13 +3256,13 @@ int16_t ivas_sba_get_nchan( /*! r: number of ambisonics metadata channels */ int16_t ivas_sba_get_nchan_metadata( const int16_t sba_order /* i : Ambisonic (SBA) order */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int32_t ivas_total_brate #endif ); #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING void ivas_sba_get_spar_hoa_ch_ind( const int16_t num_md_chs, /* i : number of MD channels */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Loading Loading @@ -4206,11 +4206,6 @@ void ivas_get_spar_md_from_dirac( float azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float diffuseness[IVAS_MAX_NUM_BANDS], #ifdef HODIRAC_PRED float azi_dirac2[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ele_dirac2[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ratio[IVAS_MAX_NUM_BANDS], #endif const int16_t n_ts, float ***mixer_mat, ivas_spar_md_t *hSpar_md, Loading @@ -4220,13 +4215,9 @@ void ivas_get_spar_md_from_dirac( const int16_t order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS] #ifdef HODIRAC_PRED , int16_t hodirac #endif ); #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING int16_t ivas_get_spar_dec_md_num_subframes( const int16_t sba_order, /* i : Ambisonic (SBA) order */ const int32_t ivas_total_brate ); Loading Loading @@ -4282,7 +4273,7 @@ void ivas_spar_update_md_hist( void ivas_spar_smooth_md_dtx( ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t num_bands_out /* i : number of output bands */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t num_md_sub_frames /* i : number of metadata subframes */ #endif Loading @@ -4291,7 +4282,7 @@ void ivas_spar_smooth_md_dtx( void ivas_spar_setup_md_smoothing( ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t num_bands_out /* i : number of output bands */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t num_md_sub_frames /* i : number of metadata subframes */ #endif Loading @@ -4302,7 +4293,7 @@ void ivas_spar_dec_gen_umx_mat( const int16_t nchan_transport, /* i : number of transport channels */ const int16_t num_bands_out, /* i : number of output bands */ const int16_t bfi /* i : bad frame indicator */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t num_md_sub_frames #endif Loading Loading @@ -4333,7 +4324,7 @@ void ivas_enc_cov_handler_process( const int16_t nchan_inp, const int16_t dtx_vad, const int16_t transient_det[2] #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t HOA_md_ind[IVAS_SPAR_MAX_CH] #endif Loading Loading @@ -5164,7 +5155,7 @@ void ivas_fb_mixer_pcm_ingest( float pcm_in[][L_FRAME48k], /* i : input audio channels */ float **ppOut_pcm, /* o : output audio channels */ const int16_t frame_length /* i : frame length */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int16_t HOA_md_ind[IVAS_SPAR_MAX_CH] #endif Loading
lib_com/ivas_rom_com.c +3 −3 Original line number Diff line number Diff line Loading @@ -952,7 +952,7 @@ const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN] = { 512000, 0, SBA_FOA_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 128000, 128000, 128000 },{ 128000, 128000, 128000 }, {118450, 118450, 128000 } }, // not yet optimized { { 31, 1, 1, 1 },{ 1, 1, 1, 1 },{ 1, 1, 1, 1 } }, 1, 2, 0 }, #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING { 512000, 0, SBA_HOA2_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 124000, 124000, 128000 },{ 124000, 124000, 128000 },{ 125200, 118450, 128000 },{ 76300, 73000, 128000 } }, // not yet optimized { { 31, 11, 11, 1 },{ 1, 1, 1, 1 },{ 1, 1, 1, 1 } }, 1, 2, 0 }, Loading Loading @@ -1490,14 +1490,14 @@ const int16_t remix_order_set[1][IVAS_SPAR_MAX_CH] = { /* WYZX --> WYXZ... */ { 0, 1, 3, 2, 4, 5, 6, 7} }; #endif #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING const int16_t keep_planar[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS] = { 1, 1, 1, 1, 1, 1 }; #else const int16_t keep_planar[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS] = { 1, 1, 1, 1 }; #endif #ifdef HODIRAC const int16_t HOA_keep_ind[IVAS_SPAR_MAX_FB_IN_CHAN] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15}; #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING const int16_t HOA_keep_ind_spar[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 8, 9, 10, 10, 10, 10}; const int16_t HOA_keep_ind_spar512[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; #else Loading
lib_com/ivas_sba_config.c +3 −3 Original line number Diff line number Diff line Loading @@ -235,7 +235,7 @@ int16_t ivas_sba_get_nchan( /*! r: number of ambisonics metadata channels */ int16_t ivas_sba_get_nchan_metadata( const int16_t sba_order /* i : Ambisonic (SBA) order */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING , const int32_t ivas_total_brate #endif Loading @@ -249,7 +249,7 @@ int16_t ivas_sba_get_nchan_metadata( } else { #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING if ( ivas_total_brate >= IVAS_512k ) { nb_channels = ( SBA_HOA2_ORDER + 1 ) * ( SBA_HOA2_ORDER + 1 ); Loading @@ -274,7 +274,7 @@ int16_t ivas_sba_get_nchan_metadata( *-------------------------------------------------------------------*/ /*! r: flag indicating to code SPAR HOA MD for all bands */ #ifdef SPAR_HOA2_PLANAR_HOA3_DECOR_OPT #ifdef SPAR_TUNING void ivas_sba_get_spar_hoa_ch_ind( const int16_t num_md_chs, /* i : number of MD channels */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Loading