Loading lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -5806,7 +5806,7 @@ void ivas_omasa_render_objects_from_mix( #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT void ivas_omasa_gain_masa_tc( float *output[], /* o : output synthesis signal */ float *output[], /* i/o : output synthesis signal */ const float gainMasa, /* i : gain for MASA transport channels */ const int16_t nchan_transport_ism, /* i : number of ISM TCs */ const int16_t output_frame /* i : output frame length per channel */ Loading lib_dec/ivas_jbm_dec.c +17 −14 Original line number Diff line number Diff line Loading @@ -925,13 +925,6 @@ ivas_error ivas_jbm_dec_render( else if ( st_ivas->hTcBuffer->tc_buffer_mode == TC_BUFFER_MODE_BUFFER ) { ivas_jbm_dec_tc_buffer_playout( st_ivas, nSamplesAskedLocal, nSamplesRendered, p_output ); #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited disc OMASA EXT. For ISMs, only metadata is modified */ if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { ivas_omasa_gain_masa_tc( p_output, st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->nchan_ism, *nSamplesRendered ); } #endif } else if ( st_ivas->ivas_format == STEREO_FORMAT ) { Loading Loading @@ -1070,13 +1063,6 @@ ivas_error ivas_jbm_dec_render( { ivas_jbm_dec_tc_buffer_playout( st_ivas, nSamplesAskedLocal, nSamplesRendered, p_output ); ivas_omasa_rearrange_channels( p_output, st_ivas->nchan_ism, *nSamplesRendered ); #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited param_one OMASA EXT. For ISMs, only metadata is modified. */ if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { ivas_omasa_gain_masa_tc( p_output, st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->nchan_ism, *nSamplesRendered ); } #endif } } else if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) Loading Loading @@ -2890,6 +2876,13 @@ void ivas_dec_prepare_renderer( { ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots ); } #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited disc OMASA EXT. For ISMs, only metadata is modified */ if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { ivas_omasa_gain_masa_tc( st_ivas->hTcBuffer->tc, st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->nchan_ism, st_ivas->hTcBuffer->n_samples_available ); } #endif } else if ( st_ivas->ivas_format == STEREO_FORMAT ) { Loading Loading @@ -2965,6 +2958,16 @@ void ivas_dec_prepare_renderer( { ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots ); } #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited param_one OMASA EXT. For ISMs, only metadata is modified. */ if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { for ( n = 0; n < CPE_CHANNELS; n++ ) { v_multc( st_ivas->hTcBuffer->tc[n], st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->hTcBuffer->tc[n], st_ivas->hTcBuffer->n_samples_available ); } } #endif } else { Loading lib_dec/ivas_omasa_dec.c +4 −4 Original line number Diff line number Diff line Loading @@ -1324,16 +1324,16 @@ void ivas_omasa_render_objects_from_mix( #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /*--------------------------------------------------------------------------* * ivas_omasa_gain_masa_channels() * ivas_omasa_gain_masa_tc() * * in case of external rendering with object editing, MASA transport channels * need to be gained *--------------------------------------------------------------------------*/ void ivas_omasa_gain_masa_tc( float *output[], /* o : output synthesis signal */ const float gainMasa, /* o : gain */ const int16_t nchan_transport_ism, /* o : number of ISM TCs */ float *output[], /* i/o : output synthesis signal */ const float gainMasa, /* i : gain */ const int16_t nchan_transport_ism, /* i : number of ISM TCs */ const int16_t output_frame /* i : output frame length per channel */ ) { Loading Loading
lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -5806,7 +5806,7 @@ void ivas_omasa_render_objects_from_mix( #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT void ivas_omasa_gain_masa_tc( float *output[], /* o : output synthesis signal */ float *output[], /* i/o : output synthesis signal */ const float gainMasa, /* i : gain for MASA transport channels */ const int16_t nchan_transport_ism, /* i : number of ISM TCs */ const int16_t output_frame /* i : output frame length per channel */ Loading
lib_dec/ivas_jbm_dec.c +17 −14 Original line number Diff line number Diff line Loading @@ -925,13 +925,6 @@ ivas_error ivas_jbm_dec_render( else if ( st_ivas->hTcBuffer->tc_buffer_mode == TC_BUFFER_MODE_BUFFER ) { ivas_jbm_dec_tc_buffer_playout( st_ivas, nSamplesAskedLocal, nSamplesRendered, p_output ); #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited disc OMASA EXT. For ISMs, only metadata is modified */ if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { ivas_omasa_gain_masa_tc( p_output, st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->nchan_ism, *nSamplesRendered ); } #endif } else if ( st_ivas->ivas_format == STEREO_FORMAT ) { Loading Loading @@ -1070,13 +1063,6 @@ ivas_error ivas_jbm_dec_render( { ivas_jbm_dec_tc_buffer_playout( st_ivas, nSamplesAskedLocal, nSamplesRendered, p_output ); ivas_omasa_rearrange_channels( p_output, st_ivas->nchan_ism, *nSamplesRendered ); #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited param_one OMASA EXT. For ISMs, only metadata is modified. */ if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { ivas_omasa_gain_masa_tc( p_output, st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->nchan_ism, *nSamplesRendered ); } #endif } } else if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) Loading Loading @@ -2890,6 +2876,13 @@ void ivas_dec_prepare_renderer( { ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots ); } #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited disc OMASA EXT. For ISMs, only metadata is modified */ if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { ivas_omasa_gain_masa_tc( st_ivas->hTcBuffer->tc, st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->nchan_ism, st_ivas->hTcBuffer->n_samples_available ); } #endif } else if ( st_ivas->ivas_format == STEREO_FORMAT ) { Loading Loading @@ -2965,6 +2958,16 @@ void ivas_dec_prepare_renderer( { ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots ); } #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /* MASA transport gaining for edited param_one OMASA EXT. For ISMs, only metadata is modified. */ if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && st_ivas->hMasaIsmData->masa_gain_is_edited == 1 ) { for ( n = 0; n < CPE_CHANNELS; n++ ) { v_multc( st_ivas->hTcBuffer->tc[n], st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->hTcBuffer->tc[n], st_ivas->hTcBuffer->n_samples_available ); } } #endif } else { Loading
lib_dec/ivas_omasa_dec.c +4 −4 Original line number Diff line number Diff line Loading @@ -1324,16 +1324,16 @@ void ivas_omasa_render_objects_from_mix( #ifdef NONBE_FIX_1305_OMASA_OBJ_EDIT_EXT /*--------------------------------------------------------------------------* * ivas_omasa_gain_masa_channels() * ivas_omasa_gain_masa_tc() * * in case of external rendering with object editing, MASA transport channels * need to be gained *--------------------------------------------------------------------------*/ void ivas_omasa_gain_masa_tc( float *output[], /* o : output synthesis signal */ const float gainMasa, /* o : gain */ const int16_t nchan_transport_ism, /* o : number of ISM TCs */ float *output[], /* i/o : output synthesis signal */ const float gainMasa, /* i : gain */ const int16_t nchan_transport_ism, /* i : number of ISM TCs */ const int16_t output_frame /* i : output frame length per channel */ ) { Loading