Loading lib_rend/ivas_dirac_dec_binaural_functions_fx.c +785 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_rend/ivas_dirac_output_synthesis_dec_fx.c +14 −0 Original line number Diff line number Diff line Loading @@ -2853,10 +2853,17 @@ void ivas_dirac_dec_compute_directional_responses_fx( FOR( dir = 0; dir < hSpatParamRendCom->numIsmDirections; dir++ ) { #ifdef OMASA_OBJECT_EDITING IF ( hMasaIsm->ism_dir_is_edited[dir] ) { ivas_dirac_dec_get_response( hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], direct_response_temp_fx, hDirACRend->hOutSetup.ambisonics_order ); } #else IF( hMasaIsm->ism_is_edited[dir] ) { ivas_dirac_dec_get_response_fx( hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], direct_response_temp_fx, hDirACRend->hOutSetup.ambisonics_order, Q29 ); } #endif ELSE { ivas_dirac_dec_get_response_fx( hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], direct_response_temp_fx, hDirACRend->hOutSetup.ambisonics_order, Q29 ); Loading Loading @@ -3104,10 +3111,17 @@ void ivas_dirac_dec_compute_directional_responses_fx( FOR( dir = 0; dir < hSpatParamRendCom->numIsmDirections; dir++ ) { #ifdef OMASA_OBJECT_EDITING IF ( hMasaIsm->ism_dir_is_edited[dir] ) { vbap_determine_gains( hVBAPdata, direct_response_temp_fx, hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], 1 ); } #else IF( hMasaIsm->ism_is_edited[dir] ) { vbap_determine_gains_fx( hVBAPdata, direct_response_temp_fx, hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], 1 ); } #endif ELSE { vbap_determine_gains_fx( hVBAPdata, direct_response_temp_fx, hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], 1 ); Loading lib_rend/ivas_objectRenderer_fx.c +9 −0 Original line number Diff line number Diff line Loading @@ -649,6 +649,12 @@ ivas_error TDREND_Update_object_positions_fx( return error; } #endif #ifdef OBJ_EDITING_INTERFACE if ( ( error = TDREND_MIX_SRC_SetGain( hBinRendererTd, nS, hIsmMetaData[nS]->gain ) ) != IVAS_ERR_OK ) { return error; } #endif IF( hIsmMetaData[nS]->non_diegetic_flag ) { Loading Loading @@ -955,6 +961,9 @@ ivas_error ivas_td_binaural_renderer_ext_fx( move32(); hIsmMetaData[0]->radius_fx = currentPos->radius_fx; move32(); #ifdef OBJ_EDITING_INTERFACE hIsmMetaData[0]->gain = ONE_IN_Q30; //TODO: check Q value #endif hIsmMetaData[0]->non_diegetic_flag = currentPos->non_diegetic_flag; move16(); } Loading lib_rend/ivas_objectRenderer_sources_fx.c +37 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,9 @@ static Word16 TDREND_SRC_SPATIAL_GetDirGain_fx( const TDREND_DirAtten_t *DirAtte static Word16 TDREND_SRC_SPATIAL_GetDistGain_fx( const TDREND_DistAtten_t *DistAtten_p, const Word32 Dist_fx, const Word16 Dist_e ); static void TDREND_SRC_SPATIAL_SetDirAtten_fx( TDREND_SRC_SPATIAL_t *SrcSpatial_p, const TDREND_DirAtten_t *DirAtten_p ); static void TDREND_SRC_SPATIAL_SetDistAtten( TDREND_SRC_SPATIAL_t *SrcSpatial_p, const TDREND_DistAtten_t *DistAtten_p ); #ifdef OBJ_EDITING_INTERFACE static void TDREND_SRC_SPATIAL_SetGain( const TDREND_SRC_t *Src_p, const float Gain ); #endif static ivas_error TDREND_SRC_REND_Alloc( TDREND_SRC_REND_t **SrcRend_pp ); static void TDREND_SRC_SPATIAL_Dealloc( TDREND_SRC_SPATIAL_t *SrcSpatial_p ); Loading Loading @@ -129,6 +132,24 @@ ivas_error TDREND_MIX_SRC_SetDir_fx( return IVAS_ERR_OK; } #ifdef OBJ_EDITING_INTERFACE /*-------------------------------------------------------------------* * TDREND_MIX_SRC_SetSourceGain() * * Set source gain --------------------------------------------------------------------*/ ivas_error TDREND_MIX_SRC_SetGain( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ const int16_t SrcInd, /* i : Source index */ const float Gain /* i : Gain */ ) { TDREND_SRC_SPATIAL_SetGain( hBinRendererTd->Sources[SrcInd], Gain ); return IVAS_ERR_OK; } #endif /*-------------------------------------------------------------------* * TDREND_MIX_SRC_SetDirAtten() Loading Loading @@ -680,6 +701,22 @@ static void TDREND_SRC_SPATIAL_SetDistAtten( return; } #ifdef OBJ_EDITING_INTERFACE /*-------------------------------------------------------------------* * TDREND_SRC_SPATIAL_SetGain() * * Set the object gain --------------------------------------------------------------------*/ static void TDREND_SRC_SPATIAL_SetGain( const TDREND_SRC_t *Src_p, /* i : Directional attenuation specification */ const float Gain /* i : Front-pointing vector */ ) { Src_p->SrcRend_p->SrcGain_p[0] = Gain; } #endif /*-------------------------------------------------------------------* * TDREND_SRC_SPATIAL_GetDirGain() * Loading lib_rend/ivas_prot_rend_fx.h +8 −0 Original line number Diff line number Diff line Loading @@ -778,6 +778,14 @@ ivas_error TDREND_MIX_SRC_SetDir_fx( const Word16 Vec_p_q /* i : Direction vector q */ ); #ifdef OBJ_EDITING_INTERFACE ivas_error TDREND_MIX_SRC_SetGain( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ const int16_t SrcInd, /* i : Source index */ const float Gain /* i : Gain */ ); #endif ivas_error TDREND_MIX_SRC_SetDirAtten_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ const Word16 SrcInd, /* i : Source index */ Loading Loading
lib_rend/ivas_dirac_dec_binaural_functions_fx.c +785 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes
lib_rend/ivas_dirac_output_synthesis_dec_fx.c +14 −0 Original line number Diff line number Diff line Loading @@ -2853,10 +2853,17 @@ void ivas_dirac_dec_compute_directional_responses_fx( FOR( dir = 0; dir < hSpatParamRendCom->numIsmDirections; dir++ ) { #ifdef OMASA_OBJECT_EDITING IF ( hMasaIsm->ism_dir_is_edited[dir] ) { ivas_dirac_dec_get_response( hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], direct_response_temp_fx, hDirACRend->hOutSetup.ambisonics_order ); } #else IF( hMasaIsm->ism_is_edited[dir] ) { ivas_dirac_dec_get_response_fx( hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], direct_response_temp_fx, hDirACRend->hOutSetup.ambisonics_order, Q29 ); } #endif ELSE { ivas_dirac_dec_get_response_fx( hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], direct_response_temp_fx, hDirACRend->hOutSetup.ambisonics_order, Q29 ); Loading Loading @@ -3104,10 +3111,17 @@ void ivas_dirac_dec_compute_directional_responses_fx( FOR( dir = 0; dir < hSpatParamRendCom->numIsmDirections; dir++ ) { #ifdef OMASA_OBJECT_EDITING IF ( hMasaIsm->ism_dir_is_edited[dir] ) { vbap_determine_gains( hVBAPdata, direct_response_temp_fx, hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], 1 ); } #else IF( hMasaIsm->ism_is_edited[dir] ) { vbap_determine_gains_fx( hVBAPdata, direct_response_temp_fx, hMasaIsm->azimuth_ism_edited[dir], hMasaIsm->elevation_ism_edited[dir], 1 ); } #endif ELSE { vbap_determine_gains_fx( hVBAPdata, direct_response_temp_fx, hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], 1 ); Loading
lib_rend/ivas_objectRenderer_fx.c +9 −0 Original line number Diff line number Diff line Loading @@ -649,6 +649,12 @@ ivas_error TDREND_Update_object_positions_fx( return error; } #endif #ifdef OBJ_EDITING_INTERFACE if ( ( error = TDREND_MIX_SRC_SetGain( hBinRendererTd, nS, hIsmMetaData[nS]->gain ) ) != IVAS_ERR_OK ) { return error; } #endif IF( hIsmMetaData[nS]->non_diegetic_flag ) { Loading Loading @@ -955,6 +961,9 @@ ivas_error ivas_td_binaural_renderer_ext_fx( move32(); hIsmMetaData[0]->radius_fx = currentPos->radius_fx; move32(); #ifdef OBJ_EDITING_INTERFACE hIsmMetaData[0]->gain = ONE_IN_Q30; //TODO: check Q value #endif hIsmMetaData[0]->non_diegetic_flag = currentPos->non_diegetic_flag; move16(); } Loading
lib_rend/ivas_objectRenderer_sources_fx.c +37 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,9 @@ static Word16 TDREND_SRC_SPATIAL_GetDirGain_fx( const TDREND_DirAtten_t *DirAtte static Word16 TDREND_SRC_SPATIAL_GetDistGain_fx( const TDREND_DistAtten_t *DistAtten_p, const Word32 Dist_fx, const Word16 Dist_e ); static void TDREND_SRC_SPATIAL_SetDirAtten_fx( TDREND_SRC_SPATIAL_t *SrcSpatial_p, const TDREND_DirAtten_t *DirAtten_p ); static void TDREND_SRC_SPATIAL_SetDistAtten( TDREND_SRC_SPATIAL_t *SrcSpatial_p, const TDREND_DistAtten_t *DistAtten_p ); #ifdef OBJ_EDITING_INTERFACE static void TDREND_SRC_SPATIAL_SetGain( const TDREND_SRC_t *Src_p, const float Gain ); #endif static ivas_error TDREND_SRC_REND_Alloc( TDREND_SRC_REND_t **SrcRend_pp ); static void TDREND_SRC_SPATIAL_Dealloc( TDREND_SRC_SPATIAL_t *SrcSpatial_p ); Loading Loading @@ -129,6 +132,24 @@ ivas_error TDREND_MIX_SRC_SetDir_fx( return IVAS_ERR_OK; } #ifdef OBJ_EDITING_INTERFACE /*-------------------------------------------------------------------* * TDREND_MIX_SRC_SetSourceGain() * * Set source gain --------------------------------------------------------------------*/ ivas_error TDREND_MIX_SRC_SetGain( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ const int16_t SrcInd, /* i : Source index */ const float Gain /* i : Gain */ ) { TDREND_SRC_SPATIAL_SetGain( hBinRendererTd->Sources[SrcInd], Gain ); return IVAS_ERR_OK; } #endif /*-------------------------------------------------------------------* * TDREND_MIX_SRC_SetDirAtten() Loading Loading @@ -680,6 +701,22 @@ static void TDREND_SRC_SPATIAL_SetDistAtten( return; } #ifdef OBJ_EDITING_INTERFACE /*-------------------------------------------------------------------* * TDREND_SRC_SPATIAL_SetGain() * * Set the object gain --------------------------------------------------------------------*/ static void TDREND_SRC_SPATIAL_SetGain( const TDREND_SRC_t *Src_p, /* i : Directional attenuation specification */ const float Gain /* i : Front-pointing vector */ ) { Src_p->SrcRend_p->SrcGain_p[0] = Gain; } #endif /*-------------------------------------------------------------------* * TDREND_SRC_SPATIAL_GetDirGain() * Loading
lib_rend/ivas_prot_rend_fx.h +8 −0 Original line number Diff line number Diff line Loading @@ -778,6 +778,14 @@ ivas_error TDREND_MIX_SRC_SetDir_fx( const Word16 Vec_p_q /* i : Direction vector q */ ); #ifdef OBJ_EDITING_INTERFACE ivas_error TDREND_MIX_SRC_SetGain( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ const int16_t SrcInd, /* i : Source index */ const float Gain /* i : Gain */ ); #endif ivas_error TDREND_MIX_SRC_SetDirAtten_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ const Word16 SrcInd, /* i : Source index */ Loading