Loading lib_dec/ivas_binRenderer_internal.c +15 −2 Original line number Diff line number Diff line Loading @@ -1608,7 +1608,11 @@ void ivas_binRenderer( if ( hCombinedOrientationData && hBinRenderer->rotInCldfb ) { #ifdef API_5MS Quaternions_ref = &hCombinedOrientationData->Quaternion; #else Quaternions_ref = &hCombinedOrientationData->Quaternions[0]; #endif Quaternions_rel.w = -3.0f; /*euler*/ Quaternions_abs.w = -3.0f; /*euler*/ Quat2EulerDegree( *Quaternions_ref, &Quaternions_abs.z, &Quaternions_abs.y, &Quaternions_abs.x ); /*order in Quat2Euler seems to be reversed ?*/ Loading Loading @@ -1722,9 +1726,10 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #endif #ifndef API_5MS for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) { #endif for ( slot_idx = 0; slot_idx < MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { idx = sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES + slot_idx; Loading @@ -1739,12 +1744,18 @@ void ivas_rend_CldfbMultiBinRendProcess( { if ( ( low_res_pre_rend_rot ) && ( pMultiBinPoseData->poseCorrectionMode == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) ) { #ifdef API_5MS ( *pCombinedOrientationData )->Quaternion = ( *pCombinedOrientationData )->Quaternion; #else ( *pCombinedOrientationData )->Quaternions[sf_idx] = ( *pCombinedOrientationData )->Quaternions[0]; #endif for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { ( *pCombinedOrientationData )->Rmat[sf_idx][i][j] = ( *pCombinedOrientationData )->Rmat[0][i][j]; #ifdef API_5MS ( *pCombinedOrientationData )->Rmat[i][j] = ( *pCombinedOrientationData )->Rmat[i][j]; #endif } } } Loading Loading @@ -1776,7 +1787,9 @@ void ivas_rend_CldfbMultiBinRendProcess( } } } #ifndef API_5MS } #endif return; } Loading lib_dec/ivas_ism_param_dec.c +2 −3 Original line number Diff line number Diff line Loading @@ -804,7 +804,6 @@ void ivas_param_ism_dec( // assert( hSpatParamRendCom ); // >>>>>>> main // merged to: #ifdef FIX_549_DMX_GAIN #ifdef API_5MS for ( i = 0; i < PARAM_ISM_MAX_DMX; i++ ) { Loading Loading @@ -1270,7 +1269,7 @@ void ivas_param_ism_dec_digest_tc( #ifdef API_5MS if ( st_ivas->hDecoderConfig->tsm_active ) { ivas_ism_param_dec_tc_gain_ajust( st_ivas, nCldfbSlots * st_ivas->hDirAC->num_freq_bands, (int16_t) ( st_ivas->hDecoderConfig->output_Fs / ( 2 * FRAMES_PER_SEC ) ), transport_channels_f ); ivas_ism_param_dec_tc_gain_ajust( st_ivas, nCldfbSlots * hSpatParamRendCom->num_freq_bands, (int16_t) ( st_ivas->hDecoderConfig->output_Fs / ( 2 * FRAMES_PER_SEC ) ), transport_channels_f ); } #else #ifdef FIX_549_DMX_GAIN Loading Loading @@ -1330,7 +1329,7 @@ void ivas_param_ism_dec_digest_tc( mvr2r( ImagBuffer, &hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], hSpatParamRendCom->num_freq_bands ); #ifdef API_5MS } ivas_param_ism_collect_slot( hDirAC, &hDirAC->hParamIsmRendering->Cldfb_RealBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], &hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc[slot_idx * hDirAC->num_freq_bands * nchan_transport + ch * hDirAC->num_freq_bands], ch, ref_power, cx_diag ); ivas_param_ism_collect_slot( hDirAC, &hDirAC->hParamIsmRendering->Cldfb_RealBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], &hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], ch, ref_power, cx_diag ); #else ivas_param_ism_collect_slot( hDirAC, RealBuffer, ImagBuffer, ch, ref_power, cx_diag ); #endif Loading lib_dec/ivas_jbm_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -2425,7 +2425,7 @@ void ivas_jbm_dec_copy_tc_no_tsm( { cldfb_real_buffer = st_ivas->hDirAC->hParamIsmRendering->Cldfb_RealBuffer_tc; cldfb_imag_buffer = st_ivas->hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc; num_freq_bands = st_ivas->hDirAC->num_freq_bands; num_freq_bands = st_ivas->hSpatParamRendCom->num_freq_bands; ivas_ism_param_dec_tc_gain_ajust( st_ivas, output_frame, output_frame / 2, tc ); } else if ( st_ivas->ivas_format == MC_FORMAT ) Loading lib_dec/ivas_mc_paramupmix_dec.c +7 −1 Original line number Diff line number Diff line Loading @@ -491,7 +491,13 @@ ivas_error ivas_mc_paramupmix_dec_open( /* allocate transport channels*/ hMCParamUpmix->free_param_interpolator = 0; hMCParamUpmix->param_interpolator = NULL; if ( st_ivas->hDecoderConfig->voip_active == 1 && st_ivas->hTcBuffer == NULL ) if ( #ifdef API_5MS st_ivas->hDecoderConfig->tsm_active == 1 #else st_ivas->hDecoderConfig->voip_active == 1 #endif && st_ivas->hTcBuffer == NULL ) { int16_t nchan_to_allocate; int16_t nchan_tc; Loading lib_dec/ivas_output_config.c +13 −1 Original line number Diff line number Diff line Loading @@ -518,7 +518,18 @@ void ivas_set_split_rend_setup( IVAS_DEC_SPLIT_REND_WRAPPER *hSplitBinRend, IVAS if ( ( hCombinedOrientationData != NULL ) && ( hSplitBinRend->splitrend.multiBinPoseData.poseCorrectionMode == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) ) { int16_t sf, i, j; int16_t i, j; #ifdef API_5MS hCombinedOrientationData->Quaternion = hCombinedOrientationData->Quaternion; for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { hCombinedOrientationData->Rmat[i][j] = hCombinedOrientationData->Rmat[i][j]; } } #else int16_t sf; for ( sf = 1; sf < MAX_PARAM_SPATIAL_SUBFRAMES; sf++ ) { hCombinedOrientationData->Quaternions[sf] = hCombinedOrientationData->Quaternions[0]; Loading @@ -530,6 +541,7 @@ void ivas_set_split_rend_setup( IVAS_DEC_SPLIT_REND_WRAPPER *hSplitBinRend, IVAS } } } #endif } return; Loading Loading
lib_dec/ivas_binRenderer_internal.c +15 −2 Original line number Diff line number Diff line Loading @@ -1608,7 +1608,11 @@ void ivas_binRenderer( if ( hCombinedOrientationData && hBinRenderer->rotInCldfb ) { #ifdef API_5MS Quaternions_ref = &hCombinedOrientationData->Quaternion; #else Quaternions_ref = &hCombinedOrientationData->Quaternions[0]; #endif Quaternions_rel.w = -3.0f; /*euler*/ Quaternions_abs.w = -3.0f; /*euler*/ Quat2EulerDegree( *Quaternions_ref, &Quaternions_abs.z, &Quaternions_abs.y, &Quaternions_abs.x ); /*order in Quat2Euler seems to be reversed ?*/ Loading Loading @@ -1722,9 +1726,10 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #endif #ifndef API_5MS for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) { #endif for ( slot_idx = 0; slot_idx < MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { idx = sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES + slot_idx; Loading @@ -1739,12 +1744,18 @@ void ivas_rend_CldfbMultiBinRendProcess( { if ( ( low_res_pre_rend_rot ) && ( pMultiBinPoseData->poseCorrectionMode == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) ) { #ifdef API_5MS ( *pCombinedOrientationData )->Quaternion = ( *pCombinedOrientationData )->Quaternion; #else ( *pCombinedOrientationData )->Quaternions[sf_idx] = ( *pCombinedOrientationData )->Quaternions[0]; #endif for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { ( *pCombinedOrientationData )->Rmat[sf_idx][i][j] = ( *pCombinedOrientationData )->Rmat[0][i][j]; #ifdef API_5MS ( *pCombinedOrientationData )->Rmat[i][j] = ( *pCombinedOrientationData )->Rmat[i][j]; #endif } } } Loading Loading @@ -1776,7 +1787,9 @@ void ivas_rend_CldfbMultiBinRendProcess( } } } #ifndef API_5MS } #endif return; } Loading
lib_dec/ivas_ism_param_dec.c +2 −3 Original line number Diff line number Diff line Loading @@ -804,7 +804,6 @@ void ivas_param_ism_dec( // assert( hSpatParamRendCom ); // >>>>>>> main // merged to: #ifdef FIX_549_DMX_GAIN #ifdef API_5MS for ( i = 0; i < PARAM_ISM_MAX_DMX; i++ ) { Loading Loading @@ -1270,7 +1269,7 @@ void ivas_param_ism_dec_digest_tc( #ifdef API_5MS if ( st_ivas->hDecoderConfig->tsm_active ) { ivas_ism_param_dec_tc_gain_ajust( st_ivas, nCldfbSlots * st_ivas->hDirAC->num_freq_bands, (int16_t) ( st_ivas->hDecoderConfig->output_Fs / ( 2 * FRAMES_PER_SEC ) ), transport_channels_f ); ivas_ism_param_dec_tc_gain_ajust( st_ivas, nCldfbSlots * hSpatParamRendCom->num_freq_bands, (int16_t) ( st_ivas->hDecoderConfig->output_Fs / ( 2 * FRAMES_PER_SEC ) ), transport_channels_f ); } #else #ifdef FIX_549_DMX_GAIN Loading Loading @@ -1330,7 +1329,7 @@ void ivas_param_ism_dec_digest_tc( mvr2r( ImagBuffer, &hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], hSpatParamRendCom->num_freq_bands ); #ifdef API_5MS } ivas_param_ism_collect_slot( hDirAC, &hDirAC->hParamIsmRendering->Cldfb_RealBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], &hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc[slot_idx * hDirAC->num_freq_bands * nchan_transport + ch * hDirAC->num_freq_bands], ch, ref_power, cx_diag ); ivas_param_ism_collect_slot( hDirAC, &hDirAC->hParamIsmRendering->Cldfb_RealBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], &hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc[slot_idx * hSpatParamRendCom->num_freq_bands * nchan_transport + ch * hSpatParamRendCom->num_freq_bands], ch, ref_power, cx_diag ); #else ivas_param_ism_collect_slot( hDirAC, RealBuffer, ImagBuffer, ch, ref_power, cx_diag ); #endif Loading
lib_dec/ivas_jbm_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -2425,7 +2425,7 @@ void ivas_jbm_dec_copy_tc_no_tsm( { cldfb_real_buffer = st_ivas->hDirAC->hParamIsmRendering->Cldfb_RealBuffer_tc; cldfb_imag_buffer = st_ivas->hDirAC->hParamIsmRendering->Cldfb_ImagBuffer_tc; num_freq_bands = st_ivas->hDirAC->num_freq_bands; num_freq_bands = st_ivas->hSpatParamRendCom->num_freq_bands; ivas_ism_param_dec_tc_gain_ajust( st_ivas, output_frame, output_frame / 2, tc ); } else if ( st_ivas->ivas_format == MC_FORMAT ) Loading
lib_dec/ivas_mc_paramupmix_dec.c +7 −1 Original line number Diff line number Diff line Loading @@ -491,7 +491,13 @@ ivas_error ivas_mc_paramupmix_dec_open( /* allocate transport channels*/ hMCParamUpmix->free_param_interpolator = 0; hMCParamUpmix->param_interpolator = NULL; if ( st_ivas->hDecoderConfig->voip_active == 1 && st_ivas->hTcBuffer == NULL ) if ( #ifdef API_5MS st_ivas->hDecoderConfig->tsm_active == 1 #else st_ivas->hDecoderConfig->voip_active == 1 #endif && st_ivas->hTcBuffer == NULL ) { int16_t nchan_to_allocate; int16_t nchan_tc; Loading
lib_dec/ivas_output_config.c +13 −1 Original line number Diff line number Diff line Loading @@ -518,7 +518,18 @@ void ivas_set_split_rend_setup( IVAS_DEC_SPLIT_REND_WRAPPER *hSplitBinRend, IVAS if ( ( hCombinedOrientationData != NULL ) && ( hSplitBinRend->splitrend.multiBinPoseData.poseCorrectionMode == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) ) { int16_t sf, i, j; int16_t i, j; #ifdef API_5MS hCombinedOrientationData->Quaternion = hCombinedOrientationData->Quaternion; for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { hCombinedOrientationData->Rmat[i][j] = hCombinedOrientationData->Rmat[i][j]; } } #else int16_t sf; for ( sf = 1; sf < MAX_PARAM_SPATIAL_SUBFRAMES; sf++ ) { hCombinedOrientationData->Quaternions[sf] = hCombinedOrientationData->Quaternions[0]; Loading @@ -530,6 +541,7 @@ void ivas_set_split_rend_setup( IVAS_DEC_SPLIT_REND_WRAPPER *hSplitBinRend, IVAS } } } #endif } return; Loading