Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,8 @@ #define NONBE_FIX_SBA_SIGNALING_BITS_B /* FhG: issue 1061: option B: signal sba order additionally in OSBA */ #define NONBE_FIX_1052_SBA_EXT /* Dlb: SBA external output support */ /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_init_dec.c +22 −21 Original line number Diff line number Diff line Loading @@ -327,6 +327,28 @@ ivas_error ivas_dec_setup( /* read Ambisonic (SBA) order */ st_ivas->sba_order = st_ivas->bit_stream[num_bits_read + 1]; st_ivas->sba_order += 2 * st_ivas->bit_stream[num_bits_read]; #ifdef NONBE_FIX_1052_SBA_EXT if (st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL) { switch (st_ivas->sba_order) { case SBA_FOA_ORDER: st_ivas->hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_FOA; break; case SBA_HOA2_ORDER: st_ivas->hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA2; break; case SBA_HOA3_ORDER: st_ivas->hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA3; break; default: fprintf(stderr, "Unsupported SBA order %d\n", st_ivas->sba_order); return IVAS_ERR_WRONG_PARAMS; break; } st_ivas->hDecoderConfig->nchan_out = audioCfg2channels(st_ivas->hDecoderConfig->output_config); } #endif num_bits_read += SBA_ORDER_BITS; if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate && ivas_total_brate > IVAS_SID_5k2 ) Loading Loading @@ -1148,27 +1170,6 @@ ivas_error ivas_init_decoder( { hDecoderConfig->nchan_out = st_ivas->nchan_transport + st_ivas->nchan_ism; } else if (st_ivas->ivas_format == SBA_FORMAT) { switch (st_ivas->sba_order) { case SBA_FOA_ORDER: hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_FOA; break; case SBA_HOA2_ORDER: hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA2; break; case SBA_HOA3_ORDER: hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA3; break; default: fprintf(stderr, "Unsupported SBA order %d\n", st_ivas->sba_order); return IVAS_ERR_WRONG_PARAMS; // jhuo: correct error code? break; } hDecoderConfig->nchan_out = audioCfg2channels(hDecoderConfig->output_config); return ivas_init_decoder(st_ivas); } else if ( !( st_ivas->ism_mode == ISM_MODE_PARAM ) ) { hDecoderConfig->nchan_out = st_ivas->nchan_transport; Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,8 @@ #define NONBE_FIX_SBA_SIGNALING_BITS_B /* FhG: issue 1061: option B: signal sba order additionally in OSBA */ #define NONBE_FIX_1052_SBA_EXT /* Dlb: SBA external output support */ /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_init_dec.c +22 −21 Original line number Diff line number Diff line Loading @@ -327,6 +327,28 @@ ivas_error ivas_dec_setup( /* read Ambisonic (SBA) order */ st_ivas->sba_order = st_ivas->bit_stream[num_bits_read + 1]; st_ivas->sba_order += 2 * st_ivas->bit_stream[num_bits_read]; #ifdef NONBE_FIX_1052_SBA_EXT if (st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL) { switch (st_ivas->sba_order) { case SBA_FOA_ORDER: st_ivas->hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_FOA; break; case SBA_HOA2_ORDER: st_ivas->hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA2; break; case SBA_HOA3_ORDER: st_ivas->hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA3; break; default: fprintf(stderr, "Unsupported SBA order %d\n", st_ivas->sba_order); return IVAS_ERR_WRONG_PARAMS; break; } st_ivas->hDecoderConfig->nchan_out = audioCfg2channels(st_ivas->hDecoderConfig->output_config); } #endif num_bits_read += SBA_ORDER_BITS; if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate && ivas_total_brate > IVAS_SID_5k2 ) Loading Loading @@ -1148,27 +1170,6 @@ ivas_error ivas_init_decoder( { hDecoderConfig->nchan_out = st_ivas->nchan_transport + st_ivas->nchan_ism; } else if (st_ivas->ivas_format == SBA_FORMAT) { switch (st_ivas->sba_order) { case SBA_FOA_ORDER: hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_FOA; break; case SBA_HOA2_ORDER: hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA2; break; case SBA_HOA3_ORDER: hDecoderConfig->output_config = IVAS_AUDIO_CONFIG_HOA3; break; default: fprintf(stderr, "Unsupported SBA order %d\n", st_ivas->sba_order); return IVAS_ERR_WRONG_PARAMS; // jhuo: correct error code? break; } hDecoderConfig->nchan_out = audioCfg2channels(hDecoderConfig->output_config); return ivas_init_decoder(st_ivas); } else if ( !( st_ivas->ism_mode == ISM_MODE_PARAM ) ) { hDecoderConfig->nchan_out = st_ivas->nchan_transport; Loading