Loading lib_rend/ivas_prot_rend.h +0 −1 Original line number Diff line number Diff line Loading @@ -1528,7 +1528,6 @@ void ivas_rend_CldfbSplitPostRendProcess( const IVAS_QUATERNION QuaternionPost, float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], float Cldfb_ImagBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], const int16_t sf_idx, #else const IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES], float Cldfb_RealBuffer_Binaural[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], Loading lib_rend/ivas_splitRendererPost.c +2 −3 Original line number Diff line number Diff line Loading @@ -1973,7 +1973,6 @@ void ivas_rend_CldfbSplitPostRendProcess( const IVAS_QUATERNION QuaternionPost, float Cldfb_RealBuffer_Binaural[][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], float Cldfb_ImagBuffer_Binaural[][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], const int16_t sf_idx, #else const IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES], float Cldfb_RealBuffer_Binaural[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], Loading Loading @@ -2032,7 +2031,7 @@ void ivas_rend_CldfbSplitPostRendProcess( ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural[ch_idx][slot_idx]; } cldfbSynthesis( RealBuffer, ImagBuffer, &( output[ch_idx][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES] ), num_cldfb_bands * CLDFB_NO_COL_MAX cldfbSynthesis( RealBuffer, ImagBuffer, &( output[ch_idx][0] ), num_cldfb_bands * CLDFB_NO_COL_MAX #ifdef API_5MS / MAX_PARAM_SPATIAL_SUBFRAMES #endif Loading lib_rend/ivas_splitRendererPre.c +18 −3 Original line number Diff line number Diff line Loading @@ -2440,10 +2440,17 @@ static ivas_error ivas_renderMultiTDBinToSplitBinaural( #ifdef API_5MS } else { if ( !useLc3plus ) { bit_len = SplitRendBitRate / FRAMES_PER_SEC; } else { bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; bit_len = SplitRendBitRate * bit_len / 1000; } } #endif while ( pBits->bits_written < bit_len ) Loading Loading @@ -2694,7 +2701,15 @@ ivas_error ivas_renderMultiBinToSplitBinaural( } else { bit_len = SplitRendBitRate * hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; if ( splitCodec == IVAS_SPLIT_REND_CODEC_LCLD ) { bit_len = SplitRendBitRate / FRAMES_PER_SEC; } else { bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; bit_len = SplitRendBitRate * bit_len / 1000; } } #endif Loading lib_rend/lib_rend.c +44 −17 Original line number Diff line number Diff line Loading @@ -7636,14 +7636,15 @@ static ivas_error renderSplitBinauralWithPostRot( float Cldfb_ImagBuffer_Binaural[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; ivas_error error; #ifdef API_5MS float Cldfb_RealBuffer_Binaural_5ms[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_Binaural_5ms[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_RealBuffer_Binaural_5ms[MAX_PARAM_SPATIAL_SUBFRAMES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_Binaural_5ms[MAX_PARAM_SPATIAL_SUBFRAMES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #endif IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES]; int16_t sf_idx; ivas_split_rend_bits_t bits; float tmpCrendBuffer[MAX_OUTPUT_CHANNELS][L_FRAME48k]; float tmpCrendBuffer_sf[BINAURAL_CHANNELS][L_FRAME48k]; COMBINED_ORIENTATION_HANDLE pCombinedOrientationData; SPLIT_POST_REND_WRAPPER *hSplitBin; int8_t isPostRendInputCldfb; Loading Loading @@ -7680,9 +7681,18 @@ static ivas_error renderSplitBinauralWithPostRot( else if ( bits.codec == IVAS_SPLIT_REND_CODEC_LC3PLUS && splitBinInput->splitPostRendWrapper.hLc3plusDec == NULL ) { LC3PLUS_CONFIG config; #ifdef API_5MS if ( outAudio.config.numSamplesPerChannel == 240 ) { config.lc3plus_frame_duration_us = bits.codec_frame_size_ms * 1000; config.ivas_frame_duration_us = bits.pose_correction == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE ? config.lc3plus_frame_duration_us : 20000; config.ivas_frame_duration_us = ( bits.pose_correction == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE ) ? config.lc3plus_frame_duration_us : 20000; } else { config.lc3plus_frame_duration_us = 5000; config.ivas_frame_duration_us = 20000; } #else config.lc3plus_frame_duration_us = 5000; config.ivas_frame_duration_us = 20000; Loading @@ -7701,6 +7711,7 @@ static ivas_error renderSplitBinauralWithPostRot( } #ifdef API_5MS outBufNumSamplesPerChannel = outAudio.config.numSamplesPerChannel / pCombinedOrientationData->num_subframes; for ( sf_idx = 0; sf_idx < pCombinedOrientationData->num_subframes; sf_idx++ ) #else for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) Loading Loading @@ -7743,7 +7754,6 @@ static ivas_error renderSplitBinauralWithPostRot( preRendFrameSize_ms = bits.codec == IVAS_SPLIT_REND_CODEC_LC3PLUS ? (int16_t) ( hSplitBin->hLc3plusDec->config.ivas_frame_duration_us ) / 1000 : 20; outBufNumSamplesPerChannel = outAudio.config.numSamplesPerChannel; numSamplesPerChannelCacheSize = (int16_t) ( *splitBinInput->base.ctx.pOutSampleRate * ( preRendFrameSize_ms - bits.codec_frame_size_ms ) / 1000 ); outBufNumColPerChannel = MAX_PARAM_SPATIAL_SUBFRAMES; Loading Loading @@ -7772,8 +7782,8 @@ static ivas_error renderSplitBinauralWithPostRot( { for ( slotIdx = 0; slotIdx < CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES; ++slotIdx ) { mvr2r( Cldfb_RealBuffer_Binaural[chnlIdx][slotIdx], Cldfb_RealBuffer_Binaural_5ms[chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); mvr2r( Cldfb_ImagBuffer_Binaural[chnlIdx][slotIdx], Cldfb_ImagBuffer_Binaural_5ms[chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); mvr2r( Cldfb_RealBuffer_Binaural[chnlIdx][slotIdx], Cldfb_RealBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); mvr2r( Cldfb_ImagBuffer_Binaural[chnlIdx][slotIdx], Cldfb_ImagBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); } } /* cache the remaining 15ms */ Loading Loading @@ -7831,11 +7841,11 @@ static ivas_error renderSplitBinauralWithPostRot( { for ( smplIdx = 0; smplIdx < CLDFB_NO_CHANNELS_MAX; ++smplIdx ) { Cldfb_RealBuffer_Binaural_5ms[chnlIdx][slotIdx][smplIdx] = *readPtr++; Cldfb_RealBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx][smplIdx] = *readPtr++; } for ( smplIdx = 0; smplIdx < CLDFB_NO_CHANNELS_MAX; ++smplIdx ) { Cldfb_ImagBuffer_Binaural_5ms[chnlIdx][slotIdx][smplIdx] = *readPtr++; Cldfb_ImagBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx][smplIdx] = *readPtr++; } } } Loading @@ -7846,10 +7856,10 @@ static ivas_error renderSplitBinauralWithPostRot( { int16_t readOffset = numSamplesPerChannelCacheSize - splitBinInput->numCachedSamples; mvr2r( splitBinInput->bufferData + readOffset, tmpCrendBuffer[0], &tmpCrendBuffer[0][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); mvr2r( splitBinInput->bufferData + readOffset + numSamplesPerChannelCacheSize, tmpCrendBuffer[1], &tmpCrendBuffer[1][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); splitBinInput->numCachedSamples -= outBufNumSamplesPerChannel; } Loading Loading @@ -7887,8 +7897,8 @@ static ivas_error renderSplitBinauralWithPostRot( #endif { #ifdef API_5MS RealBuffer[slot_idx] = Cldfb_RealBuffer_Binaural_5ms[ch_idx][slot_idx]; ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural_5ms[ch_idx][slot_idx]; RealBuffer[slot_idx] = Cldfb_RealBuffer_Binaural_5ms[sf_idx][ch_idx][slot_idx]; ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural_5ms[sf_idx][ch_idx][slot_idx]; #else RealBuffer[slot_idx] = Cldfb_RealBuffer_Binaural[ch_idx][slot_idx]; ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural[ch_idx][slot_idx]; Loading @@ -7908,21 +7918,38 @@ static ivas_error renderSplitBinauralWithPostRot( } else if ( bits.pose_correction == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) { #ifdef API_5MS mvr2r( &tmpCrendBuffer[0][sf_idx * outBufNumSamplesPerChannel], tmpCrendBuffer_sf[0], outBufNumSamplesPerChannel ); mvr2r( &tmpCrendBuffer[1][sf_idx * outBufNumSamplesPerChannel], tmpCrendBuffer_sf[1], outBufNumSamplesPerChannel ); #endif ivas_rend_CldfbSplitPostRendProcess( hSplitBin->hBinHrSplitPostRend, &hSplitBin->multiBinPoseData, #ifdef API_5MS QuaternionsPost[sf_idx], Cldfb_RealBuffer_Binaural_5ms, Cldfb_ImagBuffer_Binaural_5ms, sf_idx, Cldfb_RealBuffer_Binaural_5ms[sf_idx], Cldfb_ImagBuffer_Binaural_5ms[sf_idx], tmpCrendBuffer_sf, #else QuaternionsPost, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, #endif tmpCrendBuffer, #endif isPostRendInputCldfb ); #ifdef API_5MS mvr2r( tmpCrendBuffer_sf[0], &tmpCrendBuffer[0][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); mvr2r( tmpCrendBuffer_sf[1], &tmpCrendBuffer[1][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); #endif } #ifdef API_5MS } Loading Loading
lib_rend/ivas_prot_rend.h +0 −1 Original line number Diff line number Diff line Loading @@ -1528,7 +1528,6 @@ void ivas_rend_CldfbSplitPostRendProcess( const IVAS_QUATERNION QuaternionPost, float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], float Cldfb_ImagBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], const int16_t sf_idx, #else const IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES], float Cldfb_RealBuffer_Binaural[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], Loading
lib_rend/ivas_splitRendererPost.c +2 −3 Original line number Diff line number Diff line Loading @@ -1973,7 +1973,6 @@ void ivas_rend_CldfbSplitPostRendProcess( const IVAS_QUATERNION QuaternionPost, float Cldfb_RealBuffer_Binaural[][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], float Cldfb_ImagBuffer_Binaural[][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], const int16_t sf_idx, #else const IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES], float Cldfb_RealBuffer_Binaural[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], Loading Loading @@ -2032,7 +2031,7 @@ void ivas_rend_CldfbSplitPostRendProcess( ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural[ch_idx][slot_idx]; } cldfbSynthesis( RealBuffer, ImagBuffer, &( output[ch_idx][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES] ), num_cldfb_bands * CLDFB_NO_COL_MAX cldfbSynthesis( RealBuffer, ImagBuffer, &( output[ch_idx][0] ), num_cldfb_bands * CLDFB_NO_COL_MAX #ifdef API_5MS / MAX_PARAM_SPATIAL_SUBFRAMES #endif Loading
lib_rend/ivas_splitRendererPre.c +18 −3 Original line number Diff line number Diff line Loading @@ -2440,10 +2440,17 @@ static ivas_error ivas_renderMultiTDBinToSplitBinaural( #ifdef API_5MS } else { if ( !useLc3plus ) { bit_len = SplitRendBitRate / FRAMES_PER_SEC; } else { bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; bit_len = SplitRendBitRate * bit_len / 1000; } } #endif while ( pBits->bits_written < bit_len ) Loading Loading @@ -2694,7 +2701,15 @@ ivas_error ivas_renderMultiBinToSplitBinaural( } else { bit_len = SplitRendBitRate * hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; if ( splitCodec == IVAS_SPLIT_REND_CODEC_LCLD ) { bit_len = SplitRendBitRate / FRAMES_PER_SEC; } else { bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; bit_len = SplitRendBitRate * bit_len / 1000; } } #endif Loading
lib_rend/lib_rend.c +44 −17 Original line number Diff line number Diff line Loading @@ -7636,14 +7636,15 @@ static ivas_error renderSplitBinauralWithPostRot( float Cldfb_ImagBuffer_Binaural[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; ivas_error error; #ifdef API_5MS float Cldfb_RealBuffer_Binaural_5ms[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_Binaural_5ms[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_RealBuffer_Binaural_5ms[MAX_PARAM_SPATIAL_SUBFRAMES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_Binaural_5ms[MAX_PARAM_SPATIAL_SUBFRAMES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #endif IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES]; int16_t sf_idx; ivas_split_rend_bits_t bits; float tmpCrendBuffer[MAX_OUTPUT_CHANNELS][L_FRAME48k]; float tmpCrendBuffer_sf[BINAURAL_CHANNELS][L_FRAME48k]; COMBINED_ORIENTATION_HANDLE pCombinedOrientationData; SPLIT_POST_REND_WRAPPER *hSplitBin; int8_t isPostRendInputCldfb; Loading Loading @@ -7680,9 +7681,18 @@ static ivas_error renderSplitBinauralWithPostRot( else if ( bits.codec == IVAS_SPLIT_REND_CODEC_LC3PLUS && splitBinInput->splitPostRendWrapper.hLc3plusDec == NULL ) { LC3PLUS_CONFIG config; #ifdef API_5MS if ( outAudio.config.numSamplesPerChannel == 240 ) { config.lc3plus_frame_duration_us = bits.codec_frame_size_ms * 1000; config.ivas_frame_duration_us = bits.pose_correction == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE ? config.lc3plus_frame_duration_us : 20000; config.ivas_frame_duration_us = ( bits.pose_correction == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE ) ? config.lc3plus_frame_duration_us : 20000; } else { config.lc3plus_frame_duration_us = 5000; config.ivas_frame_duration_us = 20000; } #else config.lc3plus_frame_duration_us = 5000; config.ivas_frame_duration_us = 20000; Loading @@ -7701,6 +7711,7 @@ static ivas_error renderSplitBinauralWithPostRot( } #ifdef API_5MS outBufNumSamplesPerChannel = outAudio.config.numSamplesPerChannel / pCombinedOrientationData->num_subframes; for ( sf_idx = 0; sf_idx < pCombinedOrientationData->num_subframes; sf_idx++ ) #else for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) Loading Loading @@ -7743,7 +7754,6 @@ static ivas_error renderSplitBinauralWithPostRot( preRendFrameSize_ms = bits.codec == IVAS_SPLIT_REND_CODEC_LC3PLUS ? (int16_t) ( hSplitBin->hLc3plusDec->config.ivas_frame_duration_us ) / 1000 : 20; outBufNumSamplesPerChannel = outAudio.config.numSamplesPerChannel; numSamplesPerChannelCacheSize = (int16_t) ( *splitBinInput->base.ctx.pOutSampleRate * ( preRendFrameSize_ms - bits.codec_frame_size_ms ) / 1000 ); outBufNumColPerChannel = MAX_PARAM_SPATIAL_SUBFRAMES; Loading Loading @@ -7772,8 +7782,8 @@ static ivas_error renderSplitBinauralWithPostRot( { for ( slotIdx = 0; slotIdx < CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES; ++slotIdx ) { mvr2r( Cldfb_RealBuffer_Binaural[chnlIdx][slotIdx], Cldfb_RealBuffer_Binaural_5ms[chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); mvr2r( Cldfb_ImagBuffer_Binaural[chnlIdx][slotIdx], Cldfb_ImagBuffer_Binaural_5ms[chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); mvr2r( Cldfb_RealBuffer_Binaural[chnlIdx][slotIdx], Cldfb_RealBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); mvr2r( Cldfb_ImagBuffer_Binaural[chnlIdx][slotIdx], Cldfb_ImagBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx], CLDFB_NO_CHANNELS_MAX ); } } /* cache the remaining 15ms */ Loading Loading @@ -7831,11 +7841,11 @@ static ivas_error renderSplitBinauralWithPostRot( { for ( smplIdx = 0; smplIdx < CLDFB_NO_CHANNELS_MAX; ++smplIdx ) { Cldfb_RealBuffer_Binaural_5ms[chnlIdx][slotIdx][smplIdx] = *readPtr++; Cldfb_RealBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx][smplIdx] = *readPtr++; } for ( smplIdx = 0; smplIdx < CLDFB_NO_CHANNELS_MAX; ++smplIdx ) { Cldfb_ImagBuffer_Binaural_5ms[chnlIdx][slotIdx][smplIdx] = *readPtr++; Cldfb_ImagBuffer_Binaural_5ms[sf_idx][chnlIdx][slotIdx][smplIdx] = *readPtr++; } } } Loading @@ -7846,10 +7856,10 @@ static ivas_error renderSplitBinauralWithPostRot( { int16_t readOffset = numSamplesPerChannelCacheSize - splitBinInput->numCachedSamples; mvr2r( splitBinInput->bufferData + readOffset, tmpCrendBuffer[0], &tmpCrendBuffer[0][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); mvr2r( splitBinInput->bufferData + readOffset + numSamplesPerChannelCacheSize, tmpCrendBuffer[1], &tmpCrendBuffer[1][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); splitBinInput->numCachedSamples -= outBufNumSamplesPerChannel; } Loading Loading @@ -7887,8 +7897,8 @@ static ivas_error renderSplitBinauralWithPostRot( #endif { #ifdef API_5MS RealBuffer[slot_idx] = Cldfb_RealBuffer_Binaural_5ms[ch_idx][slot_idx]; ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural_5ms[ch_idx][slot_idx]; RealBuffer[slot_idx] = Cldfb_RealBuffer_Binaural_5ms[sf_idx][ch_idx][slot_idx]; ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural_5ms[sf_idx][ch_idx][slot_idx]; #else RealBuffer[slot_idx] = Cldfb_RealBuffer_Binaural[ch_idx][slot_idx]; ImagBuffer[slot_idx] = Cldfb_ImagBuffer_Binaural[ch_idx][slot_idx]; Loading @@ -7908,21 +7918,38 @@ static ivas_error renderSplitBinauralWithPostRot( } else if ( bits.pose_correction == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) { #ifdef API_5MS mvr2r( &tmpCrendBuffer[0][sf_idx * outBufNumSamplesPerChannel], tmpCrendBuffer_sf[0], outBufNumSamplesPerChannel ); mvr2r( &tmpCrendBuffer[1][sf_idx * outBufNumSamplesPerChannel], tmpCrendBuffer_sf[1], outBufNumSamplesPerChannel ); #endif ivas_rend_CldfbSplitPostRendProcess( hSplitBin->hBinHrSplitPostRend, &hSplitBin->multiBinPoseData, #ifdef API_5MS QuaternionsPost[sf_idx], Cldfb_RealBuffer_Binaural_5ms, Cldfb_ImagBuffer_Binaural_5ms, sf_idx, Cldfb_RealBuffer_Binaural_5ms[sf_idx], Cldfb_ImagBuffer_Binaural_5ms[sf_idx], tmpCrendBuffer_sf, #else QuaternionsPost, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, #endif tmpCrendBuffer, #endif isPostRendInputCldfb ); #ifdef API_5MS mvr2r( tmpCrendBuffer_sf[0], &tmpCrendBuffer[0][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); mvr2r( tmpCrendBuffer_sf[1], &tmpCrendBuffer[1][sf_idx * outBufNumSamplesPerChannel], outBufNumSamplesPerChannel ); #endif } #ifdef API_5MS } Loading