Loading lib_com/ivas_ism_config.c +30 −15 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ static void bitbudget_to_brate( ivas_error ivas_ism_config( const int32_t ism_total_brate, /* i : ISms total bitrate */ const int16_t nchan_transport, /* i : number of transport channels */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t localVAD[MAX_NUM_OBJECTS], /* i : local VAD flag */ const int16_t ism_imp[], /* i : ISM importance flags */ Loading Loading @@ -137,7 +137,7 @@ ivas_error ivas_ism_config( nb_bits_metadata[0] += ISM_EXTENDED_METADATA_BITS; } #endif nb_bits_metadata[0] += n_ISms * ISM_METADATA_FLAG_BITS + num_obj; nb_bits_metadata[0] += n_ISms * ISM_METADATA_FLAG_BITS + nchan_ism; for ( ch = 0; ch < n_ISms; ch++ ) { Loading Loading @@ -453,12 +453,23 @@ float ism_dequant_meta( * ---------------------------------------------------------------*/ void ivas_param_ism_config( PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ ) PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ #ifdef NCHAN_ISM_PARAMETER , const int16_t nchan_obj /* i : number of ISM channels */ #endif ) { #ifdef NCHAN_ISM_PARAMETER int16_t i; hParamIsm->nbands = MAX_PARAM_ISM_NBANDS; #else int16_t i, num_obj; hParamIsm->nbands = MAX_PARAM_ISM_NBANDS; num_obj = hParamIsm->num_obj; #endif for ( i = 0; i < hParamIsm->nbands; i++ ) { Loading @@ -466,7 +477,11 @@ void ivas_param_ism_config( } /* for elevation zero compute the max azi quantization indices */ #ifdef NCHAN_ISM_PARAMETER for ( i = 0; i < nchan_obj; i++ ) #else for ( i = 0; i < num_obj; i++ ) #endif { hParamIsm->last_az_diff[i] = 0; hParamIsm->last_az_sgn[i] = 1; Loading Loading @@ -513,14 +528,14 @@ ISM_MODE ivas_ism_mode_select( *-------------------------------------------------------------------*/ void update_last_metadata( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t updt_flag[] /* i : last metadata update flag */ ) { int16_t ch; for ( ch = 0; ch < num_obj; ch++ ) for ( ch = 0; ch < nchan_ism; ch++ ) { if ( updt_flag[ch] == 1 ) { Loading @@ -540,7 +555,7 @@ void update_last_metadata( *----------------------------------------------------------------*/ void ivas_get_ism_sid_quan_bitbudget( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ int16_t *nBits_azimuth, /* o : number of Q bits for azimuth */ int16_t *nBits_elevation, /* o : number of Q bits for elevation */ float *q_step, /* o : quantization step */ Loading @@ -556,7 +571,7 @@ void ivas_get_ism_sid_quan_bitbudget( *nBits_coh = ISM_DTX_COH_SCA_BITS; *nBits_sce_id = 1; if ( num_obj >= 3 ) if ( nchan_ism >= 3 ) { *nBits_azimuth = ISM_DTX_AZI_BITS_LOW; *nBits_elevation = ISM_DTX_ELE_BITS_LOW; Loading lib_com/ivas_prot.h +24 −11 Original line number Diff line number Diff line Loading @@ -747,8 +747,8 @@ void dtx_read_padding_bits( ivas_error ivas_ism_config( const int32_t ism_total_brate, /* i : ISms total bitrate */ const int16_t num_trans_ch, /* i : number of trans channels */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t localVAD[MAX_NUM_OBJECTS], /* i : local VAD flag */ const int16_t ism_imp[], /* i : ISM importance flags */ Loading Loading @@ -818,6 +818,9 @@ ivas_error ivas_ism_enc( ivas_error ivas_ism_metadata_enc( const int32_t ism_total_brate, /* i : ISms total bitrate */ #ifdef NCHAN_ISM_PARAMETER const int16_t nchan_ism, /* i : number of ISM channels */ #endif const int16_t nchan_transport, /* i : number of transport channels */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ SCE_ENC_HANDLE hSCE[], /* i/o: SCE encoder handles */ Loading @@ -835,6 +838,9 @@ ivas_error ivas_ism_metadata_enc( ivas_error ivas_ism_metadata_dec( const int32_t ism_total_brate, /* i : ISms total bitrate */ #ifdef NCHAN_ISM_PARAMETER const int16_t nchan_ism, /* i : number of ISM channels */ #endif int16_t *nchan_transport, /* o : number of transport channels */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ SCE_DEC_HANDLE hSCE[], /* i/o: SCE decoder handles */ Loading Loading @@ -881,6 +887,10 @@ void ivas_param_ism_stereo_dmx( void ivas_param_ism_config( PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ #ifdef NCHAN_ISM_PARAMETER , const int16_t nchan_ism /* i : number of ISM channels */ #endif ); ivas_error ivas_ism_enc_config( Loading @@ -888,11 +898,14 @@ ivas_error ivas_ism_enc_config( ); ivas_error ivas_ism_dec_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ #ifdef DISCRETE_ISM_DTX_CNG const ISM_MODE last_ism_mode, /* i/o: last ISM mode */ , const ISM_MODE last_ism_mode /* i/o: last ISM mode */ #endif #ifndef NCHAN_ISM_PARAMETER ,const int16_t num_obj /* i : number of objects in the bitstream */ #endif const int16_t num_obj /* i : number of objects in the bitstream */ ); ivas_error ivas_param_ism_dec_open( Loading Loading @@ -930,7 +943,7 @@ int16_t ivas_ism_dtx_enc( #ifdef FIX_DTX_BRATE_LIMIT const int32_t ivas_total_brate, /* i : IVAS total bitrate */ #endif const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ int16_t vad_flag[MAX_NUM_OBJECTS], /* i : VAD flag */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ Loading @@ -954,7 +967,7 @@ ivas_error ivas_ism_dtx_dec( void ivas_ism_metadata_sid_enc( ISM_DTX_HANDLE hISMDTX, /* i/o: ISM DTX handle */ const int16_t flag_noisy_speech, /* i : noisy speech flag */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ const ISM_MODE ism_mode, /* i : ISM mode */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ Loading @@ -977,7 +990,7 @@ void ivas_ism_metadata_sid_dec( SCE_DEC_HANDLE hSCE[MAX_SCE], /* i/o: SCE encoder structure */ const int32_t ism_total_brate, /* i : ISms total bitrate */ const int16_t bfi, /* i : bfi flag */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ const ISM_MODE ism_mode, /* i : ISM mode */ int16_t *flag_noisy_speech, /* o : noisy speech flag */ Loading Loading @@ -1011,13 +1024,13 @@ void ivas_ism_coh_estim_dtx_enc( #ifdef DISCRETE_ISM_DTX_CNG void update_last_metadata( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t updt_flag[] /* i : last metadata update flag */ ); void ivas_get_ism_sid_quan_bitbudget( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ int16_t *nBits_azimuth, /* o : number of Q bits for azimuth */ int16_t *nBits_elevation, /* o : number of Q bits for elevation */ float *q_step, /* o : quantization step */ Loading Loading @@ -4709,7 +4722,7 @@ void ivas_ism2sba( float buffer_td[][L_FRAME48k], /* i/o: TD signal buffers */ ISM_RENDERER_HANDLE hIsmRendererData, /* i/o: renderer data */ const ISM_METADATA_HANDLE hIsmMetaData[], /* i : object metadata */ const int16_t num_objects, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t output_frame, /* i : output frame length per channel */ const int16_t sba_order /* i : SBA order */ ); Loading lib_com/ivas_stat_com.h +2 −0 Original line number Diff line number Diff line Loading @@ -155,7 +155,9 @@ typedef struct ivas_param_ism_data_structure int16_t nbands; int16_t nblocks[MAX_PARAM_ISM_NBANDS]; int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; #ifndef NCHAN_ISM_PARAMETER int16_t num_obj; #endif int16_t azi_index[MAX_NUM_OBJECTS]; int16_t ele_index[MAX_NUM_OBJECTS]; Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ #ifdef DISCRETE_ISM_DTX_CNG #define FORCE_EST /* FhG: force ACELP noise estimation in ISM mode for first 100 frames to prevent all-zero CNG */ #endif #define NCHAN_ISM_PARAMETER /* VA: make 'nchan_ism' parameter part of st_ivas/hEncoderConfig */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_dec.c +13 −0 Original line number Diff line number Diff line Loading @@ -149,8 +149,13 @@ ivas_error ivas_dec( } else if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { // VE: call ivas_ism_metadata_dec() with 'st_ivas' - TBD #ifdef DISCRETE_ISM_DTX_CNG #ifdef NCHAN_ISM_PARAMETER if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm ) ) != IVAS_ERR_OK ) #endif { return error; } Loading @@ -161,7 +166,11 @@ ivas_error ivas_dec( else /* ISM_MODE_DISC */ { #ifdef DISCRETE_ISM_DTX_CNG #ifdef NCHAN_ISM_PARAMETER if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, NULL ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, NULL ) ) != IVAS_ERR_OK ) #endif { return error; } Loading Loading @@ -220,7 +229,11 @@ ivas_error ivas_dec( else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV ) { /* Convert to Ambisonics; used also for ISM->HOA3->binaural rendering */ #ifdef NCHAN_ISM_PARAMETER ivas_ism2sba( output, st_ivas->hIsmRendererData, st_ivas->hIsmMetaData, st_ivas->nchan_ism, output_frame, st_ivas->hIntSetup.ambisonics_order ); #else ivas_ism2sba( output, st_ivas->hIsmRendererData, st_ivas->hIsmMetaData, st_ivas->nchan_transport, output_frame, st_ivas->hIntSetup.ambisonics_order ); #endif } /* Binaural rendering */ Loading Loading
lib_com/ivas_ism_config.c +30 −15 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ static void bitbudget_to_brate( ivas_error ivas_ism_config( const int32_t ism_total_brate, /* i : ISms total bitrate */ const int16_t nchan_transport, /* i : number of transport channels */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t localVAD[MAX_NUM_OBJECTS], /* i : local VAD flag */ const int16_t ism_imp[], /* i : ISM importance flags */ Loading Loading @@ -137,7 +137,7 @@ ivas_error ivas_ism_config( nb_bits_metadata[0] += ISM_EXTENDED_METADATA_BITS; } #endif nb_bits_metadata[0] += n_ISms * ISM_METADATA_FLAG_BITS + num_obj; nb_bits_metadata[0] += n_ISms * ISM_METADATA_FLAG_BITS + nchan_ism; for ( ch = 0; ch < n_ISms; ch++ ) { Loading Loading @@ -453,12 +453,23 @@ float ism_dequant_meta( * ---------------------------------------------------------------*/ void ivas_param_ism_config( PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ ) PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ #ifdef NCHAN_ISM_PARAMETER , const int16_t nchan_obj /* i : number of ISM channels */ #endif ) { #ifdef NCHAN_ISM_PARAMETER int16_t i; hParamIsm->nbands = MAX_PARAM_ISM_NBANDS; #else int16_t i, num_obj; hParamIsm->nbands = MAX_PARAM_ISM_NBANDS; num_obj = hParamIsm->num_obj; #endif for ( i = 0; i < hParamIsm->nbands; i++ ) { Loading @@ -466,7 +477,11 @@ void ivas_param_ism_config( } /* for elevation zero compute the max azi quantization indices */ #ifdef NCHAN_ISM_PARAMETER for ( i = 0; i < nchan_obj; i++ ) #else for ( i = 0; i < num_obj; i++ ) #endif { hParamIsm->last_az_diff[i] = 0; hParamIsm->last_az_sgn[i] = 1; Loading Loading @@ -513,14 +528,14 @@ ISM_MODE ivas_ism_mode_select( *-------------------------------------------------------------------*/ void update_last_metadata( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t updt_flag[] /* i : last metadata update flag */ ) { int16_t ch; for ( ch = 0; ch < num_obj; ch++ ) for ( ch = 0; ch < nchan_ism; ch++ ) { if ( updt_flag[ch] == 1 ) { Loading @@ -540,7 +555,7 @@ void update_last_metadata( *----------------------------------------------------------------*/ void ivas_get_ism_sid_quan_bitbudget( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ int16_t *nBits_azimuth, /* o : number of Q bits for azimuth */ int16_t *nBits_elevation, /* o : number of Q bits for elevation */ float *q_step, /* o : quantization step */ Loading @@ -556,7 +571,7 @@ void ivas_get_ism_sid_quan_bitbudget( *nBits_coh = ISM_DTX_COH_SCA_BITS; *nBits_sce_id = 1; if ( num_obj >= 3 ) if ( nchan_ism >= 3 ) { *nBits_azimuth = ISM_DTX_AZI_BITS_LOW; *nBits_elevation = ISM_DTX_ELE_BITS_LOW; Loading
lib_com/ivas_prot.h +24 −11 Original line number Diff line number Diff line Loading @@ -747,8 +747,8 @@ void dtx_read_padding_bits( ivas_error ivas_ism_config( const int32_t ism_total_brate, /* i : ISms total bitrate */ const int16_t num_trans_ch, /* i : number of trans channels */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t localVAD[MAX_NUM_OBJECTS], /* i : local VAD flag */ const int16_t ism_imp[], /* i : ISM importance flags */ Loading Loading @@ -818,6 +818,9 @@ ivas_error ivas_ism_enc( ivas_error ivas_ism_metadata_enc( const int32_t ism_total_brate, /* i : ISms total bitrate */ #ifdef NCHAN_ISM_PARAMETER const int16_t nchan_ism, /* i : number of ISM channels */ #endif const int16_t nchan_transport, /* i : number of transport channels */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ SCE_ENC_HANDLE hSCE[], /* i/o: SCE encoder handles */ Loading @@ -835,6 +838,9 @@ ivas_error ivas_ism_metadata_enc( ivas_error ivas_ism_metadata_dec( const int32_t ism_total_brate, /* i : ISms total bitrate */ #ifdef NCHAN_ISM_PARAMETER const int16_t nchan_ism, /* i : number of ISM channels */ #endif int16_t *nchan_transport, /* o : number of transport channels */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ SCE_DEC_HANDLE hSCE[], /* i/o: SCE decoder handles */ Loading Loading @@ -881,6 +887,10 @@ void ivas_param_ism_stereo_dmx( void ivas_param_ism_config( PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ #ifdef NCHAN_ISM_PARAMETER , const int16_t nchan_ism /* i : number of ISM channels */ #endif ); ivas_error ivas_ism_enc_config( Loading @@ -888,11 +898,14 @@ ivas_error ivas_ism_enc_config( ); ivas_error ivas_ism_dec_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ #ifdef DISCRETE_ISM_DTX_CNG const ISM_MODE last_ism_mode, /* i/o: last ISM mode */ , const ISM_MODE last_ism_mode /* i/o: last ISM mode */ #endif #ifndef NCHAN_ISM_PARAMETER ,const int16_t num_obj /* i : number of objects in the bitstream */ #endif const int16_t num_obj /* i : number of objects in the bitstream */ ); ivas_error ivas_param_ism_dec_open( Loading Loading @@ -930,7 +943,7 @@ int16_t ivas_ism_dtx_enc( #ifdef FIX_DTX_BRATE_LIMIT const int32_t ivas_total_brate, /* i : IVAS total bitrate */ #endif const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ int16_t vad_flag[MAX_NUM_OBJECTS], /* i : VAD flag */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ Loading @@ -954,7 +967,7 @@ ivas_error ivas_ism_dtx_dec( void ivas_ism_metadata_sid_enc( ISM_DTX_HANDLE hISMDTX, /* i/o: ISM DTX handle */ const int16_t flag_noisy_speech, /* i : noisy speech flag */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ const ISM_MODE ism_mode, /* i : ISM mode */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ Loading @@ -977,7 +990,7 @@ void ivas_ism_metadata_sid_dec( SCE_DEC_HANDLE hSCE[MAX_SCE], /* i/o: SCE encoder structure */ const int32_t ism_total_brate, /* i : ISms total bitrate */ const int16_t bfi, /* i : bfi flag */ const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t nchan_transport, /* i : number of transport channels */ const ISM_MODE ism_mode, /* i : ISM mode */ int16_t *flag_noisy_speech, /* o : noisy speech flag */ Loading Loading @@ -1011,13 +1024,13 @@ void ivas_ism_coh_estim_dtx_enc( #ifdef DISCRETE_ISM_DTX_CNG void update_last_metadata( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ const int16_t updt_flag[] /* i : last metadata update flag */ ); void ivas_get_ism_sid_quan_bitbudget( const int16_t num_obj, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ int16_t *nBits_azimuth, /* o : number of Q bits for azimuth */ int16_t *nBits_elevation, /* o : number of Q bits for elevation */ float *q_step, /* o : quantization step */ Loading Loading @@ -4709,7 +4722,7 @@ void ivas_ism2sba( float buffer_td[][L_FRAME48k], /* i/o: TD signal buffers */ ISM_RENDERER_HANDLE hIsmRendererData, /* i/o: renderer data */ const ISM_METADATA_HANDLE hIsmMetaData[], /* i : object metadata */ const int16_t num_objects, /* i : number of objects */ const int16_t nchan_ism, /* i : number of objects */ const int16_t output_frame, /* i : output frame length per channel */ const int16_t sba_order /* i : SBA order */ ); Loading
lib_com/ivas_stat_com.h +2 −0 Original line number Diff line number Diff line Loading @@ -155,7 +155,9 @@ typedef struct ivas_param_ism_data_structure int16_t nbands; int16_t nblocks[MAX_PARAM_ISM_NBANDS]; int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; #ifndef NCHAN_ISM_PARAMETER int16_t num_obj; #endif int16_t azi_index[MAX_NUM_OBJECTS]; int16_t ele_index[MAX_NUM_OBJECTS]; Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ #ifdef DISCRETE_ISM_DTX_CNG #define FORCE_EST /* FhG: force ACELP noise estimation in ISM mode for first 100 frames to prevent all-zero CNG */ #endif #define NCHAN_ISM_PARAMETER /* VA: make 'nchan_ism' parameter part of st_ivas/hEncoderConfig */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_dec.c +13 −0 Original line number Diff line number Diff line Loading @@ -149,8 +149,13 @@ ivas_error ivas_dec( } else if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { // VE: call ivas_ism_metadata_dec() with 'st_ivas' - TBD #ifdef DISCRETE_ISM_DTX_CNG #ifdef NCHAN_ISM_PARAMETER if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm ) ) != IVAS_ERR_OK ) #endif { return error; } Loading @@ -161,7 +166,11 @@ ivas_error ivas_dec( else /* ISM_MODE_DISC */ { #ifdef DISCRETE_ISM_DTX_CNG #ifdef NCHAN_ISM_PARAMETER if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, NULL ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, NULL ) ) != IVAS_ERR_OK ) #endif { return error; } Loading Loading @@ -220,7 +229,11 @@ ivas_error ivas_dec( else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV ) { /* Convert to Ambisonics; used also for ISM->HOA3->binaural rendering */ #ifdef NCHAN_ISM_PARAMETER ivas_ism2sba( output, st_ivas->hIsmRendererData, st_ivas->hIsmMetaData, st_ivas->nchan_ism, output_frame, st_ivas->hIntSetup.ambisonics_order ); #else ivas_ism2sba( output, st_ivas->hIsmRendererData, st_ivas->hIsmMetaData, st_ivas->nchan_transport, output_frame, st_ivas->hIntSetup.ambisonics_order ); #endif } /* Binaural rendering */ Loading