Loading lib_com/ivas_prot.h +10 −10 Original line number Diff line number Diff line Loading @@ -810,7 +810,7 @@ void ivas_jbm_dec_feed_tc_to_renderer( ); #ifdef OBJ_EDITING_API void ivas_jbm_dec_prepare_renderer( void ivas_dec_prepare_renderer( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif Loading Loading @@ -1026,7 +1026,7 @@ ivas_error ivas_ism_metadata_dec( #ifdef OBJ_EDITING_API void ivas_ism_renderer_update_md( Decoder_Struct *st_ivas /* i/o: main IVAS decoder handle */ Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ ); #endif Loading Loading @@ -1099,7 +1099,7 @@ void ivas_ism_dec_digest_tc( void ivas_param_ism_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ const uint16_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ float *transport_channels_f[] /* i : synthesized core-coder transport channels/DirAC output */ ); Loading @@ -1110,7 +1110,7 @@ void ivas_param_ism_dec_dequant_md( void ivas_param_ism_dec_prepare_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots /* i : number of CLFBS slots in the transport channels */ const uint16_t nCldfbSlots /* i : number of CLDFB slots in transport channels */ ); #endif Loading Loading @@ -3793,7 +3793,7 @@ void ivas_mc_paramupmix_dec_read_BS( void ivas_mc_paramupmix_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint8_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ const uint8_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ const int16_t nSamplesForRendering /* i : number of samples provided */ ); Loading Loading @@ -3863,14 +3863,14 @@ void ivas_param_mc_dec_read_BS( void ivas_param_mc_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint8_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ float *transport_channels_f[] /* i : synthesized core-coder transport channels/DirAC output*/ const uint8_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ float *transport_channels_f[] /* i/o: synthesized core-coder transport channels/DirAC output*/ ); #ifdef OBJ_EDITING_API void ivas_param_mc_dec_prepare_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint8_t nCldfbSlots /* i : number of CLFBS slots in the transport channels */ const uint8_t nCldfbSlots /* i : number of CLDFB slots in the transport channels */ ); #endif Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ /* ################## Start DEVELOPMENT switches ######################### */ /*#define OBJ_EDITING_INTERFACE*/ /* Interface for object editing */ #define OBJ_EDITING_INTERFACE /* Interface for object editing */ #ifdef OBJ_EDITING_INTERFACE #define OBJ_EDITING_API /* object editing changes related to the API */ #define OBJ_EDITING_EXAMPLE /* obj editing example code in decoder.c */ Loading lib_dec/ivas_dirac_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -2240,7 +2240,7 @@ void ivas_dirac_dec_render_sf( #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING int16_t j2, lfe_index; #endif int16_t num_objects, nchan_out_woLFE; int16_t nchan_ism, nchan_out_woLFE; int16_t az1, el1; int16_t n_slots_to_render; int16_t n_samples_to_render; Loading @@ -2249,7 +2249,7 @@ void ivas_dirac_dec_render_sf( #endif float gain, prev_gain; num_objects = st_ivas->nchan_ism; nchan_ism = st_ivas->nchan_ism; nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE; n_slots_to_render = st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered]; n_samples_to_render = hSpatParamRendCom->num_freq_bands * n_slots_to_render; Loading @@ -2267,7 +2267,7 @@ void ivas_dirac_dec_render_sf( #endif } for ( i = 0; i < num_objects; i++ ) for ( i = 0; i < nchan_ism; i++ ) { /* Combined rotation: rotate the object positions depending the head and external orientations */ if ( st_ivas->hCombinedOrientationData != NULL && st_ivas->hCombinedOrientationData->enableCombinedOrientation[0] == 1 ) Loading lib_dec/ivas_ism_param_dec.c +5 −5 Original line number Diff line number Diff line Loading @@ -813,8 +813,8 @@ void ivas_ism_dec_digest_tc( void ivas_param_ism_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ float *transport_channels_f[] /* i : synthesized core-coder transport channels/DirAC output */ const uint16_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ float *transport_channels_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ) { #ifndef OBJ_EDITING_API Loading Loading @@ -1020,7 +1020,7 @@ void ivas_param_ism_dec_dequant_md( void ivas_param_ism_dec_prepare_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots /* i : number of CLFBS slots in the transport channels */ const uint16_t nCldfbSlots /* i : number of CLDFB slots in transport channels */ ) { int16_t ch, nchan_transport, nchan_out, nchan_out_woLFE, i; Loading lib_dec/ivas_jbm_dec.c +12 −10 Original line number Diff line number Diff line Loading @@ -794,7 +794,7 @@ void ivas_jbm_dec_feed_tc_to_renderer( float *p_data_f[MAX_CLDFB_DIGEST_CHANNELS]; int16_t n, n_render_timeslots; push_wmops( "ivas_jbm_dec_feed_tc_to_rendererer" ); push_wmops( "ivas_jbm_dec_feed_tc_to_renderer" ); for ( n = 0; n < MAX_CLDFB_DIGEST_CHANNELS; n++ ) { p_data_f[n] = &data_f[n][0]; Loading Loading @@ -2983,18 +2983,18 @@ void ivas_jbm_masa_sf_to_sf_map( #ifdef OBJ_EDITING_API /*--------------------------------------------------------------------------* * ivas_jbm_dec_prepare_renderer() * ivas_dec_prepare_renderer() * * prepare IVAS JBM renderer routine * prepare IVAS renderer routine *--------------------------------------------------------------------------*/ void ivas_jbm_dec_prepare_renderer( void ivas_dec_prepare_renderer( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { int16_t n, n_render_timeslots; push_wmops( "ivas_jbm_dec_feed_tc_to_rendererer" ); push_wmops( "ivas_dec_prepare_renderer" ); n_render_timeslots = st_ivas->hTcBuffer->n_samples_available / st_ivas->hTcBuffer->n_samples_granularity; Loading Loading @@ -3099,19 +3099,20 @@ void ivas_jbm_dec_prepare_renderer( if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_DIRAC ) { int16_t num_objects; int16_t nchan_transport_ism; /* Delay the signal to match CLDFB delay. Delay the whole buffer. */ num_objects = 0; nchan_transport_ism = 0; if ( ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC ) { num_objects = 1; nchan_transport_ism = 1; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { num_objects = st_ivas->nchan_ism; nchan_transport_ism = st_ivas->nchan_ism; } for ( n = 0; n < num_objects; n++ ) for ( n = 0; n < nchan_transport_ism; n++ ) { if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC ) { Loading @@ -3129,6 +3130,7 @@ void ivas_jbm_dec_prepare_renderer( v_multc( st_ivas->hTcBuffer->tc[CPE_CHANNELS + n], OMASA_TDREND_MATCHING_GAIN, st_ivas->hTcBuffer->tc[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available ); #endif } if ( st_ivas->hDecoderConfig->output_config != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED && st_ivas->hDecoderConfig->output_config != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) { delay_signal( st_ivas->hTcBuffer->tc[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, st_ivas->hMasaIsmData->delayBuffer[n], st_ivas->hMasaIsmData->delayBuffer_size ); Loading Loading
lib_com/ivas_prot.h +10 −10 Original line number Diff line number Diff line Loading @@ -810,7 +810,7 @@ void ivas_jbm_dec_feed_tc_to_renderer( ); #ifdef OBJ_EDITING_API void ivas_jbm_dec_prepare_renderer( void ivas_dec_prepare_renderer( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif Loading Loading @@ -1026,7 +1026,7 @@ ivas_error ivas_ism_metadata_dec( #ifdef OBJ_EDITING_API void ivas_ism_renderer_update_md( Decoder_Struct *st_ivas /* i/o: main IVAS decoder handle */ Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ ); #endif Loading Loading @@ -1099,7 +1099,7 @@ void ivas_ism_dec_digest_tc( void ivas_param_ism_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ const uint16_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ float *transport_channels_f[] /* i : synthesized core-coder transport channels/DirAC output */ ); Loading @@ -1110,7 +1110,7 @@ void ivas_param_ism_dec_dequant_md( void ivas_param_ism_dec_prepare_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots /* i : number of CLFBS slots in the transport channels */ const uint16_t nCldfbSlots /* i : number of CLDFB slots in transport channels */ ); #endif Loading Loading @@ -3793,7 +3793,7 @@ void ivas_mc_paramupmix_dec_read_BS( void ivas_mc_paramupmix_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint8_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ const uint8_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ const int16_t nSamplesForRendering /* i : number of samples provided */ ); Loading Loading @@ -3863,14 +3863,14 @@ void ivas_param_mc_dec_read_BS( void ivas_param_mc_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint8_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ float *transport_channels_f[] /* i : synthesized core-coder transport channels/DirAC output*/ const uint8_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ float *transport_channels_f[] /* i/o: synthesized core-coder transport channels/DirAC output*/ ); #ifdef OBJ_EDITING_API void ivas_param_mc_dec_prepare_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint8_t nCldfbSlots /* i : number of CLFBS slots in the transport channels */ const uint8_t nCldfbSlots /* i : number of CLDFB slots in the transport channels */ ); #endif Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ /* ################## Start DEVELOPMENT switches ######################### */ /*#define OBJ_EDITING_INTERFACE*/ /* Interface for object editing */ #define OBJ_EDITING_INTERFACE /* Interface for object editing */ #ifdef OBJ_EDITING_INTERFACE #define OBJ_EDITING_API /* object editing changes related to the API */ #define OBJ_EDITING_EXAMPLE /* obj editing example code in decoder.c */ Loading
lib_dec/ivas_dirac_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -2240,7 +2240,7 @@ void ivas_dirac_dec_render_sf( #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING int16_t j2, lfe_index; #endif int16_t num_objects, nchan_out_woLFE; int16_t nchan_ism, nchan_out_woLFE; int16_t az1, el1; int16_t n_slots_to_render; int16_t n_samples_to_render; Loading @@ -2249,7 +2249,7 @@ void ivas_dirac_dec_render_sf( #endif float gain, prev_gain; num_objects = st_ivas->nchan_ism; nchan_ism = st_ivas->nchan_ism; nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE; n_slots_to_render = st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered]; n_samples_to_render = hSpatParamRendCom->num_freq_bands * n_slots_to_render; Loading @@ -2267,7 +2267,7 @@ void ivas_dirac_dec_render_sf( #endif } for ( i = 0; i < num_objects; i++ ) for ( i = 0; i < nchan_ism; i++ ) { /* Combined rotation: rotate the object positions depending the head and external orientations */ if ( st_ivas->hCombinedOrientationData != NULL && st_ivas->hCombinedOrientationData->enableCombinedOrientation[0] == 1 ) Loading
lib_dec/ivas_ism_param_dec.c +5 −5 Original line number Diff line number Diff line Loading @@ -813,8 +813,8 @@ void ivas_ism_dec_digest_tc( void ivas_param_ism_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots, /* i : number of CLFBS slots in the transport channels */ float *transport_channels_f[] /* i : synthesized core-coder transport channels/DirAC output */ const uint16_t nCldfbSlots, /* i : number of CLDFB slots in transport channels */ float *transport_channels_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ) { #ifndef OBJ_EDITING_API Loading Loading @@ -1020,7 +1020,7 @@ void ivas_param_ism_dec_dequant_md( void ivas_param_ism_dec_prepare_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nCldfbSlots /* i : number of CLFBS slots in the transport channels */ const uint16_t nCldfbSlots /* i : number of CLDFB slots in transport channels */ ) { int16_t ch, nchan_transport, nchan_out, nchan_out_woLFE, i; Loading
lib_dec/ivas_jbm_dec.c +12 −10 Original line number Diff line number Diff line Loading @@ -794,7 +794,7 @@ void ivas_jbm_dec_feed_tc_to_renderer( float *p_data_f[MAX_CLDFB_DIGEST_CHANNELS]; int16_t n, n_render_timeslots; push_wmops( "ivas_jbm_dec_feed_tc_to_rendererer" ); push_wmops( "ivas_jbm_dec_feed_tc_to_renderer" ); for ( n = 0; n < MAX_CLDFB_DIGEST_CHANNELS; n++ ) { p_data_f[n] = &data_f[n][0]; Loading Loading @@ -2983,18 +2983,18 @@ void ivas_jbm_masa_sf_to_sf_map( #ifdef OBJ_EDITING_API /*--------------------------------------------------------------------------* * ivas_jbm_dec_prepare_renderer() * ivas_dec_prepare_renderer() * * prepare IVAS JBM renderer routine * prepare IVAS renderer routine *--------------------------------------------------------------------------*/ void ivas_jbm_dec_prepare_renderer( void ivas_dec_prepare_renderer( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { int16_t n, n_render_timeslots; push_wmops( "ivas_jbm_dec_feed_tc_to_rendererer" ); push_wmops( "ivas_dec_prepare_renderer" ); n_render_timeslots = st_ivas->hTcBuffer->n_samples_available / st_ivas->hTcBuffer->n_samples_granularity; Loading Loading @@ -3099,19 +3099,20 @@ void ivas_jbm_dec_prepare_renderer( if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_DIRAC ) { int16_t num_objects; int16_t nchan_transport_ism; /* Delay the signal to match CLDFB delay. Delay the whole buffer. */ num_objects = 0; nchan_transport_ism = 0; if ( ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC ) { num_objects = 1; nchan_transport_ism = 1; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { num_objects = st_ivas->nchan_ism; nchan_transport_ism = st_ivas->nchan_ism; } for ( n = 0; n < num_objects; n++ ) for ( n = 0; n < nchan_transport_ism; n++ ) { if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC ) { Loading @@ -3129,6 +3130,7 @@ void ivas_jbm_dec_prepare_renderer( v_multc( st_ivas->hTcBuffer->tc[CPE_CHANNELS + n], OMASA_TDREND_MATCHING_GAIN, st_ivas->hTcBuffer->tc[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available ); #endif } if ( st_ivas->hDecoderConfig->output_config != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED && st_ivas->hDecoderConfig->output_config != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) { delay_signal( st_ivas->hTcBuffer->tc[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, st_ivas->hMasaIsmData->delayBuffer[n], st_ivas->hMasaIsmData->delayBuffer_size ); Loading