Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,8 @@ #define REVERT_ZERO_FLUSH_TRESH /* FhG: issue 1069: revert threshold value introduced with !1518 due to significant complexity increase*/ #define NONBE_FIX_1097_SBA_DTX_BRATE_SWITCHING_ENC /* FhG: fix out-of-bound errors when switching from SID frame to active frame*/ #define NONBE_FIX_1128_OSBA_EXT_OUTPUT_ORDER /* FhG: issue 1128: set output ambisonics order to input order for EXT output */ /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_init_dec.c +45 −0 Original line number Diff line number Diff line Loading @@ -940,7 +940,29 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) { #ifdef NONBE_FIX_1128_OSBA_EXT_OUTPUT_ORDER st_ivas->hOutSetup.ambisonics_order = st_ivas->sba_order; switch (st_ivas->sba_order) { case 1: hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_FOA ); break; case 2: hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA2 ); break; case 3: hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA3 ); break; default: assert(0 && "Invalid SBA order!"); } #else hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA3 ); #endif hDecoderConfig->nchan_out += st_ivas->nchan_ism; } else if ( st_ivas->ivas_format == MASA_ISM_FORMAT || st_ivas->ivas_format == MASA_FORMAT ) Loading Loading @@ -981,10 +1003,33 @@ ivas_error ivas_init_decoder( if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == IVAS_AUDIO_CONFIG_EXTERNAL ) { #ifdef NONBE_FIX_1128_OSBA_EXT_OUTPUT_ORDER st_ivas->hOutSetup.ambisonics_order = st_ivas->sba_order; switch ( st_ivas->sba_order ) { case 1: st_ivas->intern_config = IVAS_AUDIO_CONFIG_FOA; break; case 2: st_ivas->intern_config = IVAS_AUDIO_CONFIG_HOA2; break; case 3: st_ivas->intern_config = IVAS_AUDIO_CONFIG_HOA3; break; default: assert( 0 && "Invalid SBA order!"); } st_ivas->hOutSetup.output_config = st_ivas->intern_config; st_ivas->hOutSetup.nchan_out_woLFE = audioCfg2channels(st_ivas->intern_config); #else st_ivas->hOutSetup.ambisonics_order = SBA_HOA3_ORDER; st_ivas->intern_config = IVAS_AUDIO_CONFIG_HOA3; st_ivas->hOutSetup.output_config = IVAS_AUDIO_CONFIG_HOA3; st_ivas->hOutSetup.nchan_out_woLFE = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA3 ); #endif } /* Only initialize transport setup if it is used */ Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,8 @@ #define REVERT_ZERO_FLUSH_TRESH /* FhG: issue 1069: revert threshold value introduced with !1518 due to significant complexity increase*/ #define NONBE_FIX_1097_SBA_DTX_BRATE_SWITCHING_ENC /* FhG: fix out-of-bound errors when switching from SID frame to active frame*/ #define NONBE_FIX_1128_OSBA_EXT_OUTPUT_ORDER /* FhG: issue 1128: set output ambisonics order to input order for EXT output */ /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_init_dec.c +45 −0 Original line number Diff line number Diff line Loading @@ -940,7 +940,29 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) { #ifdef NONBE_FIX_1128_OSBA_EXT_OUTPUT_ORDER st_ivas->hOutSetup.ambisonics_order = st_ivas->sba_order; switch (st_ivas->sba_order) { case 1: hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_FOA ); break; case 2: hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA2 ); break; case 3: hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA3 ); break; default: assert(0 && "Invalid SBA order!"); } #else hDecoderConfig->nchan_out = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA3 ); #endif hDecoderConfig->nchan_out += st_ivas->nchan_ism; } else if ( st_ivas->ivas_format == MASA_ISM_FORMAT || st_ivas->ivas_format == MASA_FORMAT ) Loading Loading @@ -981,10 +1003,33 @@ ivas_error ivas_init_decoder( if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == IVAS_AUDIO_CONFIG_EXTERNAL ) { #ifdef NONBE_FIX_1128_OSBA_EXT_OUTPUT_ORDER st_ivas->hOutSetup.ambisonics_order = st_ivas->sba_order; switch ( st_ivas->sba_order ) { case 1: st_ivas->intern_config = IVAS_AUDIO_CONFIG_FOA; break; case 2: st_ivas->intern_config = IVAS_AUDIO_CONFIG_HOA2; break; case 3: st_ivas->intern_config = IVAS_AUDIO_CONFIG_HOA3; break; default: assert( 0 && "Invalid SBA order!"); } st_ivas->hOutSetup.output_config = st_ivas->intern_config; st_ivas->hOutSetup.nchan_out_woLFE = audioCfg2channels(st_ivas->intern_config); #else st_ivas->hOutSetup.ambisonics_order = SBA_HOA3_ORDER; st_ivas->intern_config = IVAS_AUDIO_CONFIG_HOA3; st_ivas->hOutSetup.output_config = IVAS_AUDIO_CONFIG_HOA3; st_ivas->hOutSetup.nchan_out_woLFE = audioCfg2channels( IVAS_AUDIO_CONFIG_HOA3 ); #endif } /* Only initialize transport setup if it is used */ Loading