Loading lib_dec/ivas_ism_param_dec.c +41 −18 Original line number Diff line number Diff line Loading @@ -1384,44 +1384,32 @@ void ivas_param_ism_dec_render( return; } #ifdef OBJ_EDITING_PARAMISM /*-------------------------------------------------------------------------* * ivas_param_ism_params_to_masa_param_mapping() * * *-------------------------------------------------------------------------*/ void ivas_param_ism_params_to_masa_param_mapping( void ivas_param_ism_obj2band( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { PARAM_ISM_DEC_HANDLE hParamIsmDec; SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom; int16_t nBins; int16_t band_idx, bin_idx, sf_idx; int16_t brange[2]; int16_t azimuth[2]; int16_t elevation[2]; float power_ratio[2]; int32_t ivas_total_brate; PARAM_ISM_DEC_HANDLE hParamIsmDec; SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom; hParamIsmDec = st_ivas->hParamIsmDec; hSpatParamRendCom = st_ivas->hSpatParamRendCom; nBins = hSpatParamRendCom->num_freq_bands; ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; if ( !( ivas_total_brate == IVAS_SID_5k2 || ivas_total_brate == FRAME_NO_DATA ) ) { ivas_param_ism_dec_dequant_DOA( hParamIsmDec, st_ivas->nchan_ism ); ivas_param_ism_dec_dequant_powrat( hParamIsmDec ); st_ivas->hISMDTX.dtx_flag = 0; } else { st_ivas->hISMDTX.dtx_flag = 1; } if ( st_ivas->hISMDTX.dtx_flag ) { float energy_ratio; Loading Loading @@ -1485,6 +1473,41 @@ void ivas_param_ism_params_to_masa_param_mapping( } } } } #endif /*-------------------------------------------------------------------------* * ivas_param_ism_params_to_masa_param_mapping() * * *-------------------------------------------------------------------------*/ void ivas_param_ism_params_to_masa_param_mapping( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { PARAM_ISM_DEC_HANDLE hParamIsmDec; SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom; int32_t ivas_total_brate; hParamIsmDec = st_ivas->hParamIsmDec; ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; if ( !( ivas_total_brate == IVAS_SID_5k2 || ivas_total_brate == FRAME_NO_DATA ) ) { ivas_param_ism_dec_dequant_DOA( hParamIsmDec, st_ivas->nchan_ism ); ivas_param_ism_dec_dequant_powrat( hParamIsmDec ); st_ivas->hISMDTX.dtx_flag = 0; } else { st_ivas->hISMDTX.dtx_flag = 1; } #ifdef OBJ_EDITING_PARAMISM ivas_param_ism_obj2band( st_ivas ); #endif return; } lib_dec/ivas_jbm_dec.c +27 −27 Original line number Diff line number Diff line Loading @@ -1028,9 +1028,11 @@ void ivas_jbm_dec_prepare_renderer( else if ( st_ivas->ivas_format == ISM_FORMAT ) { /* Rendering */ #ifndef OBJ_EDITING_PARAMISM if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { #ifdef OBJ_EDITING_PARAMISM #else if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) { ivas_dirac_dec_set_md_map( st_ivas, n_render_timeslots ); Loading @@ -1041,11 +1043,9 @@ void ivas_jbm_dec_prepare_renderer( { ivas_param_ism_dec_prepare_renderer( st_ivas, n_render_timeslots ); } #endif } else /* ISM_MODE_DISC */ #else if ( st_ivas->ism_mode != ISM_MODE_PARAM ) #endif { ivas_ism_dec_digest_tc( st_ivas ); } Loading lib_dec/lib_dec.c +20 −33 Original line number Diff line number Diff line Loading @@ -1092,8 +1092,8 @@ ivas_error IVAS_DEC_GetEditableParameters( int16_t obj; for ( obj = 0; obj < hIvasEditableParameters->num_obj; obj++ ) { hIvasEditableParameters->ism_metadata[obj].azimuth = hIvasDec->st_ivas->hSpatParamRendCom->azimuth[0][0]; hIvasEditableParameters->ism_metadata[obj].elevation = hIvasDec->st_ivas->hSpatParamRendCom->azimuth[0][0]; hIvasEditableParameters->ism_metadata[obj].azimuth = hIvasDec->st_ivas->hParamIsmDec->azimuth_values[obj]; hIvasEditableParameters->ism_metadata[obj].elevation = hIvasDec->st_ivas->hParamIsmDec->elevation_values[obj]; hIvasEditableParameters->ism_metadata[obj].yaw = 0; hIvasEditableParameters->ism_metadata[obj].pitch = 0; hIvasEditableParameters->ism_metadata[obj].radius = 0; Loading Loading @@ -1163,24 +1163,11 @@ ivas_error IVAS_DEC_SetEditableParameters( #ifdef OBJ_EDITING_PARAMISM else if ( hIvasDec->st_ivas->ism_mode == ISM_MODE_PARAM ) { int16_t obj, band_idx, sf_idx, bin_idx; int16_t brange[2]; int16_t obj; for ( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { for ( band_idx = 0; band_idx < hIvasDec->st_ivas->hParamIsmDec->hParamIsm->nbands; band_idx++ ) { brange[0] = hIvasDec->st_ivas->hParamIsmDec->hParamIsm->band_grouping[band_idx]; brange[1] = hIvasDec->st_ivas->hParamIsmDec->hParamIsm->band_grouping[band_idx + 1]; for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) { for ( bin_idx = brange[0]; bin_idx < brange[1]; bin_idx++ ) { hIvasDec->st_ivas->hSpatParamRendCom->azimuth[sf_idx][bin_idx] = ( int16_t ) hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hSpatParamRendCom->elevation[sf_idx][bin_idx] = ( int16_t ) hIvasEditableParameters.ism_metadata[obj].elevation; } } } hIvasDec->st_ivas->hParamIsmDec->azimuth_values[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hParamIsmDec->elevation_values[obj] = hIvasEditableParameters.ism_metadata[obj].elevation; } } else Loading Loading
lib_dec/ivas_ism_param_dec.c +41 −18 Original line number Diff line number Diff line Loading @@ -1384,44 +1384,32 @@ void ivas_param_ism_dec_render( return; } #ifdef OBJ_EDITING_PARAMISM /*-------------------------------------------------------------------------* * ivas_param_ism_params_to_masa_param_mapping() * * *-------------------------------------------------------------------------*/ void ivas_param_ism_params_to_masa_param_mapping( void ivas_param_ism_obj2band( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { PARAM_ISM_DEC_HANDLE hParamIsmDec; SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom; int16_t nBins; int16_t band_idx, bin_idx, sf_idx; int16_t brange[2]; int16_t azimuth[2]; int16_t elevation[2]; float power_ratio[2]; int32_t ivas_total_brate; PARAM_ISM_DEC_HANDLE hParamIsmDec; SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom; hParamIsmDec = st_ivas->hParamIsmDec; hSpatParamRendCom = st_ivas->hSpatParamRendCom; nBins = hSpatParamRendCom->num_freq_bands; ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; if ( !( ivas_total_brate == IVAS_SID_5k2 || ivas_total_brate == FRAME_NO_DATA ) ) { ivas_param_ism_dec_dequant_DOA( hParamIsmDec, st_ivas->nchan_ism ); ivas_param_ism_dec_dequant_powrat( hParamIsmDec ); st_ivas->hISMDTX.dtx_flag = 0; } else { st_ivas->hISMDTX.dtx_flag = 1; } if ( st_ivas->hISMDTX.dtx_flag ) { float energy_ratio; Loading Loading @@ -1485,6 +1473,41 @@ void ivas_param_ism_params_to_masa_param_mapping( } } } } #endif /*-------------------------------------------------------------------------* * ivas_param_ism_params_to_masa_param_mapping() * * *-------------------------------------------------------------------------*/ void ivas_param_ism_params_to_masa_param_mapping( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { PARAM_ISM_DEC_HANDLE hParamIsmDec; SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom; int32_t ivas_total_brate; hParamIsmDec = st_ivas->hParamIsmDec; ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; if ( !( ivas_total_brate == IVAS_SID_5k2 || ivas_total_brate == FRAME_NO_DATA ) ) { ivas_param_ism_dec_dequant_DOA( hParamIsmDec, st_ivas->nchan_ism ); ivas_param_ism_dec_dequant_powrat( hParamIsmDec ); st_ivas->hISMDTX.dtx_flag = 0; } else { st_ivas->hISMDTX.dtx_flag = 1; } #ifdef OBJ_EDITING_PARAMISM ivas_param_ism_obj2band( st_ivas ); #endif return; }
lib_dec/ivas_jbm_dec.c +27 −27 Original line number Diff line number Diff line Loading @@ -1028,9 +1028,11 @@ void ivas_jbm_dec_prepare_renderer( else if ( st_ivas->ivas_format == ISM_FORMAT ) { /* Rendering */ #ifndef OBJ_EDITING_PARAMISM if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { #ifdef OBJ_EDITING_PARAMISM #else if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) { ivas_dirac_dec_set_md_map( st_ivas, n_render_timeslots ); Loading @@ -1041,11 +1043,9 @@ void ivas_jbm_dec_prepare_renderer( { ivas_param_ism_dec_prepare_renderer( st_ivas, n_render_timeslots ); } #endif } else /* ISM_MODE_DISC */ #else if ( st_ivas->ism_mode != ISM_MODE_PARAM ) #endif { ivas_ism_dec_digest_tc( st_ivas ); } Loading
lib_dec/lib_dec.c +20 −33 Original line number Diff line number Diff line Loading @@ -1092,8 +1092,8 @@ ivas_error IVAS_DEC_GetEditableParameters( int16_t obj; for ( obj = 0; obj < hIvasEditableParameters->num_obj; obj++ ) { hIvasEditableParameters->ism_metadata[obj].azimuth = hIvasDec->st_ivas->hSpatParamRendCom->azimuth[0][0]; hIvasEditableParameters->ism_metadata[obj].elevation = hIvasDec->st_ivas->hSpatParamRendCom->azimuth[0][0]; hIvasEditableParameters->ism_metadata[obj].azimuth = hIvasDec->st_ivas->hParamIsmDec->azimuth_values[obj]; hIvasEditableParameters->ism_metadata[obj].elevation = hIvasDec->st_ivas->hParamIsmDec->elevation_values[obj]; hIvasEditableParameters->ism_metadata[obj].yaw = 0; hIvasEditableParameters->ism_metadata[obj].pitch = 0; hIvasEditableParameters->ism_metadata[obj].radius = 0; Loading Loading @@ -1163,24 +1163,11 @@ ivas_error IVAS_DEC_SetEditableParameters( #ifdef OBJ_EDITING_PARAMISM else if ( hIvasDec->st_ivas->ism_mode == ISM_MODE_PARAM ) { int16_t obj, band_idx, sf_idx, bin_idx; int16_t brange[2]; int16_t obj; for ( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { for ( band_idx = 0; band_idx < hIvasDec->st_ivas->hParamIsmDec->hParamIsm->nbands; band_idx++ ) { brange[0] = hIvasDec->st_ivas->hParamIsmDec->hParamIsm->band_grouping[band_idx]; brange[1] = hIvasDec->st_ivas->hParamIsmDec->hParamIsm->band_grouping[band_idx + 1]; for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) { for ( bin_idx = brange[0]; bin_idx < brange[1]; bin_idx++ ) { hIvasDec->st_ivas->hSpatParamRendCom->azimuth[sf_idx][bin_idx] = ( int16_t ) hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hSpatParamRendCom->elevation[sf_idx][bin_idx] = ( int16_t ) hIvasEditableParameters.ism_metadata[obj].elevation; } } } hIvasDec->st_ivas->hParamIsmDec->azimuth_values[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hParamIsmDec->elevation_values[obj] = hIvasEditableParameters.ism_metadata[obj].elevation; } } else Loading