Commit 1fce6cf4 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

[tests] add more information about xfail reasons

- correct path to MASA test files
- address a TODO for EFAP
parent 0057307d
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -155,8 +155,12 @@ ivas_error efap_init_data(
    if ( !speaker_node_azi_deg || !speaker_node_ele_deg )
    {
        hEFAPdata = NULL;
#ifdef EXT_RENDERER
        return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "EFAP requires arrays of speaker azimuths and elevations" );
#else
        /* TODO: is this path correct behaviour or and error ? */
        return IVAS_ERR_OK;
#endif
    }

    /*-----------------------------------------------------------------*
+52 −41
Original line number Diff line number Diff line
@@ -149,10 +149,10 @@ FORMAT_TO_FILE = {
    # "ISM2": TEST_VECTOR_DIR.joinpath("spectral_test_ism2.txt"),
    # "ISM3": TEST_VECTOR_DIR.joinpath("spectral_test_ism3.txt"),
    # "ISM4": TEST_VECTOR_DIR.joinpath("spectral_test_ism4.txt"),
    "MASA1": NCHAN_TO_FILE[1],
    "MASA2": NCHAN_TO_FILE[2],
    # "MASA1": TEST_VECTOR_DIR.joinpath("stv_IVASMASA_1dir1TC.pcm"),
    # "MASA2": TEST_VECTOR_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"),
    # "MASA1": NCHAN_TO_FILE[1],
    # "MASA2": NCHAN_TO_FILE[2],
    "MASA1": TESTV_DIR.joinpath("stv_IVASMASA_1dir1TC.pcm"),
    "MASA2": TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"),
    "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"),
    "16ch_8+4+4": NCHAN_TO_FILE[16],
    "4d0": NCHAN_TO_FILE[4],
@@ -182,8 +182,8 @@ FORMAT_TO_METADATA_FILES = {
        str(TESTV_DIR.joinpath("stvISM3.csv")),
        str(TESTV_DIR.joinpath("stvISM4.csv")),
    ],
    "MASA1": [str(TESTV_DIR.joinpath("stv_IVASMASAQ_1dir1TC.met"))],
    "MASA2": [str(TESTV_DIR.joinpath("stv_IVASMASAQ_2dir2TC.met"))],
    "MASA1": [str(TESTV_DIR.joinpath("stv_IVASMASA_1dir1TC.met"))],
    "MASA2": [str(TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.met"))],
}

FORMAT_TO_IVAS = {
@@ -284,7 +284,8 @@ pass_snr = {
    # TODO needs debugging
    "test_ambisonics_binaural_headrotation[HOA2-BINAURAL-full_circle_in_15s]": 18,
    "test_ambisonics_binaural_headrotation[HOA3-BINAURAL-full_circle_in_15s]": 15,
    # Crend unit test does not support SHD BRIRs
    # Failure reason: Crend unit test does not support intermediate conversion to 7_1_4 or SHD BRIRs
    # Comparison with pyaudio3dtools results in bad SNR
    "test_ambisonics_binaural_headrotation[FOA-BINAURAL_ROOM-full_circle_in_15s]": 0,
    "test_ambisonics_binaural_headrotation[FOA-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_ambisonics_binaural_headrotation[HOA2-BINAURAL_ROOM-full_circle_in_15s]": 0,
@@ -296,8 +297,8 @@ pass_snr = {
    "test_ambisonics_binaural_static[FOA-BINAURAL_ROOM]": 0,
    "test_ambisonics_binaural_static[HOA2-BINAURAL_ROOM]": 0,
    "test_ambisonics_binaural_static[HOA3-BINAURAL_ROOM]": 0,
    # TD Object Renderer used internally, comparison to pyaudio3dtools has bad SNR
    # TD Object Renderer standalone does not support custom LS
    # Failure reason: TD Object Renderer standalone does not support custom LS input
    # Comparison with pyaudio3dtools results in bad SNR
    "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL]": 0,
    "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL_ROOM]": 0,
    "test_custom_ls_input_binaural[4d4-BINAURAL]": 0,
@@ -322,9 +323,9 @@ pass_snr = {
    "test_custom_ls_input_binaural[itu_4+5+1-BINAURAL_ROOM]": 3,
    "test_custom_ls_input_binaural[t_design_4-BINAURAL]": 0,
    "test_custom_ls_input_binaural[t_design_4-BINAURAL_ROOM]": 0,
    # Crend used internally, comparison to pyaudio3dtools has bad SNR
    # Crend unit test does not support ISM rendering
    # 5ms rendering still TODO in renderer
    # TODO need to verify 5ms rendering in external renderer
    # Crend unit test does not support intermediate conversion to 7_1_4
    # Comparison with pyaudio3dtools results in bad SNR
    "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 9,
    "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4,
    "test_ism_binaural_headrotation[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 10,
@@ -340,7 +341,8 @@ pass_snr = {
    "test_ism_binaural_static[ISM2-BINAURAL_ROOM]": 21,
    "test_ism_binaural_static[ISM3-BINAURAL_ROOM]": 21,
    "test_ism_binaural_static[ISM4-BINAURAL_ROOM]": 21,
    # TODO needs debugging, minor differences could be due to crossfades or metadata position rounding
    # TODO needs debugging
    # Failure reason: minor differences could be due to crossfades or metadata position rounding
    "test_ism[ISM1-5_1_2]": 48,
    "test_ism[ISM1-5_1_4]": 48,
    "test_ism[ISM1-5_1]": 48,
@@ -377,19 +379,26 @@ pass_snr = {
    "test_ism[ISM4-HOA2]": 36,
    "test_ism[ISM4-HOA3]": 33,
    "test_ism[ISM4-STEREO]": 57,
    # bitexact except for delay alignment of LFE signal (Issue 59)
    # TODO delay alignment of LFE in binaural output
    # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59)
    "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7,
    "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6,
    "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8,
    "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8,
    # TODO minor differences, needs debugging
    # Failure reason: bitexact except for clicks and differences in center channel, could be due to crossfades
    "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-full_circle_in_15s]": 30,
    "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 30,
    "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-full_circle_in_15s]": 29,
    "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 29,
    "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-full_circle_in_15s]": 30,
    "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 30,
    # headrotation may be applied differently
    "test_multichannel_binaural_static[5_1_2-BINAURAL]": 30,
    "test_multichannel_binaural_static[5_1_4-BINAURAL]": 29,
    "test_multichannel_binaural_static[5_1-BINAURAL]": 27,
    "test_multichannel_binaural_static[7_1-BINAURAL]": 30,
    "test_multichannel_binaural_static[7_1_4-BINAURAL]": 30,
    # TODO needs debugging
    # Failure reason: headrotation may be applied differently, differences increase progressively
    "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-full_circle_in_15s]": 10,
    "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4,
    "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 11,
@@ -400,39 +409,38 @@ pass_snr = {
    "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3,
    "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 10,
    "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3,
    # TODO minor differences, needs debugging (same as headrotation case)
    "test_multichannel_binaural_static[5_1_2-BINAURAL]": 30,
    "test_multichannel_binaural_static[5_1_4-BINAURAL]": 29,
    "test_multichannel_binaural_static[5_1-BINAURAL]": 27,
    "test_multichannel_binaural_static[7_1-BINAURAL]": 30,
    "test_multichannel_binaural_static[7_1_4-BINAURAL]": 30,
    #####################################
    #
    # External vs Internal Renderer tests
    #
    #####################################
    # TODO conversion to 7_1_4 might be different (as indicated by next section of tests), needs debugging
    # Failure reason: only fails for this trajectory with very high SNR, possible minor diff. in crossfade
    # or due to usage of multiple TD Object Renderer instances
    "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 84,
    "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 78,
    "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 85,
    # TODO needs investigation
    # Failure reason: conversion to 7_1_4 could be implemented differently w.r.t decoder
    "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 15,
    "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 15,
    "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 12,
    "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13,
    "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 84,
    "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-full_circle_in_15s]": 12,
    "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13,
    "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 78,
    "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-full_circle_in_15s]": 12,
    "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13,
    "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 85,
    "test_ism_binaural_static_vs_decoder[ISM1-BINAURAL_ROOM]": 15,
    "test_ism_binaural_static_vs_decoder[ISM2-BINAURAL_ROOM]": 12,
    "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL_ROOM]": 12,
    "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL_ROOM]": 12,
    # TODO ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize
    # TODO harmonize panning to stereo
    # Failure reason ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize
    "test_ism_vs_decoder[ISM1-STEREO]": 8,
    "test_ism_vs_decoder[ISM2-STEREO]": 17,
    "test_ism_vs_decoder[ISM3-STEREO]": 14,
    "test_ism_vs_decoder[ISM4-STEREO]": 14,
    # TODO loudspeaker and ambisonics rendering could be due to crossfades or metadata position rounding
    # TODO needs investigation
    # Failure reason: likely differences between metadata position rounding (decoder uses ceil()) and crossfades
    "test_ism_vs_decoder[ISM1-5_1_2]": 26,
    "test_ism_vs_decoder[ISM1-5_1]": 26,
    "test_ism_vs_decoder[ISM1-5_1_4]": 26,
@@ -467,43 +475,46 @@ pass_snr = {
    "test_ism_vs_decoder[ISM4-HOA2]": 30,
    "test_ism_vs_decoder[ISM4-HOA3]": 29,
    "test_ism_vs_decoder[ISM4-MONO]": 77,
    # TODO needs debugging
    # TODO needs investigation
    # Failure reason: headrotation and crossfade could have differences
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-full_circle_in_15s]": 4,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-full_circle_in_15s]": 4,
    "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5,
    "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0,
    # TODO needs investigation
    "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7,
    "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-full_circle_in_15s]": 5,
    "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    # TODO needs debugging
    "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5,
    "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0,
    # TODO needs investigation
    "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL_ROOM]": 18,
    "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL_ROOM]": 18,
    "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18,
    "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18,
    "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19,
    # TODO Mono downmix significantly different, needs a fix
    # Failure reason: Mono downmix significantly different, needs a fix
    "test_multichannel_vs_decoder[5_1_2-MONO]": 1,
    "test_multichannel_vs_decoder[5_1_4-MONO]": 1,
    "test_multichannel_vs_decoder[5_1-MONO]": 1,
    "test_multichannel_vs_decoder[7_1_4-MONO]": 1,
    "test_multichannel_vs_decoder[7_1-MONO]": 1,
    "test_multichannel_vs_decoder[STEREO-MONO]": 17,
    # TODO Stereo downmix differs slightly, needs debugging
    # Failure reason: Stereo downmix differs slightly, needs a fix
    "test_multichannel_vs_decoder[5_1_2-STEREO]": 44,
    "test_multichannel_vs_decoder[5_1_4-STEREO]": 48,
    "test_multichannel_vs_decoder[5_1-STEREO]": 48,
    "test_multichannel_vs_decoder[7_1_4-STEREO]": 46,
    "test_multichannel_vs_decoder[7_1-STEREO]": 44,
    # TODO minor differences, needs debugging
    # TODO needs investigation
    # Failure reason: possibly due to minor differences in crossfades
    "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63,
    "test_multichannel_vs_decoder[5_1_2-5_1]": 63,
    "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63,