Loading apps/renderer.c +1 −2 Original line number Diff line number Diff line Loading @@ -1570,7 +1570,7 @@ int main( if ( numSamplesRead == 0 #ifdef API_5MS && splitBinNeedsNewFrame /* TODO(sgi): clean up */ && splitBinNeedsNewFrame #endif ) { Loading Loading @@ -2047,7 +2047,6 @@ int main( #endif /* TODO(sgi): Masa output most likely broken with 5ms framing */ /* Write MASA metadata for MASA outputs */ if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_MASA1 || args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_MASA2 ) { Loading lib_dec/lib_dec.h +1 −1 Original line number Diff line number Diff line Loading @@ -219,7 +219,7 @@ ivas_error IVAS_DEC_GetSamples( ivas_error IVAS_DEC_GetSplitBinauralBitstream( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ IVAS_SPLIT_REND_BITS_HANDLE hSplitRendBits, /* o : bitstream output for split rendering mode*/ int16_t *nOutSamples, /* o : number of samples per channel written to output buffer */ /* TODO(sgi): might not be necessary - revisit */ int16_t *nOutSamples, /* o : number of samples per channel written to output buffer */ bool *needNewFrame /* indication that the decoder needs a new frame */ ); #endif Loading lib_rend/ivas_rotation.c +10 −2 Original line number Diff line number Diff line Loading @@ -1054,7 +1054,11 @@ ivas_error combine_external_and_head_orientations_dec( #ifdef SPLIT_REND_WITH_HEAD_ROT IVAS_SPLIT_REND_ROT_AXIS sr_pose_pred_axis; #endif IVAS_QUATERNION *headRotQuaternions = NULL; /* TODO(sgi): Rename to "headRotQuaternion" - it's a single value now */ #ifdef API_5MS IVAS_QUATERNION *pHeadRotQuaternion = NULL; #else IVAS_QUATERNION *headRotQuaternions = NULL; #endif IVAS_VECTOR3 *listenerPos = NULL; #ifndef API_5MS int16_t numHeadRotQuaternions = 0; Loading @@ -1063,7 +1067,7 @@ ivas_error combine_external_and_head_orientations_dec( if ( hHeadTrackData != NULL ) { #ifdef API_5MS headRotQuaternions = &hHeadTrackData->Quaternion; pHeadRotQuaternion = &hHeadTrackData->Quaternion; listenerPos = &hHeadTrackData->Pos; #else numHeadRotQuaternions = hHeadTrackData->num_quaternions; Loading @@ -1085,7 +1089,11 @@ ivas_error combine_external_and_head_orientations_dec( #endif return combine_external_and_head_orientations( #ifdef API_5MS pHeadRotQuaternion, #else headRotQuaternions, #endif listenerPos, #ifdef SPLIT_REND_WITH_HEAD_ROT sr_pose_pred_axis, Loading lib_rend/ivas_stat_rend.h +1 −1 Original line number Diff line number Diff line Loading @@ -689,7 +689,7 @@ typedef struct #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG HANDLE_CLDFB_FILTER_BANK cldfbAna[( 1 + MAX_HEAD_ROT_POSES ) * BINAURAL_CHANNELS]; #else /* TODO(sgi): rename to "cldfb" during harmonization - these handles are sometimes also used for synthesis */ /* rename to "cldfb" during harmonization - these handles are sometimes also used for synthesis */ HANDLE_CLDFB_FILTER_BANK cldfbAna[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; #endif } CLDFB_HANDLES_WRAPPER, *CLDFB_HANDLES_WRAPPER_HANDLE; Loading lib_rend/lib_rend.c +3 −5 Original line number Diff line number Diff line Loading @@ -1201,14 +1201,14 @@ static ivas_error initHeadRotation( #ifdef API_5MS /* Initialize 5ms crossfade */ crossfade_len = L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES; /* TODO(sgi): @tmu why do we assume 48 kHz here? */ crossfade_len = L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES; tmp = 1.f / ( crossfade_len - 1 ); for ( i = 0; i < crossfade_len; i++ ) { hIvasRend->headRotData.crossfade_5ms[i] = i * tmp; } /* Initialize 20ms crossfade */ crossfade_len = L_FRAME48k; /* TODO(sgi): @tmu why do we assume 48 kHz here? */ crossfade_len = L_FRAME48k; tmp = 1.f / ( crossfade_len - 1 ); for ( i = 0; i < crossfade_len; i++ ) { Loading Loading @@ -5555,7 +5555,7 @@ ivas_error IVAS_REND_SetExternalOrientation( int8_t enableHeadRotation, /* i : flag to enable head rotation for this frame */ int8_t enableExternalOrientation, /* i : flag to enable external orientation for this frame */ int8_t enableRotationInterpolation, /* i : flag to interpolate rotations from current and previous frames */ int16_t numFramesToTargetOrientation /* i : number of frames until target orientation is reached */ /* TODO(sgi): make independent of framing */ int16_t numFramesToTargetOrientation /* i : number of frames until target orientation is reached */ #else int8_t *enableHeadRotation, /* i : flag to enable head rotation for this frame */ int8_t *enableExternalOrientation, /* i : flag to enable external orientation for this frame */ Loading Loading @@ -5868,7 +5868,6 @@ static ivas_error rotateFrameMc( } #ifndef API_5MS /* TODO(sgi): @tmu please review changes in this function */ /* subframe loop */ subframe_len = inAudio.config.numSamplesPerChannel / RENDERER_HEAD_POSITIONS_PER_FRAME; for ( subframe_idx = 0; subframe_idx < RENDERER_HEAD_POSITIONS_PER_FRAME; subframe_idx++ ) Loading Loading @@ -6017,7 +6016,6 @@ static ivas_error rotateFrameSba( } #ifndef API_5MS /* TODO(sgi): @tmu please review changes in this function */ /* subframe loop */ subframe_len = inAudio.config.numSamplesPerChannel / RENDERER_HEAD_POSITIONS_PER_FRAME; for ( subframe_idx = 0; subframe_idx < RENDERER_HEAD_POSITIONS_PER_FRAME; subframe_idx++ ) Loading Loading
apps/renderer.c +1 −2 Original line number Diff line number Diff line Loading @@ -1570,7 +1570,7 @@ int main( if ( numSamplesRead == 0 #ifdef API_5MS && splitBinNeedsNewFrame /* TODO(sgi): clean up */ && splitBinNeedsNewFrame #endif ) { Loading Loading @@ -2047,7 +2047,6 @@ int main( #endif /* TODO(sgi): Masa output most likely broken with 5ms framing */ /* Write MASA metadata for MASA outputs */ if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_MASA1 || args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_MASA2 ) { Loading
lib_dec/lib_dec.h +1 −1 Original line number Diff line number Diff line Loading @@ -219,7 +219,7 @@ ivas_error IVAS_DEC_GetSamples( ivas_error IVAS_DEC_GetSplitBinauralBitstream( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ IVAS_SPLIT_REND_BITS_HANDLE hSplitRendBits, /* o : bitstream output for split rendering mode*/ int16_t *nOutSamples, /* o : number of samples per channel written to output buffer */ /* TODO(sgi): might not be necessary - revisit */ int16_t *nOutSamples, /* o : number of samples per channel written to output buffer */ bool *needNewFrame /* indication that the decoder needs a new frame */ ); #endif Loading
lib_rend/ivas_rotation.c +10 −2 Original line number Diff line number Diff line Loading @@ -1054,7 +1054,11 @@ ivas_error combine_external_and_head_orientations_dec( #ifdef SPLIT_REND_WITH_HEAD_ROT IVAS_SPLIT_REND_ROT_AXIS sr_pose_pred_axis; #endif IVAS_QUATERNION *headRotQuaternions = NULL; /* TODO(sgi): Rename to "headRotQuaternion" - it's a single value now */ #ifdef API_5MS IVAS_QUATERNION *pHeadRotQuaternion = NULL; #else IVAS_QUATERNION *headRotQuaternions = NULL; #endif IVAS_VECTOR3 *listenerPos = NULL; #ifndef API_5MS int16_t numHeadRotQuaternions = 0; Loading @@ -1063,7 +1067,7 @@ ivas_error combine_external_and_head_orientations_dec( if ( hHeadTrackData != NULL ) { #ifdef API_5MS headRotQuaternions = &hHeadTrackData->Quaternion; pHeadRotQuaternion = &hHeadTrackData->Quaternion; listenerPos = &hHeadTrackData->Pos; #else numHeadRotQuaternions = hHeadTrackData->num_quaternions; Loading @@ -1085,7 +1089,11 @@ ivas_error combine_external_and_head_orientations_dec( #endif return combine_external_and_head_orientations( #ifdef API_5MS pHeadRotQuaternion, #else headRotQuaternions, #endif listenerPos, #ifdef SPLIT_REND_WITH_HEAD_ROT sr_pose_pred_axis, Loading
lib_rend/ivas_stat_rend.h +1 −1 Original line number Diff line number Diff line Loading @@ -689,7 +689,7 @@ typedef struct #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG HANDLE_CLDFB_FILTER_BANK cldfbAna[( 1 + MAX_HEAD_ROT_POSES ) * BINAURAL_CHANNELS]; #else /* TODO(sgi): rename to "cldfb" during harmonization - these handles are sometimes also used for synthesis */ /* rename to "cldfb" during harmonization - these handles are sometimes also used for synthesis */ HANDLE_CLDFB_FILTER_BANK cldfbAna[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; #endif } CLDFB_HANDLES_WRAPPER, *CLDFB_HANDLES_WRAPPER_HANDLE; Loading
lib_rend/lib_rend.c +3 −5 Original line number Diff line number Diff line Loading @@ -1201,14 +1201,14 @@ static ivas_error initHeadRotation( #ifdef API_5MS /* Initialize 5ms crossfade */ crossfade_len = L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES; /* TODO(sgi): @tmu why do we assume 48 kHz here? */ crossfade_len = L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES; tmp = 1.f / ( crossfade_len - 1 ); for ( i = 0; i < crossfade_len; i++ ) { hIvasRend->headRotData.crossfade_5ms[i] = i * tmp; } /* Initialize 20ms crossfade */ crossfade_len = L_FRAME48k; /* TODO(sgi): @tmu why do we assume 48 kHz here? */ crossfade_len = L_FRAME48k; tmp = 1.f / ( crossfade_len - 1 ); for ( i = 0; i < crossfade_len; i++ ) { Loading Loading @@ -5555,7 +5555,7 @@ ivas_error IVAS_REND_SetExternalOrientation( int8_t enableHeadRotation, /* i : flag to enable head rotation for this frame */ int8_t enableExternalOrientation, /* i : flag to enable external orientation for this frame */ int8_t enableRotationInterpolation, /* i : flag to interpolate rotations from current and previous frames */ int16_t numFramesToTargetOrientation /* i : number of frames until target orientation is reached */ /* TODO(sgi): make independent of framing */ int16_t numFramesToTargetOrientation /* i : number of frames until target orientation is reached */ #else int8_t *enableHeadRotation, /* i : flag to enable head rotation for this frame */ int8_t *enableExternalOrientation, /* i : flag to enable external orientation for this frame */ Loading Loading @@ -5868,7 +5868,6 @@ static ivas_error rotateFrameMc( } #ifndef API_5MS /* TODO(sgi): @tmu please review changes in this function */ /* subframe loop */ subframe_len = inAudio.config.numSamplesPerChannel / RENDERER_HEAD_POSITIONS_PER_FRAME; for ( subframe_idx = 0; subframe_idx < RENDERER_HEAD_POSITIONS_PER_FRAME; subframe_idx++ ) Loading Loading @@ -6017,7 +6016,6 @@ static ivas_error rotateFrameSba( } #ifndef API_5MS /* TODO(sgi): @tmu please review changes in this function */ /* subframe loop */ subframe_len = inAudio.config.numSamplesPerChannel / RENDERER_HEAD_POSITIONS_PER_FRAME; for ( subframe_idx = 0; subframe_idx < RENDERER_HEAD_POSITIONS_PER_FRAME; subframe_idx++ ) Loading