Commit be2ef902 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

Merge branch 'split_rendering_masa_and_mc_fixes' of...

Merge branch 'split_rendering_masa_and_mc_fixes' of forge.3gpp.org:ivas-codec-pc/ivas-codec into split_rendering_masa_and_mc_fixes
parents 710fae19 21b888d6
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -47,6 +47,10 @@ tests/**/[c|d]ut
tests/**/ref
tests/*/testv
scripts/testv/*_cut*.pcm
scripts/testv/stvOMASA_*.met
scripts/testv/stvOMASA_*.csv
scripts/testv/stvOMASA_2ISM_1MASA1TC48c.wav
scripts/testv/stvOMASA_3ISM_1MASA1TC48c.wav
# default reference binary name
IVAS_cod_ref
IVAS_dec_ref
+20 −8
Original line number Diff line number Diff line
@@ -517,7 +517,9 @@ renderer-pytest-on-merge-request:
    - *print-common-info

    # some helper variables - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true
    # write to temporary file as workaround for failures observed with piping echo
    - echo $CI_MERGE_REQUEST_TITLE > tmp.txt
    - non_be_flag=$(grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]" tmp.txt) || true
    # TODO: needs splitting the test between reference and cut generation
    #- ref_using_main=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true

@@ -593,7 +595,9 @@ split-rendering-pytest-on-merge-request:
    - *print-common-info

    # some helper variables - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[split*[ -]*non[ -]*be\]") || true
    # write to temporary file as workaround for failures observed with piping echo
    - echo $CI_MERGE_REQUEST_TITLE > tmp.txt    
    - non_be_flag=$(grep -c --ignore-case "\[split*[ -]*non[ -]*be\]" tmp.txt) || true
    # TODO: needs splitting the test between reference and cut generation
    #- ref_using_main=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true

@@ -650,8 +654,10 @@ ivas-pytest-on-merge-request:
    - *merge-request-comparison-setup-codec

    # some helper variables - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[non[ -]*be\]") || true
    - ref_using_main=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true
    # write to temporary file as workaround for failures observed with piping echo
    - echo $CI_MERGE_REQUEST_TITLE > tmp.txt    
    - non_be_flag=$(grep -c --ignore-case "\[non[ -]*be\]" tmp.txt) || true
    - ref_using_main=$(grep -c --ignore-case "\[ref[ -]*using[ -]*main\]" tmp.txt) || true

    ### If ref_using_main is not set, checkoug the source branch to use scripts and input from there
    - if [ $ref_using_main == 0 ]; then git checkout $source_branch_commit_sha; fi
@@ -700,8 +706,10 @@ evs-pytest-on-merge-request:
    - *merge-request-comparison-setup-codec
    
    # some helper variables - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[evs[ -]*non[ -]*be\]") || true
    - ref_using_main=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true
    # write to temporary file as workaround for failures observed with piping echo
    - echo $CI_MERGE_REQUEST_TITLE > tmp.txt    
    - non_be_flag=$(grep -c --ignore-case "\[evs[ -]*non[ -]*be\]" tmp.txt) || true
    - ref_using_main=$(grep -c --ignore-case "\[ref[ -]*using[ -]*main\]" tmp.txt) || true

    ### If ref_using_main is not set, checkoug the source branch to use scripts and input from there
    - if [ $ref_using_main == 0 ]; then git checkout $source_branch_commit_sha; fi
@@ -803,6 +811,8 @@ check-first-frame-is-sid:
  script:
    - *print-common-info
    - *update-ltv-repo
    # Temporary fix to test only SID start config files in this job
    - rm scripts/config/ci_linux_ltv.json scripts/config/ci_linux.json
    - *check-for-testvectors
    - cmake .
    - make -j
@@ -972,8 +982,10 @@ codec-comparison-on-main-push:
    - cd ..

    # helper variable - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_COMMIT_MESSAGE | grep -c --ignore-case "\[non[ -]*be\]") || true
    - ref_using_main=$(echo $CI_COMMIT_MESSAGE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true
    # write to temporary file as workaround for failures observed with piping echo
    - echo $CI_COMMIT_MESSAGE > tmp.txt    
    - non_be_flag=$(grep -c --ignore-case "\[non[ -]*be\]" tmp.txt) || true
    - ref_using_main=$(grep -c --ignore-case "\[ref[ -]*using[ -]*main\]" tmp.txt) || true

    ### re-checkout the latest commit in the main branch, if ref_using_main is not set
    - if [ $ref_using_main == 0 ]; then git checkout $latest_commit;fi
+9 −4
Original line number Diff line number Diff line
@@ -75,10 +75,14 @@ if [ $BUILD -eq 1 ];then

fi

# prepare combined format test signals
echo "\n======================= 0. preparing combined format test inputs =======================\n\n"
./scripts/prepare_combined_format_inputs.py

# run all modes vanilla-fashion
# treat ISM modes separately because passing the metadata files to MASA modes causes crashes
ism_modes=$(./scripts/runIvasCodec.py -l | grep ISM)
non_ism_modes=$(./scripts/runIvasCodec.py -l | grep -v ISM)
ism_modes=$(./scripts/runIvasCodec.py -l | grep ^ISM)
non_ism_modes=$(./scripts/runIvasCodec.py -l | grep -v ^ISM)
echo "\n======================= 1. non-ism modes no FEC =======================\n\n"
./scripts/runIvasCodec.py -m $non_ism_modes -p $cfg $duration_arg $WORKERS | tee smoke_test_output.txt
echo "\n======================= 2. ism modes no FEC =======================\n\n"
@@ -88,8 +92,9 @@ echo "\n======================= 3. all modes with FEC =======================\n\
./scripts/runIvasCodec.py -p $cfg $duration_arg $WORKERS -D="-fec 15" --decoder_only | tee smoke_test_output_plc.txt

# run JBM modes - EXT is excluded as not supported yet
modes_with_no_ext_out=$(./scripts/runIvasCodec.py -l | grep -v MASA | grep -v ISM)
modes_with_ext_out=$(./scripts/runIvasCodec.py -l | grep 'MASA\|ISM' | grep -v ISM+)
# OMASA disabled for now
modes_with_no_ext_out=$(./scripts/runIvasCodec.py -l | grep -v ^MASA | grep -v ^ISM | grep -v OMASA)
modes_with_ext_out=$(./scripts/runIvasCodec.py -l | grep 'MASA\|ISM' | grep -v ^ISM+ | grep -v OMASA)
echo "\n======================= 4. JBM, modes with no EXT =======================\n\n"
./scripts/runIvasCodec.py -m $modes_with_no_ext_out -p $cfg $duration_arg $WORKERS --decoder_only --jbm_file $dly_profile | tee smoke_test_output_jbm_noEXT.txt
echo "\n======================= 5. JBM, modes with EXT =======================\n\n"
+33 −19
Original line number Diff line number Diff line
@@ -4121,22 +4121,36 @@ static int16_t getCldfbRendFlag(
    IVAS_REND_HANDLE hIvasRend, /* i: Renderer handle               */
    IVAS_REND_AudioConfigType new_config )
{
    int16_t isMasaInputPresent, isSbaInputPresent, isISMInputPresent, isMCInputPresent, isCldfbRend;
    int16_t i;
    int16_t numMasaInputs = 0, numSbaInputs = 0, numIsmInputs = 0, numMcInputs = 0;
    int16_t isCldfbRend;

    isCldfbRend = 0;
    if ( hIvasRend->hRendererConfig != NULL )
    {
        isMasaInputPresent = ( hIvasRend->inputsMasa[0].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_MASA ) ? 0 : 1;
        isSbaInputPresent = ( hIvasRend->inputsSba[0].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS ) ? 0 : 1;
        isISMInputPresent = ( hIvasRend->inputsIsm[0].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED ) ? 0 : 1;
        isMCInputPresent = ( hIvasRend->inputsMc[0].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) ? 0 : 1;
        for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i )
        {
            numMasaInputs += ( hIvasRend->inputsMasa[i].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_MASA ) ? 0 : 1;
        }
        for ( i = 0; i < RENDERER_MAX_SBA_INPUTS; ++i )
        {
            numSbaInputs = ( hIvasRend->inputsSba[i].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS ) ? 0 : 1;
        }
        for ( i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i )
        {
            numIsmInputs = ( hIvasRend->inputsIsm[i].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED ) ? 0 : 1;
        }
        for ( i = 0; i < RENDERER_MAX_MC_INPUTS; ++i )
        {
            numMcInputs = ( hIvasRend->inputsMc[i].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN && new_config != IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) ? 0 : 1;
        }

        if ( isISMInputPresent || isMCInputPresent )
        if ( numIsmInputs > 0 || numMcInputs > 0 )
        {
            isCldfbRend = 0;
        }
        else if ( ( isMasaInputPresent ) ||
                  ( isSbaInputPresent && hIvasRend->hRendererConfig->split_rend_config.rendererSelection == IVAS_SPLIT_REND_RENDERER_SELECTION_FASTCONV ) )
        else if ( ( numMasaInputs > 0 ) ||
                  ( numSbaInputs > 0 && hIvasRend->hRendererConfig->split_rend_config.rendererSelection == IVAS_SPLIT_REND_RENDERER_SELECTION_FASTCONV ) )
        {
            isCldfbRend = 1;
        }
+17 −1
Original line number Diff line number Diff line
@@ -20,6 +20,22 @@
        "ISM1": "/usr/local/testv/stv1ISM48s.wav",
        "ISM2": "/usr/local/testv/stv2ISM48s.wav",
        "ISM3": "/usr/local/testv/stv3ISM48s.wav",
        "ISM4": "/usr/local/testv/stv4ISM48s.wav"
        "ISM4": "/usr/local/testv/stv4ISM48s.wav",
        "OMASA_ISM1_1TC1DIR": "/usr/local/testv/stvOMASA_1ISM_1MASA1TC48c.wav",
        "OMASA_ISM1_1TC2DIR": "/usr/local/testv/stvOMASA_1ISM_2MASA1TC48c.wav",
        "OMASA_ISM1_2TC1DIR": "/usr/local/testv/stvOMASA_1ISM_1MASA2TC48c.wav",
        "OMASA_ISM1_2TC2DIR": "/usr/local/testv/stvOMASA_1ISM_2MASA2TC48c.wav",
        "OMASA_ISM2_1TC1DIR": "/usr/local/testv/stvOMASA_2ISM_1MASA1TC48c.wav",
        "OMASA_ISM2_1TC2DIR": "/usr/local/testv/stvOMASA_2ISM_2MASA1TC48c.wav",
        "OMASA_ISM2_2TC1DIR": "/usr/local/testv/stvOMASA_2ISM_1MASA2TC48c.wav",
        "OMASA_ISM2_2TC2DIR": "/usr/local/testv/stvOMASA_2ISM_2MASA2TC48c.wav",
        "OMASA_ISM3_1TC1DIR": "/usr/local/testv/stvOMASA_3ISM_1MASA1TC48c.wav",
        "OMASA_ISM3_1TC2DIR": "/usr/local/testv/stvOMASA_3ISM_2MASA1TC48c.wav",
        "OMASA_ISM3_2TC1DIR": "/usr/local/testv/stvOMASA_3ISM_1MASA2TC48c.wav",
        "OMASA_ISM3_2TC2DIR": "/usr/local/testv/stvOMASA_3ISM_2MASA2TC48c.wav",
        "OMASA_ISM4_1TC1DIR": "/usr/local/testv/stvOMASA_4ISM_1MASA1TC48c.wav",
        "OMASA_ISM4_1TC2DIR": "/usr/local/testv/stvOMASA_4ISM_2MASA1TC48c.wav",
        "OMASA_ISM4_2TC1DIR": "/usr/local/testv/stvOMASA_4ISM_1MASA2TC48c.wav",
        "OMASA_ISM4_2TC2DIR": "/usr/local/testv/stvOMASA_4ISM_2MASA2TC48c.wav"
    }
}
Loading