Loading lib_rend/ivas_crend.c +11 −2 Original line number Diff line number Diff line Loading @@ -1761,6 +1761,7 @@ ivas_error ivas_rend_crendProcessSplitBin( float gain_lfe; float tmpLfeBuffer[L_FRAME48k]; float tmpInputBuffer[MAX_OUTPUT_CHANNELS][L_FRAME48k]; float *p_tmpInputBuffer[MAX_OUTPUT_CHANNELS]; float tmpSplitBinBuffer[MAX_OUTPUT_CHANNELS][L_FRAME48k]; IVAS_QUATERNION originalHeadRot[MAX_PARAM_SPATIAL_SUBFRAMES]; MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData; Loading @@ -1780,6 +1781,11 @@ ivas_error ivas_rend_crendProcessSplitBin( mvr2r( output[i], tmpInputBuffer[i], output_frame ); } for ( i = 0; i < MAX_OUTPUT_CHANNELS; ++i ) { p_tmpInputBuffer[i] = tmpInputBuffer[i]; } /* TODO tmu : partial duplication of ivas_binaural_add_LFE() for efficiency */ /* copy LFE */ mvr2r( output[st_ivas->hIntSetup.index_lfe[0]], tmpLfeBuffer, output_frame ); Loading Loading @@ -1811,6 +1817,8 @@ ivas_error ivas_rend_crendProcessSplitBin( st_ivas->hHeadTrackData->Quaternions[i].y += pMultiBinPoseData->relative_head_poses[pos_idx][1]; st_ivas->hHeadTrackData->Quaternions[i].z += pMultiBinPoseData->relative_head_poses[pos_idx][2]; } st_ivas->hCombinedOrientationData->Quaternions[i] = st_ivas->hHeadTrackData->Quaternions[i]; } } Loading @@ -1819,10 +1827,10 @@ ivas_error ivas_rend_crendProcessSplitBin( st_ivas->intern_config, st_ivas->hOutSetup.output_config, st_ivas->hDecoderConfig, st_ivas->hHeadTrackData, st_ivas->hCombinedOrientationData, &st_ivas->hIntSetup, st_ivas->hEFAPdata, tmpInputBuffer, p_tmpInputBuffer, st_ivas->hDecoderConfig->output_Fs, pos_idx ) ) != IVAS_ERR_OK ) { Loading Loading @@ -1852,6 +1860,7 @@ ivas_error ivas_rend_crendProcessSplitBin( for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; ++i ) { st_ivas->hHeadTrackData->Quaternions[i] = originalHeadRot[i]; st_ivas->hCombinedOrientationData->Quaternions[i] = originalHeadRot[i]; } return IVAS_ERR_OK; Loading Loading
lib_rend/ivas_crend.c +11 −2 Original line number Diff line number Diff line Loading @@ -1761,6 +1761,7 @@ ivas_error ivas_rend_crendProcessSplitBin( float gain_lfe; float tmpLfeBuffer[L_FRAME48k]; float tmpInputBuffer[MAX_OUTPUT_CHANNELS][L_FRAME48k]; float *p_tmpInputBuffer[MAX_OUTPUT_CHANNELS]; float tmpSplitBinBuffer[MAX_OUTPUT_CHANNELS][L_FRAME48k]; IVAS_QUATERNION originalHeadRot[MAX_PARAM_SPATIAL_SUBFRAMES]; MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData; Loading @@ -1780,6 +1781,11 @@ ivas_error ivas_rend_crendProcessSplitBin( mvr2r( output[i], tmpInputBuffer[i], output_frame ); } for ( i = 0; i < MAX_OUTPUT_CHANNELS; ++i ) { p_tmpInputBuffer[i] = tmpInputBuffer[i]; } /* TODO tmu : partial duplication of ivas_binaural_add_LFE() for efficiency */ /* copy LFE */ mvr2r( output[st_ivas->hIntSetup.index_lfe[0]], tmpLfeBuffer, output_frame ); Loading Loading @@ -1811,6 +1817,8 @@ ivas_error ivas_rend_crendProcessSplitBin( st_ivas->hHeadTrackData->Quaternions[i].y += pMultiBinPoseData->relative_head_poses[pos_idx][1]; st_ivas->hHeadTrackData->Quaternions[i].z += pMultiBinPoseData->relative_head_poses[pos_idx][2]; } st_ivas->hCombinedOrientationData->Quaternions[i] = st_ivas->hHeadTrackData->Quaternions[i]; } } Loading @@ -1819,10 +1827,10 @@ ivas_error ivas_rend_crendProcessSplitBin( st_ivas->intern_config, st_ivas->hOutSetup.output_config, st_ivas->hDecoderConfig, st_ivas->hHeadTrackData, st_ivas->hCombinedOrientationData, &st_ivas->hIntSetup, st_ivas->hEFAPdata, tmpInputBuffer, p_tmpInputBuffer, st_ivas->hDecoderConfig->output_Fs, pos_idx ) ) != IVAS_ERR_OK ) { Loading Loading @@ -1852,6 +1860,7 @@ ivas_error ivas_rend_crendProcessSplitBin( for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; ++i ) { st_ivas->hHeadTrackData->Quaternions[i] = originalHeadRot[i]; st_ivas->hCombinedOrientationData->Quaternions[i] = originalHeadRot[i]; } return IVAS_ERR_OK; Loading