Loading lib_com/ivas_prot.h +17 −17 Original line number Diff line number Diff line Loading @@ -3596,7 +3596,7 @@ void ivas_dirac_enc_close( const int32_t input_Fs /* i : input sampling_rate */ ); void ivas_dirac_enc( ivas_error ivas_dirac_enc( DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ Loading @@ -3606,7 +3606,7 @@ void ivas_dirac_enc( const int16_t input_frame, /* i : input frame length */ const int16_t dtx_vad, /* i : DTX vad flag */ const IVAS_FORMAT ivas_format, /* i : ivas format */ int16_t hodirac_flag /* i : hodirac flag */ const int16_t hodirac_flag /* i : hodirac flag */ ); ivas_error ivas_dirac_config( Loading lib_dec/ivas_dirac_dec.c +2 −3 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ static ivas_error ivas_dirac_dec_config_internal( st_ivas->hDirAC = hDirAC; } /*-----------------------------------------------------------------* * DirAC main configuration *-----------------------------------------------------------------*/ Loading @@ -110,6 +109,7 @@ static ivas_error ivas_dirac_dec_config_internal( return error; } static ivas_error ivas_dirac_rend_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const DIRAC_CONFIG_FLAG flag_config_inp, /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ Loading Loading @@ -685,11 +685,11 @@ static ivas_error ivas_dirac_rend_config( } } if ( flag_config == DIRAC_OPEN ) { hDirACRend->buffer_energy = NULL; } if ( ( flag_config == DIRAC_OPEN && hDirAC->hConfig->dec_param_estim == TRUE ) || ( flag_config == DIRAC_RECONFIGURE && ( hDirAC->hConfig->dec_param_estim == TRUE && dec_param_estim_old == FALSE ) ) ) { hDirACRend->index_buffer_intensity = 0; Loading Loading @@ -788,7 +788,6 @@ ivas_error ivas_dirac_dec_config( hodirac_flag = ivas_get_hodirac_flag( st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order ); dec_param_estim_old = ( dec_config_flag == DIRAC_RECONFIGURE ) ? st_ivas->hDirAC->hConfig->dec_param_estim : FALSE; sparfoa_flag = 0; if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_FOA && st_ivas->ivas_format == SBA_FORMAT && !hodirac_flag ) { Loading lib_enc/ivas_dirac_enc.c +17 −11 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ ivas_error ivas_dirac_enc_open( st_ivas->hDirAC = hDirAC; st_ivas->hSpar->enc_param_start_band = st_ivas->hDirAC->hConfig->enc_param_start_band; return error; } Loading Loading @@ -280,7 +281,7 @@ void ivas_dirac_enc_close( * *------------------------------------------------------------------------*/ void ivas_dirac_enc( ivas_error ivas_dirac_enc( DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ Loading @@ -290,12 +291,14 @@ void ivas_dirac_enc( const int16_t input_frame, /* i : input frame length */ const int16_t dtx_vad, /* i : DTX vad flag */ const IVAS_FORMAT ivas_format, /* i : ivas format */ int16_t hodirac_flag ) /* i : hodirac flag */ const int16_t hodirac_flag /* i : hodirac flag */ ) { int16_t orig_dirac_bands; float dir[3], avg_dir[3]; float energySum, vecLen; int16_t i, j, b, i_ts; ivas_error error; push_wmops( "ivas_dirac_enc" ); ivas_dirac_param_est_enc( hDirAC, hQMetaData->q_direction, hQMetaData->useLowerRes, data_f, ppIn_FR_real, ppIn_FR_imag, input_frame, ivas_format, hodirac_flag, hodirac_flag ? HOA2_CHANNELS : FOA_CHANNELS, &( hDirAC->mono_frame_count ), &( hQMetaData->dirac_mono_flag ) ); Loading Loading @@ -323,7 +326,10 @@ void ivas_dirac_enc( } } ivas_qmetadata_enc_encode( hMetaData, hQMetaData, hodirac_flag ); if ( ( error = ivas_qmetadata_enc_encode( hMetaData, hQMetaData, hodirac_flag ) ) != IVAS_ERR_OK ) { return error; } } else { Loading Loading @@ -398,7 +404,7 @@ void ivas_dirac_enc( } pop_wmops(); return; return IVAS_ERR_OK; } Loading Loading @@ -473,6 +479,7 @@ static int16_t ivas_dirac_get_mono_flag( } } } /* If any band contains multi-channel content it's not mono */ if ( any_mc_band ) { Loading @@ -486,6 +493,7 @@ static int16_t ivas_dirac_get_mono_flag( local_mono_flag = 1; } } /* Hysteresis - only after DIRAC_MONO_FRAME_THRESH frames on mono will the actual mono flag be set */ if ( local_mono_flag ) { Loading Loading @@ -787,9 +795,7 @@ void ivas_dirac_param_est_enc( } if ( !hodirac_flag ) { for ( band_m_idx = 0; band_m_idx < hDirAC->hConfig->nbands; band_m_idx++ ) { renormalization_factor[band_m_idx] = EPSILON; Loading lib_enc/ivas_enc.c +2 −2 Original line number Diff line number Diff line Loading @@ -252,8 +252,8 @@ ivas_error ivas_enc( { return error; } if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, &nb_bits_metadata[0], st_ivas->nchan_transport, ivas_format, ivas_total_brate, hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, &nb_bits_metadata[0], st_ivas->nchan_transport, ivas_format, ivas_total_brate, hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, ISM_MODE_NONE, -1, NULL, -1, NULL, 0, 0 ) ) != IVAS_ERR_OK ) { return error; Loading lib_enc/ivas_masa_enc.c +13 −3 Original line number Diff line number Diff line Loading @@ -252,6 +252,7 @@ ivas_error ivas_masa_encode( int16_t masa_sid_descriptor; int16_t low_bitrate_mode; int32_t masa_total_brate; ivas_error error; masa_sid_descriptor = -1; h_orig_metadata = NULL; Loading Loading @@ -495,16 +496,25 @@ ivas_error ivas_masa_encode( { if ( masa_total_brate >= IVAS_512k ) { ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 16, 4 ); if ( ( error = ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 16, 4 ) ) != IVAS_ERR_OK ) { return error; } } else { ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 11, 3 ); if ( ( error = ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 11, 3 ) ) != IVAS_ERR_OK ) { return error; } } } else { ivas_qmetadata_enc_encode( hMetaData, hQMetaData, 0 ); if ( ( error = ivas_qmetadata_enc_encode( hMetaData, hQMetaData, 0 ) ) != IVAS_ERR_OK ) { return error; } } if ( ivas_format == MASA_ISM_FORMAT && ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) Loading Loading
lib_com/ivas_prot.h +17 −17 Original line number Diff line number Diff line Loading @@ -3596,7 +3596,7 @@ void ivas_dirac_enc_close( const int32_t input_Fs /* i : input sampling_rate */ ); void ivas_dirac_enc( ivas_error ivas_dirac_enc( DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ Loading @@ -3606,7 +3606,7 @@ void ivas_dirac_enc( const int16_t input_frame, /* i : input frame length */ const int16_t dtx_vad, /* i : DTX vad flag */ const IVAS_FORMAT ivas_format, /* i : ivas format */ int16_t hodirac_flag /* i : hodirac flag */ const int16_t hodirac_flag /* i : hodirac flag */ ); ivas_error ivas_dirac_config( Loading
lib_dec/ivas_dirac_dec.c +2 −3 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ static ivas_error ivas_dirac_dec_config_internal( st_ivas->hDirAC = hDirAC; } /*-----------------------------------------------------------------* * DirAC main configuration *-----------------------------------------------------------------*/ Loading @@ -110,6 +109,7 @@ static ivas_error ivas_dirac_dec_config_internal( return error; } static ivas_error ivas_dirac_rend_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const DIRAC_CONFIG_FLAG flag_config_inp, /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ Loading Loading @@ -685,11 +685,11 @@ static ivas_error ivas_dirac_rend_config( } } if ( flag_config == DIRAC_OPEN ) { hDirACRend->buffer_energy = NULL; } if ( ( flag_config == DIRAC_OPEN && hDirAC->hConfig->dec_param_estim == TRUE ) || ( flag_config == DIRAC_RECONFIGURE && ( hDirAC->hConfig->dec_param_estim == TRUE && dec_param_estim_old == FALSE ) ) ) { hDirACRend->index_buffer_intensity = 0; Loading Loading @@ -788,7 +788,6 @@ ivas_error ivas_dirac_dec_config( hodirac_flag = ivas_get_hodirac_flag( st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order ); dec_param_estim_old = ( dec_config_flag == DIRAC_RECONFIGURE ) ? st_ivas->hDirAC->hConfig->dec_param_estim : FALSE; sparfoa_flag = 0; if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_FOA && st_ivas->ivas_format == SBA_FORMAT && !hodirac_flag ) { Loading
lib_enc/ivas_dirac_enc.c +17 −11 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ ivas_error ivas_dirac_enc_open( st_ivas->hDirAC = hDirAC; st_ivas->hSpar->enc_param_start_band = st_ivas->hDirAC->hConfig->enc_param_start_band; return error; } Loading Loading @@ -280,7 +281,7 @@ void ivas_dirac_enc_close( * *------------------------------------------------------------------------*/ void ivas_dirac_enc( ivas_error ivas_dirac_enc( DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ Loading @@ -290,12 +291,14 @@ void ivas_dirac_enc( const int16_t input_frame, /* i : input frame length */ const int16_t dtx_vad, /* i : DTX vad flag */ const IVAS_FORMAT ivas_format, /* i : ivas format */ int16_t hodirac_flag ) /* i : hodirac flag */ const int16_t hodirac_flag /* i : hodirac flag */ ) { int16_t orig_dirac_bands; float dir[3], avg_dir[3]; float energySum, vecLen; int16_t i, j, b, i_ts; ivas_error error; push_wmops( "ivas_dirac_enc" ); ivas_dirac_param_est_enc( hDirAC, hQMetaData->q_direction, hQMetaData->useLowerRes, data_f, ppIn_FR_real, ppIn_FR_imag, input_frame, ivas_format, hodirac_flag, hodirac_flag ? HOA2_CHANNELS : FOA_CHANNELS, &( hDirAC->mono_frame_count ), &( hQMetaData->dirac_mono_flag ) ); Loading Loading @@ -323,7 +326,10 @@ void ivas_dirac_enc( } } ivas_qmetadata_enc_encode( hMetaData, hQMetaData, hodirac_flag ); if ( ( error = ivas_qmetadata_enc_encode( hMetaData, hQMetaData, hodirac_flag ) ) != IVAS_ERR_OK ) { return error; } } else { Loading Loading @@ -398,7 +404,7 @@ void ivas_dirac_enc( } pop_wmops(); return; return IVAS_ERR_OK; } Loading Loading @@ -473,6 +479,7 @@ static int16_t ivas_dirac_get_mono_flag( } } } /* If any band contains multi-channel content it's not mono */ if ( any_mc_band ) { Loading @@ -486,6 +493,7 @@ static int16_t ivas_dirac_get_mono_flag( local_mono_flag = 1; } } /* Hysteresis - only after DIRAC_MONO_FRAME_THRESH frames on mono will the actual mono flag be set */ if ( local_mono_flag ) { Loading Loading @@ -787,9 +795,7 @@ void ivas_dirac_param_est_enc( } if ( !hodirac_flag ) { for ( band_m_idx = 0; band_m_idx < hDirAC->hConfig->nbands; band_m_idx++ ) { renormalization_factor[band_m_idx] = EPSILON; Loading
lib_enc/ivas_enc.c +2 −2 Original line number Diff line number Diff line Loading @@ -252,8 +252,8 @@ ivas_error ivas_enc( { return error; } if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, &nb_bits_metadata[0], st_ivas->nchan_transport, ivas_format, ivas_total_brate, hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, &nb_bits_metadata[0], st_ivas->nchan_transport, ivas_format, ivas_total_brate, hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, ISM_MODE_NONE, -1, NULL, -1, NULL, 0, 0 ) ) != IVAS_ERR_OK ) { return error; Loading
lib_enc/ivas_masa_enc.c +13 −3 Original line number Diff line number Diff line Loading @@ -252,6 +252,7 @@ ivas_error ivas_masa_encode( int16_t masa_sid_descriptor; int16_t low_bitrate_mode; int32_t masa_total_brate; ivas_error error; masa_sid_descriptor = -1; h_orig_metadata = NULL; Loading Loading @@ -495,16 +496,25 @@ ivas_error ivas_masa_encode( { if ( masa_total_brate >= IVAS_512k ) { ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 16, 4 ); if ( ( error = ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 16, 4 ) ) != IVAS_ERR_OK ) { return error; } } else { ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 11, 3 ); if ( ( error = ivas_qmetadata_enc_encode_hr_384_512( hMetaData, hQMetaData, 11, 3 ) ) != IVAS_ERR_OK ) { return error; } } } else { ivas_qmetadata_enc_encode( hMetaData, hQMetaData, 0 ); if ( ( error = ivas_qmetadata_enc_encode( hMetaData, hQMetaData, 0 ) ) != IVAS_ERR_OK ) { return error; } } if ( ivas_format == MASA_ISM_FORMAT && ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) Loading