Commit d435f5f4 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

allow head rotation with HOA3 output signals for debugging

parent 8a905890
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -306,6 +306,7 @@ int main(
    if ( arg.enableHeadRotation )
    {
        /* sanity check */
#if 0
        if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB
#ifdef SPLIT_REND_WITH_HEAD_ROT
             && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM
@@ -315,6 +316,7 @@ int main(
            fprintf( stderr, "\nError: Head-rotation file file cannot be used in this output configuration.\n\n" );
            goto cleanup;
        }
#endif

        if ( ( error = RotationFileReader_open( arg.headrotTrajFileName, &headRotReader ) ) != IVAS_ERR_OK )
        {
+3 −1
Original line number Diff line number Diff line
@@ -184,6 +184,8 @@

#define NONBE_FIX_998_DIRAC_ROTATION                          /* FhG: fix issue 998: DirAC scene rotation accidentially deactivated */

#define ALLOW_HOA3_ROTATION

/* ##################### End NON-BE switches ########################### */

/* ################## End DEVELOPMENT switches ######################### */
+4 −1
Original line number Diff line number Diff line
@@ -3130,12 +3130,14 @@ static ivas_error doSanityChecks_IVAS(
        return IVAS_ERROR( IVAS_ERR_INVALID_SAMPLING_RATE, "Error: Only 48kHz output sampling rate is supported for split rendering." );
    }
#endif

    if ( st_ivas->hDecoderConfig->Opt_Headrotation )
    {
        if ( !( output_config == IVAS_AUDIO_CONFIG_BINAURAL || output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR || output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB
#ifdef SPLIT_REND_WITH_HEAD_ROT
                || output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM
#endif
#ifdef ALLOW_HOA3_ROTATION
			    || output_config == IVAS_AUDIO_CONFIG_HOA3
#endif
                ) )
        {
@@ -3143,6 +3145,7 @@ static ivas_error doSanityChecks_IVAS(
        }
    }


    if ( st_ivas->hDecoderConfig->Opt_ExternalOrientation )
    {
        if ( !( output_config == IVAS_AUDIO_CONFIG_BINAURAL || output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR || output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
+12 −0
Original line number Diff line number Diff line
@@ -79,6 +79,18 @@ void ivas_renderer_select(
        st_ivas->hCombinedOrientationData->shd_rot_max_order = -1;
    }

#ifdef ALLOW_HOA3_ROTATION
	if (output_config == IVAS_AUDIO_CONFIG_HOA3)
	{
		st_ivas->hCombinedOrientationData->shd_rot_max_order = 0;

#ifdef NONBE_FIX_998_DIRAC_ROTATION
        st_ivas->hCombinedOrientationData->shd_rot_max_order = 1;
#endif

	}
#endif

    if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL || output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR || output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB
#ifdef SPLIT_REND_WITH_HEAD_ROT
         || output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM