Commit 1da16fd6 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch '1176_basop_enable_reverberator_with_BINAURAL_ROOM_IR' into 'main-pc'

[non-BE][allow-regression]patched MR1242 into basop.

See merge request !965
parents 8b6f8e81 99f0d0a5
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -322,6 +322,10 @@ stages:
  - (Get-Content -Path "CMakeLists.txt") -replace '# \(add_compile_options\("\/WX"\)\)', '$1' | Set-Content -Path "CMakeLists.txt"
  - Get-ChildItem -Path "Workspace_msvc" -Filter "*.vcxproj" | ForEach-Object { (Get-Content -Path $_.FullName) -replace '<TreatWarningAsError>false', '<TreatWarningAsError>true' | Set-Content -Path $_.FullName }

.remove_unsupported_testcases: &remove_unsupported_testcases
  # Note: the --use-main-pc-set arg should only be used on main-pc and float-pc branches
  - python3 ci/remove_unsupported_testcases.py $PRM_FILES --use-main-pc-set

# ---------------------------------------------------------------
# Job templates
# ---------------------------------------------------------------
@@ -533,7 +537,7 @@ stages:
    -    testcase_timeout=$TESTCASE_TIMEOUT_STV
    - fi

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases
    - if [ $LEVEL_SCALING != "1.0" ];then
    -   *apply-testv-scaling
    - fi
@@ -646,7 +650,7 @@ stages:
    -    testcase_timeout=$TESTCASE_TIMEOUT_STV
    - fi

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases
    - python3 scripts/prepare_combined_format_inputs.py

    - if [ $LEVEL_SCALING != "1.0" ];then
@@ -770,7 +774,7 @@ stages:
    -    testcase_timeout=$TESTCASE_TIMEOUT_STV
    - fi

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases
    - if [ $LEVEL_SCALING != "1.0" ];then
    -   *apply-testv-scaling
    - fi
@@ -889,7 +893,7 @@ stages:
    - *print-common-info
    - *update-scripts-repo
    - *copy-ltv-files-to-testv-dir
    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases

    - *build-float-ref-binaries
    - set -euxo pipefail
@@ -936,7 +940,7 @@ stages:
    -    testcase_timeout=$TESTCASE_TIMEOUT_STV
    - fi

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases
    - if [ $LEVEL_SCALING != "1.0" ];then
    -   *apply-testv-scaling
    - fi
@@ -2136,7 +2140,7 @@ ivas-pytest-on-merge-request:
    - *get-commits-behind-count
    - *check-commits-behind-count-in-compare-jobs
    - *merge-request-comparison-setup-codec
    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases

    # some helper variables - "|| true" to prevent failures from grep not finding anything
    # write to temporary file as workaround for failures observed with piping echo
+2 −0
Original line number Diff line number Diff line
@@ -186,6 +186,8 @@
#define FIX_921_OMASA_DELAY_PRINTOUT                    /* VA: issue 921: correct OMASA decoder delay printout */
#define NONBE_FIX_926_OSBA_DECODER_CRASH_PLANAR_SBA           /* FhG: issue 926: crash in OSBA decoding with planar FOA */
#define FIX_929_RENDERER_CMDL                   /* Nokia: issue #929: renderer command line option */
#define NONBE_FIX_BINAURAL_ROOM_IR_REVERBERATOR               /* FhG: re-enable acidentially disabled reverberator for BINAURAL_ROOM_IR */
#define NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM   /* FhG: issue 1058: do not initialize EFAP when IntSetup is HOA3 */

/* #################### End BASOP porting switches ############################ */

+23 −0
Original line number Diff line number Diff line
@@ -1512,7 +1512,11 @@ ivas_error ivas_binRenderer_open_fx(

    /* Allocate memories needed for reverb module */
    test();
#ifdef NONBE_FIX_BINAURAL_ROOM_IR_REVERBERATOR
    IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) ) && EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
#else
    IF( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) && EQ_32( st_ivas->hIntSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
#endif
    {
        IF( NE_32( ( error = ivas_binaural_reverb_open_fastconv_fx( &( hBinRenderer->hReverb ), hBinRenderer->conv_band, hBinRenderer->timeSlots, &( st_ivas->hRenderConfig->roomAcoustics ), st_ivas->hIntSetup.output_config, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtfFastConv ) ), IVAS_ERR_OK ) )
        {
@@ -1520,6 +1524,19 @@ ivas_error ivas_binRenderer_open_fx(
        }

        /* initialize the dmx matrix */
#ifdef NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM
        IF( NE_16( hBinRenderer->nInChannels, HOA3_CHANNELS ) )
        {
            FOR( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ )
            {
                FOR( k = 0; k < hBinRenderer->nInChannels; k++ )
                {
                    hBinRenderer->hReverb->dmxmtx_fx[chIdx][k] = dmxmtx_table_fx[chIdx][k];
                    move32();
                }
            }
        }
#else
        FOR( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ )
        {
            FOR( k = 0; k < hBinRenderer->nInChannels; k++ )
@@ -1528,6 +1545,7 @@ ivas_error ivas_binRenderer_open_fx(
                move32();
            }
        }
#endif
    }
    ELSE
    {
@@ -1536,10 +1554,15 @@ ivas_error ivas_binRenderer_open_fx(

    hBinRenderer->hEFAPdata = NULL;

#ifdef NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM
    IF( hBinRenderer->hReverb != NULL && NE_16( hBinRenderer->nInChannels, HOA3_CHANNELS ) )
#else
    IF( hBinRenderer->hReverb != NULL )
#endif
    {
        test();
        test();
        /* NOTE to future self by @kiene: this should have been changed by NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM, but the BASOP repo code is not at that point yet, so not change needed here */
        IF( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 )
        {
            FOR( k = 0; k < 11; k++ )