Loading lib_dec/ivas_jbm_dec.c +40 −0 Original line number Diff line number Diff line Loading @@ -181,13 +181,21 @@ ivas_error ivas_jbm_dec_tc( set_s( nb_bits_metadata, 0, MAX_SCE ); /* read parameters from the bitstream */ #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->hQMetaData != NULL && st_ivas->sba_mode != SBA_MODE_SPAR ) #else if ( st_ivas->hQMetaData != NULL && st_ivas->ivas_format != SBA_FORMAT ) #endif { st = ( st_ivas->nSCE > 0 ) ? st_ivas->hSCE[0]->hCoreCoder[0] : st_ivas->hCPE[0]->hCoreCoder[0]; if ( st_ivas->ivas_format == SBA_FORMAT ) { #ifndef SBA_MODE_CLEAN_UP ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], st_ivas->sba_mode, hodirac_flag, 0 ); #else ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], hodirac_flag, 0 ); #endif } else { Loading @@ -197,12 +205,20 @@ ivas_error ivas_jbm_dec_tc( } } } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else else if ( st_ivas->ivas_format == SBA_FORMAT ) #endif { if ( st_ivas->hQMetaData != NULL ) { st = ( st_ivas->nSCE > 0 ) ? st_ivas->hSCE[0]->hCoreCoder[0] : st_ivas->hCPE[0]->hCoreCoder[0]; #ifndef SBA_MODE_CLEAN_UP ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], st_ivas->sba_mode, hodirac_flag, st_ivas->hSpar->dirac_to_spar_md_bands ); #else ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], hodirac_flag, st_ivas->hSpar->dirac_to_spar_md_bands ); #endif } if ( ( error = ivas_spar_dec( st_ivas, nb_bits_metadata ) ) != IVAS_ERR_OK ) Loading Loading @@ -249,7 +265,11 @@ ivas_error ivas_jbm_dec_tc( { nchan_remapped = nchan_out; #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else if ( st_ivas->ivas_format == SBA_FORMAT ) #endif { ivas_agc_dec_process( st_ivas->hSpar->hAgcDec, output, output, st_ivas->hSpar->hMdDec->spar_md_cfg.nchan_transport, output_frame ); Loading Loading @@ -280,11 +300,19 @@ ivas_error ivas_jbm_dec_tc( { nchan_remapped = ivas_sba_remapTCs( output, st_ivas, output_frame ); #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->sba_mode == SBA_MODE_SPAR && ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) #else if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) #endif { ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame ); } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else else #endif { ivas_spar_dec_agc_pca( st_ivas, output, output_frame ); } Loading Loading @@ -735,7 +763,11 @@ ivas_error ivas_jbm_dec_render( { ivas_dirac_dec_binaural_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, nchan_remapped, p_output ); } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_DIRAC || st_ivas->ivas_format == MASA_FORMAT ) #else else if ( st_ivas->ivas_format == MASA_FORMAT ) #endif { if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) { Loading Loading @@ -1241,8 +1273,12 @@ int16_t ivas_jbm_dec_get_num_tc_channels( Decoder_Struct *st_ivas ) /* i : IVAS } if ( st_ivas->ivas_format == SBA_FORMAT ) { #ifndef SBA_MODE_CLEAN_UP if ( ( st_ivas->sba_mode != SBA_MODE_SPAR && st_ivas->sba_planar && num_tc >= 3 ) || ( ( st_ivas->sba_mode == SBA_MODE_SPAR ) && num_tc == 3 ) ) #else if ( ( st_ivas->sba_planar && num_tc >= 3 ) || ( num_tc == 3 ) ) #endif { num_tc++; } Loading Loading @@ -1684,7 +1720,11 @@ TC_BUFFER_MODE ivas_jbm_dec_get_tc_buffer_mode( Decoder_Struct *st_ivas ) } break; case RENDERER_SBA_LINEAR_DEC: #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_mode == SBA_MODE_SPAR && ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO || st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) ) #else if ( st_ivas->ivas_format == SBA_FORMAT && ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO || st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) ) #endif { buffer_mode = TC_BUFFER_MODE_BUFFER; } Loading lib_enc/ivas_mc_paramupmix_enc.c +5 −0 Original line number Diff line number Diff line Loading @@ -184,8 +184,13 @@ ivas_error ivas_mc_paramupmix_enc_open( /* set FB config. */ /* need to set num output channels to a value > 0 to get pFb != NULL */ #ifndef SBA_MODE_CLEAN_UP if ( ( error = ivas_fb_set_cfg( &fb_cfg, MC_FORMAT, SBA_MODE_SPAR, MC_PARAMUPMIX_COMBINATIONS * MC_PARAMUPMIX_NCH, MC_PARAMUPMIX_COMBINATIONS, 0, input_Fs, 0 ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_fb_set_cfg( &fb_cfg, MC_FORMAT, MC_PARAMUPMIX_COMBINATIONS * MC_PARAMUPMIX_NCH, MC_PARAMUPMIX_COMBINATIONS, 0, input_Fs, 0 ) ) != IVAS_ERR_OK ) #endif { return error; } Loading lib_enc/ivas_sba_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -297,7 +297,11 @@ int16_t ivas_sba_get_max_md_bits( max_bits = 500; } max_md_bits = min( st_ivas->hQMetaData->metadata_max_bits + 1, max_bits ); // TODO: remove 500 once max MD bits has been defined at all bitrates in DirAC #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else if ( st_ivas->hEncoderConfig->ivas_format == SBA_FORMAT ) #endif { max_md_bits += st_ivas->hSpar->hMdEnc->spar_md_cfg.max_md_bits_spar; } Loading Loading
lib_dec/ivas_jbm_dec.c +40 −0 Original line number Diff line number Diff line Loading @@ -181,13 +181,21 @@ ivas_error ivas_jbm_dec_tc( set_s( nb_bits_metadata, 0, MAX_SCE ); /* read parameters from the bitstream */ #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->hQMetaData != NULL && st_ivas->sba_mode != SBA_MODE_SPAR ) #else if ( st_ivas->hQMetaData != NULL && st_ivas->ivas_format != SBA_FORMAT ) #endif { st = ( st_ivas->nSCE > 0 ) ? st_ivas->hSCE[0]->hCoreCoder[0] : st_ivas->hCPE[0]->hCoreCoder[0]; if ( st_ivas->ivas_format == SBA_FORMAT ) { #ifndef SBA_MODE_CLEAN_UP ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], st_ivas->sba_mode, hodirac_flag, 0 ); #else ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], hodirac_flag, 0 ); #endif } else { Loading @@ -197,12 +205,20 @@ ivas_error ivas_jbm_dec_tc( } } } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else else if ( st_ivas->ivas_format == SBA_FORMAT ) #endif { if ( st_ivas->hQMetaData != NULL ) { st = ( st_ivas->nSCE > 0 ) ? st_ivas->hSCE[0]->hCoreCoder[0] : st_ivas->hCPE[0]->hCoreCoder[0]; #ifndef SBA_MODE_CLEAN_UP ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], st_ivas->sba_mode, hodirac_flag, st_ivas->hSpar->dirac_to_spar_md_bands ); #else ivas_dirac_dec_read_BS( ivas_total_brate, st, st_ivas->hDirAC, st_ivas->hQMetaData, &nb_bits_metadata[0], hodirac_flag, st_ivas->hSpar->dirac_to_spar_md_bands ); #endif } if ( ( error = ivas_spar_dec( st_ivas, nb_bits_metadata ) ) != IVAS_ERR_OK ) Loading Loading @@ -249,7 +265,11 @@ ivas_error ivas_jbm_dec_tc( { nchan_remapped = nchan_out; #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else if ( st_ivas->ivas_format == SBA_FORMAT ) #endif { ivas_agc_dec_process( st_ivas->hSpar->hAgcDec, output, output, st_ivas->hSpar->hMdDec->spar_md_cfg.nchan_transport, output_frame ); Loading Loading @@ -280,11 +300,19 @@ ivas_error ivas_jbm_dec_tc( { nchan_remapped = ivas_sba_remapTCs( output, st_ivas, output_frame ); #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->sba_mode == SBA_MODE_SPAR && ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) #else if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) #endif { ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame ); } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else else #endif { ivas_spar_dec_agc_pca( st_ivas, output, output_frame ); } Loading Loading @@ -735,7 +763,11 @@ ivas_error ivas_jbm_dec_render( { ivas_dirac_dec_binaural_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, nchan_remapped, p_output ); } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_DIRAC || st_ivas->ivas_format == MASA_FORMAT ) #else else if ( st_ivas->ivas_format == MASA_FORMAT ) #endif { if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) { Loading Loading @@ -1241,8 +1273,12 @@ int16_t ivas_jbm_dec_get_num_tc_channels( Decoder_Struct *st_ivas ) /* i : IVAS } if ( st_ivas->ivas_format == SBA_FORMAT ) { #ifndef SBA_MODE_CLEAN_UP if ( ( st_ivas->sba_mode != SBA_MODE_SPAR && st_ivas->sba_planar && num_tc >= 3 ) || ( ( st_ivas->sba_mode == SBA_MODE_SPAR ) && num_tc == 3 ) ) #else if ( ( st_ivas->sba_planar && num_tc >= 3 ) || ( num_tc == 3 ) ) #endif { num_tc++; } Loading Loading @@ -1684,7 +1720,11 @@ TC_BUFFER_MODE ivas_jbm_dec_get_tc_buffer_mode( Decoder_Struct *st_ivas ) } break; case RENDERER_SBA_LINEAR_DEC: #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_mode == SBA_MODE_SPAR && ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO || st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) ) #else if ( st_ivas->ivas_format == SBA_FORMAT && ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO || st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) ) #endif { buffer_mode = TC_BUFFER_MODE_BUFFER; } Loading
lib_enc/ivas_mc_paramupmix_enc.c +5 −0 Original line number Diff line number Diff line Loading @@ -184,8 +184,13 @@ ivas_error ivas_mc_paramupmix_enc_open( /* set FB config. */ /* need to set num output channels to a value > 0 to get pFb != NULL */ #ifndef SBA_MODE_CLEAN_UP if ( ( error = ivas_fb_set_cfg( &fb_cfg, MC_FORMAT, SBA_MODE_SPAR, MC_PARAMUPMIX_COMBINATIONS * MC_PARAMUPMIX_NCH, MC_PARAMUPMIX_COMBINATIONS, 0, input_Fs, 0 ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_fb_set_cfg( &fb_cfg, MC_FORMAT, MC_PARAMUPMIX_COMBINATIONS * MC_PARAMUPMIX_NCH, MC_PARAMUPMIX_COMBINATIONS, 0, input_Fs, 0 ) ) != IVAS_ERR_OK ) #endif { return error; } Loading
lib_enc/ivas_sba_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -297,7 +297,11 @@ int16_t ivas_sba_get_max_md_bits( max_bits = 500; } max_md_bits = min( st_ivas->hQMetaData->metadata_max_bits + 1, max_bits ); // TODO: remove 500 once max MD bits has been defined at all bitrates in DirAC #ifndef SBA_MODE_CLEAN_UP if ( st_ivas->sba_mode == SBA_MODE_SPAR ) #else if ( st_ivas->hEncoderConfig->ivas_format == SBA_FORMAT ) #endif { max_md_bits += st_ivas->hSpar->hMdEnc->spar_md_cfg.max_md_bits_spar; } Loading