Loading lib_dec/ivas_ism_param_dec.c +10 −2 Original line number Diff line number Diff line Loading @@ -1074,10 +1074,18 @@ void ivas_param_ism_dec_prepare_renderer( if ( !( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL ) ) { for ( i = 0; i < st_ivas->nchan_ism; i++ ) { #ifdef OBJ_EDITING_PARAMISM if ( hParamIsmDec->has_been_edited ) { efap_determine_gains(st_ivas->hEFAPdata, direct_response[i], hParamIsmDec->edited_azimuth_values[i], hParamIsmDec->edited_elevation_values[i], EFAP_MODE_EFAP); } #endif { efap_determine_gains( st_ivas->hEFAPdata, direct_response[i], hParamIsmDec->azimuth_values[i], hParamIsmDec->elevation_values[i], EFAP_MODE_EFAP ); } } } else { int16_t j; Loading lib_dec/ivas_stat_dec.h +7 −0 Original line number Diff line number Diff line Loading @@ -422,6 +422,13 @@ typedef struct ivas_param_ism_dec_data_structure float elevation_values[MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS]; float power_ratios[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; #ifdef OBJ_EDITING_PARAMISM float edited_azimuth_values[MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS]; float edited_elevation_values[MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS]; float edited_power_ratios[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; int16_t has_been_edited; #endif /*sub-modules*/ PARAM_ISM_CONFIG_HANDLE hParamIsm; /* Parametric ISM common handle */ PARAM_ISM_RENDERING_HANDLE hParamIsmRendering; /* ParamISM rendering handle */ Loading lib_dec/lib_dec.c +17 −4 Original line number Diff line number Diff line Loading @@ -1052,16 +1052,28 @@ ivas_error IVAS_DEC_FeedFrame_Serial( ISM_RENDERER_HANDLE hIsmRendererData = hIvasDec->st_ivas->hIsmRendererData; for ( obj = 0; obj < hIvasDec->st_ivas->nchan_ism; obj++ ) { hIsmRendererData->edited_azimuth[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->azimuth; hIsmRendererData->edited_elevation[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->elevation; hIsmRendererData->edited_yaw[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->yaw; hIsmRendererData->edited_pitch[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->pitch; hIsmRendererData->edited_radius[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->radius; hIsmRendererData->edited_gains[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->gain; } hIsmRendererData->has_been_edited = 0; } #ifdef OBJ_EDITING_PARAMISM else if ( hIvasDec->st_ivas->ism_mode == ISM_MODE_PARAM ) { int16_t obj = 0; PARAM_ISM_DEC_HANDLE hParamIsmDec = hIvasDec->st_ivas->hParamIsmDec; for (obj = 0; obj < hIvasDec->st_ivas->nchan_ism; obj++) { hParamIsmDec->edited_azimuth_values[obj] = hParamIsmDec->azimuth_values[obj]; hParamIsmDec->edited_elevation_values[obj] = hParamIsmDec->azimuth_values[obj]; } hParamIsmDec->has_been_edited = 0; } #endif } } #endif Loading Loading @@ -1187,9 +1199,10 @@ ivas_error IVAS_DEC_SetEditableParameters( int16_t obj; for ( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { hIvasDec->st_ivas->hParamIsmDec->azimuth_values[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hParamIsmDec->elevation_values[obj] = hIvasEditableParameters.ism_metadata[obj].elevation; hIvasDec->st_ivas->hParamIsmDec->edited_azimuth_values[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hParamIsmDec->edited_elevation_values[obj] = hIvasEditableParameters.ism_metadata[obj].elevation; } hIvasDec->st_ivas->hParamIsmDec->has_been_edited = 1; } else { Loading Loading
lib_dec/ivas_ism_param_dec.c +10 −2 Original line number Diff line number Diff line Loading @@ -1074,10 +1074,18 @@ void ivas_param_ism_dec_prepare_renderer( if ( !( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL ) ) { for ( i = 0; i < st_ivas->nchan_ism; i++ ) { #ifdef OBJ_EDITING_PARAMISM if ( hParamIsmDec->has_been_edited ) { efap_determine_gains(st_ivas->hEFAPdata, direct_response[i], hParamIsmDec->edited_azimuth_values[i], hParamIsmDec->edited_elevation_values[i], EFAP_MODE_EFAP); } #endif { efap_determine_gains( st_ivas->hEFAPdata, direct_response[i], hParamIsmDec->azimuth_values[i], hParamIsmDec->elevation_values[i], EFAP_MODE_EFAP ); } } } else { int16_t j; Loading
lib_dec/ivas_stat_dec.h +7 −0 Original line number Diff line number Diff line Loading @@ -422,6 +422,13 @@ typedef struct ivas_param_ism_dec_data_structure float elevation_values[MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS]; float power_ratios[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; #ifdef OBJ_EDITING_PARAMISM float edited_azimuth_values[MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS]; float edited_elevation_values[MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS]; float edited_power_ratios[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; int16_t has_been_edited; #endif /*sub-modules*/ PARAM_ISM_CONFIG_HANDLE hParamIsm; /* Parametric ISM common handle */ PARAM_ISM_RENDERING_HANDLE hParamIsmRendering; /* ParamISM rendering handle */ Loading
lib_dec/lib_dec.c +17 −4 Original line number Diff line number Diff line Loading @@ -1052,16 +1052,28 @@ ivas_error IVAS_DEC_FeedFrame_Serial( ISM_RENDERER_HANDLE hIsmRendererData = hIvasDec->st_ivas->hIsmRendererData; for ( obj = 0; obj < hIvasDec->st_ivas->nchan_ism; obj++ ) { hIsmRendererData->edited_azimuth[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->azimuth; hIsmRendererData->edited_elevation[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->elevation; hIsmRendererData->edited_yaw[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->yaw; hIsmRendererData->edited_pitch[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->pitch; hIsmRendererData->edited_radius[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->radius; hIsmRendererData->edited_gains[obj] = hIvasDec->st_ivas->hIsmMetaData[obj]->gain; } hIsmRendererData->has_been_edited = 0; } #ifdef OBJ_EDITING_PARAMISM else if ( hIvasDec->st_ivas->ism_mode == ISM_MODE_PARAM ) { int16_t obj = 0; PARAM_ISM_DEC_HANDLE hParamIsmDec = hIvasDec->st_ivas->hParamIsmDec; for (obj = 0; obj < hIvasDec->st_ivas->nchan_ism; obj++) { hParamIsmDec->edited_azimuth_values[obj] = hParamIsmDec->azimuth_values[obj]; hParamIsmDec->edited_elevation_values[obj] = hParamIsmDec->azimuth_values[obj]; } hParamIsmDec->has_been_edited = 0; } #endif } } #endif Loading Loading @@ -1187,9 +1199,10 @@ ivas_error IVAS_DEC_SetEditableParameters( int16_t obj; for ( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { hIvasDec->st_ivas->hParamIsmDec->azimuth_values[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hParamIsmDec->elevation_values[obj] = hIvasEditableParameters.ism_metadata[obj].elevation; hIvasDec->st_ivas->hParamIsmDec->edited_azimuth_values[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth; hIvasDec->st_ivas->hParamIsmDec->edited_elevation_values[obj] = hIvasEditableParameters.ism_metadata[obj].elevation; } hIvasDec->st_ivas->hParamIsmDec->has_been_edited = 1; } else { Loading