Commit 3b287749 authored by vaclav's avatar vaclav
Browse files

- Merge remote-tracking branch 'remotes/origin/float-pc' into 1358_ref_PortFlpMR1321

parents de2368e6 3c7e6e69
Loading
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -291,6 +291,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

# From float repo
# to be reused in MR and LTV-scheduled sanitizer test jobs
# set CLANG_NUM, SELFTEST_SANITY_TIMEOUT and SELF_TEST_PRM_FILE in before_script section
@@ -304,7 +308,7 @@ stages:
    - testcase_timeout=$SELFTEST_SANITY_TIMEOUT
    - export UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1

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

    - exit_code20=0
    - exit_code10=0
@@ -548,7 +552,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
@@ -634,7 +638,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
@@ -746,7 +750,7 @@ stages:
  script:
    - *print-common-info
    - *update-scripts-repo
    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases
    - *build-reference-and-dut-binaries
    - make clean
    - make -j CLANG=$CLANG_NUM
@@ -782,7 +786,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
@@ -977,7 +981,7 @@ check-first-frame-is-sid:
    - bash ci/run-first-frame-is-sid-test.sh

# from float
check-bitexactness-hrtf-rom-and-file:
.check-bitexactness-hrtf-rom-and-file:
  extends:
    - .test-job-linux
    - .rules-merge-request-to-float-pc
@@ -1780,7 +1784,7 @@ codec-smoke-test:
    - cp IVAS_cod IVAS_cod_ref
    - cp IVAS_dec IVAS_dec_ref

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - *remove_unsupported_testcases
    # create references
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1
    ### run pytest
@@ -2009,7 +2013,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
@@ -2069,7 +2073,7 @@ ivas-interop-on-merge-request:
    # the next line is dependent on ref-using-main flag in the other tests, but here the flag does not make sense
    - git checkout $source_branch_commit_sha

    - 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
@@ -2159,13 +2163,19 @@ ivas-interop-on-merge-request:
    - *update-scripts-repo
    - *update-ltv-repo
    - *complexity-measurements-setup
    # delete previous jobs logfiles if present (-f flag ensures return calue of 0 even in first run where this folder is not present)
    - rm -rf COMPLEXITY/logs
    - which coan
  allow_failure:
    exit_codes:
      - 123
  artifacts:
    name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA"
    when: always
    expire_in: 2 week
    paths:
      - $CI_JOB_NAME-public
      - COMPLEXITY/logs

complexity-stereo-in-stereo-out:
  extends:
+2 −2
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@
#        cmake --build . --config Release


cmake_minimum_required(VERSION 3.1)
cmake_minimum_required(VERSION 3.10)

set(CMAKE_C_STANDARD 99)

@@ -121,7 +121,7 @@ if(WMOPS)
  add_definitions("-DWMOPS=1")
endif()

project(stereo-evs)
project(stereo-evs LANGUAGES C)
set_property(GLOBAL PROPERTY USE_FOLDERS ON) # make Visual Studio projects look nicer
include(CTest)

+2 −28
Original line number Diff line number Diff line
@@ -384,13 +384,11 @@ int main(
        goto cleanup;
    }

#ifdef SUPPORT_FORCE_TCX10_TCX20
#ifdef DEBUGGING
    if ( arg.forcedMode == IVAS_ENC_FORCE_TCX10 && totalBitrate < 48000 )
    {
        fprintf( stderr, "Warning: Enforcing the TCX10 mode is only supported for bitrates higher or equal than 48 kbps!\n\n" );
    }
