Loading lib_enc/ivas_enc.c +3 −21 Original line number Diff line number Diff line Loading @@ -408,17 +408,6 @@ ivas_error ivas_enc( ); #ifndef SBA_AND_OBJECTS } else /*not an option for now*/ { #ifdef SBA_AND_OBJECTS /* delay ISM input channels to match the SBA encoder delay */ for ( n = 0; n < hEncoderConfig->nchan_ism; n++ ) { delay_signal( data_f[n], input_frame, st_ivas->hOSba->input_data_mem[n], NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ) ); } #endif } #endif if ( st_ivas->ism_mode == ISM_MODE_NONE ) Loading Loading @@ -487,21 +476,14 @@ ivas_error ivas_enc( st = st_ivas->hCPE[0]->hCoreCoder[0]; hMetaData = st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData; #ifdef SBA_AND_OBJECTS #ifdef SBA_AND_OBJECTS if ( hEncoderConfig->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode != ISM_MODE_NONE ) { /* write the number of objects in ISM_SBA format*/ push_next_indice( hMetaData, hEncoderConfig->nchan_ism - 1, NO_BITS_MASA_ISM_NO_OBJ ); } #endif #endif #ifdef SBA_AND_OBJECTS if ( ( error = ivas_ism_metadata_enc( &st_ivas->hEncoderConfig->ivas_total_brate, n, st_ivas->hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, NULL, hMetaData, &nb_bits_metadata[1], 0, st_ivas->ism_mode, NULL, st_ivas->hEncoderConfig->ism_extended_metadata_flag, -1, 0, NULL #ifdef SBA_AND_OBJECTS , st->ini_frame #endif ) ) != IVAS_ERR_OK ) if ( ( error = ivas_ism_metadata_enc( &st_ivas->hEncoderConfig->ivas_total_brate, n, st_ivas->hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, NULL, hMetaData, &nb_bits_metadata[1], 0, st_ivas->ism_mode, NULL, st_ivas->hEncoderConfig->ism_extended_metadata_flag, -1, 0, NULL, st->ini_frame ) ) != IVAS_ERR_OK ) { return error; } Loading lib_enc/ivas_init_enc.c +4 −16 Original line number Diff line number Diff line Loading @@ -102,11 +102,7 @@ void ivas_write_format( #endif #ifdef SBA_AND_OBJECTS case SBA_ISM_FORMAT: #ifdef SBA_AND_OBJECTS if ( st_ivas->hEncoderConfig->ivas_total_brate < IVAS_24k4 ) #else if ( st_ivas->ism_mode == ISM_MODE_NONE ) #endif { ind = 6; /* send SBA format */ nBits += extra_bits; Loading Loading @@ -668,14 +664,12 @@ ivas_error ivas_init_encoder( else if ( ivas_format == SBA_ISM_FORMAT ) { int32_t element_brate_tmp[MAX_NUM_OBJECTS]; st_ivas->ism_mode = ISM_MODE_NONE; #ifdef SBA_AND_OBJECTS if ( ivas_total_brate >= IVAS_256k ) { st_ivas->ism_mode = ISM_SBA_MODE_DISC; } #endif if ( ( error = ivas_ism_metadata_enc_create( st_ivas, hEncoderConfig->nchan_ism, element_brate_tmp ) ) != IVAS_ERR_OK ) { Loading Loading @@ -748,17 +742,11 @@ ivas_error ivas_init_encoder( return error; } } #ifndef SBA_AND_OBJECTS if ( st_ivas->ism_mode == ISM_MODE_NONE ) { #endif if ( ( error = ivas_osba_enc_open( st_ivas ) ) != IVAS_ERR_OK ) { return error; } #ifndef SBA_AND_OBJECTS } #endif } #endif else if ( ivas_format == MC_FORMAT ) Loading lib_enc/ivas_mct_enc.c +0 −9 Original line number Diff line number Diff line Loading @@ -82,16 +82,7 @@ static void set_mct_enc_params( } hMCT->hbr_mct = 0; #ifdef SBA_AND_OBJECTS if ( ( ivas_format == SBA_FORMAT #ifndef SBA_AND_OBJECTS || ivas_format == SBA_ISM_FORMAT #endif ) && ivas_total_brate >= IVAS_256k ) #else if ( ivas_format == SBA_FORMAT && ivas_total_brate >= IVAS_256k ) #endif { hMCT->hbr_mct = 1; } Loading lib_enc/ivas_osba_enc.c +22 −40 Original line number Diff line number Diff line Loading @@ -94,9 +94,7 @@ ivas_error ivas_osba_enc_open( OSBA_ENC_HANDLE hOSba; int16_t input_frame; ivas_error error; #ifdef SBA_AND_OBJECTS int16_t len; #endif error = IVAS_ERR_OK; Loading @@ -110,11 +108,7 @@ ivas_error ivas_osba_enc_open( { set_f( hOSba->prev_object_dm_gains[i], (float) sqrt( 0.5 ), MAX_INPUT_CHANNELS ); } #ifdef SBA_AND_OBJECTS #ifndef SBA_AND_OBJECTS if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { #endif len = NS2SA( st_ivas->hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ); for ( i = 0; i < st_ivas->hEncoderConfig->nchan_ism; i++ ) Loading @@ -130,10 +124,6 @@ ivas_error ivas_osba_enc_open( { hOSba->input_data_mem[i] = NULL; } #ifndef SBA_AND_OBJECTS } #endif #endif input_frame = (int16_t) ( st_ivas->hEncoderConfig->input_Fs / FRAMES_PER_SEC ); for ( i = 0; i < input_frame; i++ ) Loading Loading @@ -161,7 +151,7 @@ void ivas_osba_enc_close( { return; } #ifdef SBA_AND_OBJECTS for ( int16_t n = 0; n < MAX_NUM_OBJECTS; n++ ) { if ( ( *hOSba )->input_data_mem[n] != NULL ) Loading @@ -170,7 +160,7 @@ void ivas_osba_enc_close( ( *hOSba )->input_data_mem[n] = NULL; } } #endif free( *hOSba ); ( *hOSba ) = NULL; Loading Loading @@ -385,35 +375,27 @@ void ivas_osba_enc( const int16_t input_frame, /* i : Input frame size */ const int16_t nchan_ism, /* i : Number of objects for parameter analysis */ const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t sba_analysis_order /* i : SBA order evaluated in DirAC/SPAR encoder */ #ifdef SBA_AND_OBJECTS , const int16_t sba_analysis_order, /* i : SBA order evaluated in DirAC/SPAR encoder */ const int32_t input_Fs /* i : input sampling rate*/ #endif ) { float data_out_f[MAX_INPUT_CHANNELS][L_FRAME48k]; #ifdef SBA_AND_OBJECTS int16_t n, delay_s; delay_s = NS2SA( input_Fs, IVAS_FB_ENC_DELAY_NS ); #endif if ( ism_mode == ISM_MODE_NONE ) { #ifdef SBA_AND_OBJECTS /*keep the delay buffer up to date*/ for ( n = 0; n < nchan_ism; n++ ) { mvr2r( &data_in_f[n][input_frame - delay_s], hOSba->input_data_mem[n], delay_s ); } #endif /* Convert ISM to SBA */ ivas_osba_render_ism_to_sba( data_in_f, data_out_f, input_frame, sba_analysis_order, nchan_ism, hIsmMeta, hOSba->prev_object_dm_gains, hOSba->interpolator ); /* Merge SBA signals */ ivas_merge_sba_transports( data_out_f, &( data_in_f[nchan_ism] ), data_in_f, input_frame, sba_analysis_order ); } #ifdef SBA_AND_OBJECTS else { int16_t azimuth, elevation; Loading @@ -429,7 +411,7 @@ void ivas_osba_enc( ivas_dirac_dec_get_response( azimuth, elevation, hOSba->prev_object_dm_gains[n], sba_analysis_order ); } } #endif /* Set the number of objects */ hOSba->nchan_ism = nchan_ism; Loading lib_enc/ivas_spar_encoder.c +0 −12 Original line number Diff line number Diff line Loading @@ -337,18 +337,6 @@ ivas_error ivas_spar_enc( error = IVAS_ERR_OK; hEncoderConfig = st_ivas->hEncoderConfig; #ifdef SBA_AND_OBJECTS #ifndef SBA_AND_OBJECTS if ( hEncoderConfig->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode != ISM_MODE_NONE ) { /* write the number of objects in ISM_SBA format*/ push_next_indice( hMetaData, hEncoderConfig->nchan_ism - 1, NO_BITS_MASA_ISM_NO_OBJ ); } #endif #endif /* check last sba_mode */ /* front VAD */ if ( ( error = front_vad_spar( st_ivas->hSpar, data_f[0], hEncoderConfig, input_frame ) ) != IVAS_ERR_OK ) { Loading Loading
lib_enc/ivas_enc.c +3 −21 Original line number Diff line number Diff line Loading @@ -408,17 +408,6 @@ ivas_error ivas_enc( ); #ifndef SBA_AND_OBJECTS } else /*not an option for now*/ { #ifdef SBA_AND_OBJECTS /* delay ISM input channels to match the SBA encoder delay */ for ( n = 0; n < hEncoderConfig->nchan_ism; n++ ) { delay_signal( data_f[n], input_frame, st_ivas->hOSba->input_data_mem[n], NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ) ); } #endif } #endif if ( st_ivas->ism_mode == ISM_MODE_NONE ) Loading Loading @@ -487,21 +476,14 @@ ivas_error ivas_enc( st = st_ivas->hCPE[0]->hCoreCoder[0]; hMetaData = st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData; #ifdef SBA_AND_OBJECTS #ifdef SBA_AND_OBJECTS if ( hEncoderConfig->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode != ISM_MODE_NONE ) { /* write the number of objects in ISM_SBA format*/ push_next_indice( hMetaData, hEncoderConfig->nchan_ism - 1, NO_BITS_MASA_ISM_NO_OBJ ); } #endif #endif #ifdef SBA_AND_OBJECTS if ( ( error = ivas_ism_metadata_enc( &st_ivas->hEncoderConfig->ivas_total_brate, n, st_ivas->hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, NULL, hMetaData, &nb_bits_metadata[1], 0, st_ivas->ism_mode, NULL, st_ivas->hEncoderConfig->ism_extended_metadata_flag, -1, 0, NULL #ifdef SBA_AND_OBJECTS , st->ini_frame #endif ) ) != IVAS_ERR_OK ) if ( ( error = ivas_ism_metadata_enc( &st_ivas->hEncoderConfig->ivas_total_brate, n, st_ivas->hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, NULL, hMetaData, &nb_bits_metadata[1], 0, st_ivas->ism_mode, NULL, st_ivas->hEncoderConfig->ism_extended_metadata_flag, -1, 0, NULL, st->ini_frame ) ) != IVAS_ERR_OK ) { return error; } Loading
lib_enc/ivas_init_enc.c +4 −16 Original line number Diff line number Diff line Loading @@ -102,11 +102,7 @@ void ivas_write_format( #endif #ifdef SBA_AND_OBJECTS case SBA_ISM_FORMAT: #ifdef SBA_AND_OBJECTS if ( st_ivas->hEncoderConfig->ivas_total_brate < IVAS_24k4 ) #else if ( st_ivas->ism_mode == ISM_MODE_NONE ) #endif { ind = 6; /* send SBA format */ nBits += extra_bits; Loading Loading @@ -668,14 +664,12 @@ ivas_error ivas_init_encoder( else if ( ivas_format == SBA_ISM_FORMAT ) { int32_t element_brate_tmp[MAX_NUM_OBJECTS]; st_ivas->ism_mode = ISM_MODE_NONE; #ifdef SBA_AND_OBJECTS if ( ivas_total_brate >= IVAS_256k ) { st_ivas->ism_mode = ISM_SBA_MODE_DISC; } #endif if ( ( error = ivas_ism_metadata_enc_create( st_ivas, hEncoderConfig->nchan_ism, element_brate_tmp ) ) != IVAS_ERR_OK ) { Loading Loading @@ -748,17 +742,11 @@ ivas_error ivas_init_encoder( return error; } } #ifndef SBA_AND_OBJECTS if ( st_ivas->ism_mode == ISM_MODE_NONE ) { #endif if ( ( error = ivas_osba_enc_open( st_ivas ) ) != IVAS_ERR_OK ) { return error; } #ifndef SBA_AND_OBJECTS } #endif } #endif else if ( ivas_format == MC_FORMAT ) Loading
lib_enc/ivas_mct_enc.c +0 −9 Original line number Diff line number Diff line Loading @@ -82,16 +82,7 @@ static void set_mct_enc_params( } hMCT->hbr_mct = 0; #ifdef SBA_AND_OBJECTS if ( ( ivas_format == SBA_FORMAT #ifndef SBA_AND_OBJECTS || ivas_format == SBA_ISM_FORMAT #endif ) && ivas_total_brate >= IVAS_256k ) #else if ( ivas_format == SBA_FORMAT && ivas_total_brate >= IVAS_256k ) #endif { hMCT->hbr_mct = 1; } Loading
lib_enc/ivas_osba_enc.c +22 −40 Original line number Diff line number Diff line Loading @@ -94,9 +94,7 @@ ivas_error ivas_osba_enc_open( OSBA_ENC_HANDLE hOSba; int16_t input_frame; ivas_error error; #ifdef SBA_AND_OBJECTS int16_t len; #endif error = IVAS_ERR_OK; Loading @@ -110,11 +108,7 @@ ivas_error ivas_osba_enc_open( { set_f( hOSba->prev_object_dm_gains[i], (float) sqrt( 0.5 ), MAX_INPUT_CHANNELS ); } #ifdef SBA_AND_OBJECTS #ifndef SBA_AND_OBJECTS if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { #endif len = NS2SA( st_ivas->hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ); for ( i = 0; i < st_ivas->hEncoderConfig->nchan_ism; i++ ) Loading @@ -130,10 +124,6 @@ ivas_error ivas_osba_enc_open( { hOSba->input_data_mem[i] = NULL; } #ifndef SBA_AND_OBJECTS } #endif #endif input_frame = (int16_t) ( st_ivas->hEncoderConfig->input_Fs / FRAMES_PER_SEC ); for ( i = 0; i < input_frame; i++ ) Loading Loading @@ -161,7 +151,7 @@ void ivas_osba_enc_close( { return; } #ifdef SBA_AND_OBJECTS for ( int16_t n = 0; n < MAX_NUM_OBJECTS; n++ ) { if ( ( *hOSba )->input_data_mem[n] != NULL ) Loading @@ -170,7 +160,7 @@ void ivas_osba_enc_close( ( *hOSba )->input_data_mem[n] = NULL; } } #endif free( *hOSba ); ( *hOSba ) = NULL; Loading Loading @@ -385,35 +375,27 @@ void ivas_osba_enc( const int16_t input_frame, /* i : Input frame size */ const int16_t nchan_ism, /* i : Number of objects for parameter analysis */ const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t sba_analysis_order /* i : SBA order evaluated in DirAC/SPAR encoder */ #ifdef SBA_AND_OBJECTS , const int16_t sba_analysis_order, /* i : SBA order evaluated in DirAC/SPAR encoder */ const int32_t input_Fs /* i : input sampling rate*/ #endif ) { float data_out_f[MAX_INPUT_CHANNELS][L_FRAME48k]; #ifdef SBA_AND_OBJECTS int16_t n, delay_s; delay_s = NS2SA( input_Fs, IVAS_FB_ENC_DELAY_NS ); #endif if ( ism_mode == ISM_MODE_NONE ) { #ifdef SBA_AND_OBJECTS /*keep the delay buffer up to date*/ for ( n = 0; n < nchan_ism; n++ ) { mvr2r( &data_in_f[n][input_frame - delay_s], hOSba->input_data_mem[n], delay_s ); } #endif /* Convert ISM to SBA */ ivas_osba_render_ism_to_sba( data_in_f, data_out_f, input_frame, sba_analysis_order, nchan_ism, hIsmMeta, hOSba->prev_object_dm_gains, hOSba->interpolator ); /* Merge SBA signals */ ivas_merge_sba_transports( data_out_f, &( data_in_f[nchan_ism] ), data_in_f, input_frame, sba_analysis_order ); } #ifdef SBA_AND_OBJECTS else { int16_t azimuth, elevation; Loading @@ -429,7 +411,7 @@ void ivas_osba_enc( ivas_dirac_dec_get_response( azimuth, elevation, hOSba->prev_object_dm_gains[n], sba_analysis_order ); } } #endif /* Set the number of objects */ hOSba->nchan_ism = nchan_ism; Loading
lib_enc/ivas_spar_encoder.c +0 −12 Original line number Diff line number Diff line Loading @@ -337,18 +337,6 @@ ivas_error ivas_spar_enc( error = IVAS_ERR_OK; hEncoderConfig = st_ivas->hEncoderConfig; #ifdef SBA_AND_OBJECTS #ifndef SBA_AND_OBJECTS if ( hEncoderConfig->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode != ISM_MODE_NONE ) { /* write the number of objects in ISM_SBA format*/ push_next_indice( hMetaData, hEncoderConfig->nchan_ism - 1, NO_BITS_MASA_ISM_NO_OBJ ); } #endif #endif /* check last sba_mode */ /* front VAD */ if ( ( error = front_vad_spar( st_ivas->hSpar, data_f[0], hEncoderConfig, input_frame ) ) != IVAS_ERR_OK ) { Loading