#endif
#endif

    /*------------------------------------------------------------------------------------------*
@@ -1111,7 +1109,6 @@ static bool parseCmdlIVAS_enc(
            }
            else
            {
#ifdef SUPPORT_FORCE_TCX10_TCX20
                if ( arg->forcedMode == IVAS_ENC_FORCE_TCX10 )
                {
                    strcpy( stmp, "TCX10" );
@@ -1126,9 +1123,6 @@ static bool parseCmdlIVAS_enc(
                }

                fprintf( stdout, "Forcing codec to:       %s\n", stmp );
#else
                fprintf( stdout, "Forcing codec to:       %s\n", argv[i + 1] );
#endif
            }
#endif

@@ -2114,24 +2108,14 @@ static IVAS_ENC_FORCED_MODE parseForcedMode(
    {
        return IVAS_ENC_FORCE_GSC;
    }
    if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 )
#ifdef SUPPORT_FORCE_TCX10_TCX20
         || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 )
#endif
    )
    if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) )
    {
#ifdef SUPPORT_FORCE_TCX10_TCX20
        return IVAS_ENC_FORCE_TCX20;
#else
        return IVAS_ENC_FORCE_TCX;
#endif
    }
#ifdef SUPPORT_FORCE_TCX10_TCX20
    if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) )
    {
        return IVAS_ENC_FORCE_TCX10;
    }
#endif
    else if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) )
    {
        return IVAS_ENC_FORCE_HQ;
@@ -2174,24 +2158,14 @@ static IVAS_ENC_FORCED_MODE parseForcedMode(
    {
        return IVAS_ENC_FORCE_GSC;
    }
    if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 )
#ifdef SUPPORT_FORCE_TCX10_TCX20
         || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 )
#endif
    )
    if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) )
    {
#ifdef SUPPORT_FORCE_TCX10_TCX20
        return IVAS_ENC_FORCE_TCX20;
#else
        return IVAS_ENC_FORCE_TCX;
#endif
    }
#ifdef SUPPORT_FORCE_TCX10_TCX20
    if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) )
    {
        return IVAS_ENC_FORCE_TCX10;
    }
#endif
    if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) )
    {
        return IVAS_ENC_FORCE_HQ;
+1 −1
Original line number Diff line number Diff line
@@ -320,7 +320,7 @@ static const CmdLnParser_Option cliOptions[] = {
      .description = "LFE panning matrix. File (CSV table) containing a matrix of dimensions [ num_input_lfe x num_output_channels ] with elements specifying linear routing gain (like --gain, -g). \nIf specified, overrides the output LFE position option and the default behavior which attempts to map input to output LFE channel(s)" },
    {
        .id = CmdLnOptionId_noDelayCmp,
        .match = "no_delay_comparison",
        .match = "no_delay_compensation",
        .matchShort = "no_delay_cmp",
        .description = "[flag] Turn off delay compensation",
    },
+0 −23
Original line number Diff line number Diff line
@@ -243,10 +243,7 @@ void tcx_arith_scale_envelope(
    Word16 statesi, bits;
    Word32 mean, a, s, L_tmp;
    Word16 mean_e, tmp, tmp2;
#ifdef BASOP_NOGLOB
    Flag Overflow;
#endif /* BASOP_NOGLOB */


    lob_bits = 0;
    move16();
@@ -271,11 +268,7 @@ void tcx_arith_scale_envelope(

        tmp = norm_l( env[k] );
        tmp2 = sub( 15, tmp );
#ifndef BASOP_NOGLOB
        tmp = Inv16( round_fx( L_shl( env[k], tmp ) ), &tmp2 );
#else                                                           /* BASOP_NOGLOB */
        tmp = Inv16( round_fx_o( L_shl( env[k], tmp ), &Overflow ), &tmp2 );
#endif                                                          /* BASOP_NOGLOB */
        ienv[k] = L_shl( L_deposit_h( tmp ), sub( tmp2, 15 ) ); /* Q16 */
        move32();
        mean = L_add( mean, ienv[k] );
@@ -309,11 +302,7 @@ void tcx_arith_scale_envelope(
    b_e = add( b_e, mean_e );

    /* scale = (-b + sqrtf(b*b - 4.0f*a*0.035f)) / (2.0f * a); */
#ifndef BASOP_NOGLOB
    tmp = round_fx( BASOP_Util_Add_Mant32Exp( L_mult( b, b ), shl( b_e, 1 ), Mpy_32_16( a, FL2WORD16( -4.0f * 0.035f ) ), a_e, &tmp2 ) );
#else
    tmp = round_fx_o( BASOP_Util_Add_Mant32Exp( L_mult( b, b ), shl( b_e, 1 ), Mpy_32_16( a, FL2WORD16( -4.0f * 0.035f ) ), a_e, &tmp2 ), &Overflow );
#endif

    IF( tmp <= 0 )
    {
@@ -332,11 +321,7 @@ void tcx_arith_scale_envelope(

    tmp2 = BASOP_Util_Add_MantExp( negate( b ), b_e, tmp, tmp2, &scale );
    scale = BASOP_Util_Divide1616_Scale( scale, round_fx( a ), &tmp );
#ifndef BASOP_NOGLOB
    scale = shl( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ) ); /* Q15 */
#else
    scale = shl_o( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ), &Overflow ); /* Q15 */
#endif

    /* iscale = 1.0f / scale; */
    iscale_e = 0;
@@ -385,11 +370,7 @@ void tcx_arith_scale_envelope(
                L_tmp = L_add( L_tmp, L_shl( Mpy_32_16( env[k], mult_r( FL2WORD16( 0.035f ), iscale ) ), iscale_e ) );

                tmp = norm_l( L_tmp );
#ifndef BASOP_NOGLOB
                statesi = mult_r( statesi, round_fx( L_shl( L_tmp, tmp ) ) );
#else  /* BASOP_NOGLOB */
                statesi = mult_r( statesi, round_fx_o( L_shl( L_tmp, tmp ), &Overflow ) );
#endif /* BASOP_NOGLOB */
                bits = add( bits, sub( 15, tmp ) );

                tmp = norm_s( statesi );
@@ -489,11 +470,7 @@ void tcx_arith_scale_envelope(
    *s_env_e = sub( add( 15, iscale_e ), tmp );
    move16();
    BASOP_SATURATE_WARNING_OFF;
#ifndef BASOP_NOGLOB
    a = L_shl( 1265000, sub( 15, *s_env_e ) );
#else  /* BASOP_NOGLOB */
    a = L_shl_o( 1265000, sub( 15, *s_env_e ), &Overflow );
#endif /* BASOP_NOGLOB */
    BASOP_SATURATE_WARNING_ON;

    FOR( k = 0; k < L_frame; k++ )
Loading