Commit 20225cf9 authored by vaclav's avatar vaclav
Browse files

Merge branch 'main' into SBA_DirAC_renderer_type_cleanup

parents 004a6482 9ee451e1
Loading
Loading
Loading
Loading
Loading
+31 −13
Original line number Diff line number Diff line
@@ -287,6 +287,7 @@ msan-on-merge-request-linux:
  needs: ["build-codec-sanitizers-linux"]
  script:
    - *print-common-info
    - python3 ci/disable_ram_counting.py
    - make clean
    - make -j CLANG=1
    - python3 scripts/self_test.py --create | tee test_output.txt
@@ -308,6 +309,7 @@ asan-on-merge-request-linux:
  needs: ["build-codec-sanitizers-linux"]
  script:
    - *print-common-info
    - python3 ci/disable_ram_counting.py
    - make clean
    - make -j CLANG=2
    - python3 scripts/self_test.py --create | tee test_output.txt
@@ -1078,6 +1080,12 @@ complexity-StereoDmxEVS-stereo-in-mono-out:
# Other jobs
# ---------------------------------------------------------------


# helper for pages job
.unzip-or-cat: &unzip-or-cat
  - unzip -t $ARTIFACTS >> /dev/null
  - if [ $? -eq 0 ]; then unzip -o $ARTIFACTS rm $ARTIFACTS; else cat $ARTIFACTS rm $ARTIFACTS; fi

# job that sets up gitlab pages website
# is run on a separate schedule and collects artifacts from other jobs (currently
# only the complexity measurements) multiple times a day
@@ -1094,39 +1102,49 @@ pages:
    - branch=$CI_COMMIT_REF_NAME

    - mkdir public
    - ARTIFACTS=artifacts.zip

    ### fetch artifacts from latest run of complexity jobs
    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip
    - cat artifacts_comp_stereo.zip
    - unzip -o artifacts_comp_stereo.zip
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-stereo-in-stereo-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out)
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip
    - unzip -o artifacts_comp_ism.zip
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-ism-in-binaural-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out)
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip
    - unzip -o artifacts_comp_sba.zip
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-sba-hoa3-in-hoa3-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out)
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip
    - unzip -o artifacts_comp_mc.zip
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-mc-in-7_1_4-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out)
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip
    - unzip -o artifacts_comp_masa.zip
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-masa-in-7_1_4-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out)
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip
    - unzip -o artifacts_comp_StereoDmxEVS.zip
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/

    - cp ci/index-pages.html public/index.html
+2 −13
Original line number Diff line number Diff line
@@ -71,14 +71,7 @@ static
    int32_t frame = 0; /* Counter of frames */

#define MIN_NUM_BITS_ACTIVE_FRAME  56
#ifdef REMOVE_SID_HARM_LEFTOVERS
#define NUM_BITS_SID_IVAS_5K2      104
#else
#define NUM_BITS_SID_IVAS_4K4  88
#define NUM_BITS_SID_IVAS_7K8  156
#define NUM_BITS_SID_IVAS_9K3  186
#define NUM_BITS_SID_IVAS_10K2 204
#endif
#define MAX_FRAME_SIZE             ( 48000 / 50 )
#define MAX_NUM_OUTPUT_CHANNELS    16
#define MAX_OUTPUT_PCM_BUFFER_SIZE ( MAX_NUM_OUTPUT_CHANNELS * MAX_FRAME_SIZE )
@@ -353,11 +346,7 @@ int main(
                fprintf( stderr, "\nError: input bitstream file %s couldn't be read\n\n", arg.inputBitstreamFilename );
                goto cleanup;
            }
#ifdef REMOVE_SID_HARM_LEFTOVERS
        } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_5K2 );
#else
        } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_4K4 || num_bits == NUM_BITS_SID_IVAS_7K8 || num_bits == NUM_BITS_SID_IVAS_9K3 || num_bits == NUM_BITS_SID_IVAS_10K2 );
#endif

        BS_Reader_Rewind( hBsReader );

+26 −10
Original line number Diff line number Diff line
@@ -1273,8 +1273,15 @@ static bool parseCmdlIVAS_enc(
            arg->inputFormat = IVAS_ENC_INPUT_ISM;
            i++;

            if ( i < argc - 5 )
            if ( i < argc - 4 )
            {
                if ( !is_digits_only( argv[i] ) )
                {
                    fprintf( stderr, "Error: Number of ISM channels must be an integer number!\n\n" );
                    usage_enc();
                    return false;
                }

                if ( sscanf( argv[i], "%d", &tmp ) > 0 )
                {
                    i++;
@@ -1286,6 +1293,12 @@ static bool parseCmdlIVAS_enc(
                    usage_enc();
                    return false;
                }
                else if ( tmp > IVAS_MAX_NUM_OBJECTS )
                {
                    fprintf( stderr, "Error: Too high number of ISM channels specified!\n\n" );
                    usage_enc();
                    return false;
                }
                else
                {
                    arg->inputFormatConfig.ism.numObjects = (int16_t) tmp;
@@ -1317,7 +1330,7 @@ static bool parseCmdlIVAS_enc(
                }
                else
                {
                    fprintf( stderr, "Error: not enough arguments\n\n" );
                    fprintf( stderr, "Error: not enough metadata arguments specified!\n\n" );
                    usage_enc();
                    return false;
                }
@@ -1329,17 +1342,14 @@ static bool parseCmdlIVAS_enc(
            arg->inputFormat = IVAS_ENC_INPUT_SBA;

            /* SBA configuration */
            if ( i < argc - 4 )
            {
                if ( sscanf( argv[i], "%d", &tmp ) > 0 )
            if ( i < argc - 4 && is_number( argv[i] ) && sscanf( argv[i], "%d", &tmp ) > 0 )
            {
                i++;
            }
            }
            else
            {
                tmp = -1; /* this is to avoid a compilation warning */
                fprintf( stderr, "Error: SBA order not specified!\n\n" );
                fprintf( stderr, "Error: SBA order must be specified, expecting a number!\n\n" );
                usage_enc();
                return false;
            }
@@ -1371,6 +1381,13 @@ static bool parseCmdlIVAS_enc(

            if ( i < argc - 4 )
            {
                if ( !is_digits_only( argv[i] ) )
                {
                    fprintf( stderr, "Error: Number of MASA channels must be an integer number!\n\n" );
                    usage_enc();
                    return false;
                }

                if ( sscanf( argv[i], "%d", &tmp ) > 0 )
                {
                    i++;
@@ -1385,7 +1402,7 @@ static bool parseCmdlIVAS_enc(
                        arg->inputFormatConfig.masaVariant = IVAS_ENC_MASA_2CH;
                        break;
                    default:
                        fprintf( stderr, "Error: MASA channels must for the moment be 1 or 2.\n\n" );
                        fprintf( stderr, "Error: MASA channels must be 1 or 2.\n\n" );
                        usage_enc();
                        return false;
                }
@@ -1410,7 +1427,6 @@ static bool parseCmdlIVAS_enc(

            if ( i < argc - 4 )
            {

                if ( strcmp( to_upper( argv[i] ), "5_1" ) == 0 )
                {
                    arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1;
+14 −43
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@
#include <stdio.h>
#include <string.h>

#ifdef EXT_RENDERER
#ifndef count_malloc
#ifdef RAM_COUNTING_TOOL
#define count_malloc( n1 )     MALLOC_FCT_CALL( n1 )
@@ -426,12 +425,8 @@ static int16_t getTotalNumInChannels(
    IVAS_REND_HANDLE hIvasRend,
    IVAS_REND_InputId mcIds[RENDERER_MAX_MC_INPUTS],
    IVAS_REND_InputId ismIds[RENDERER_MAX_ISM_INPUTS],
    IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS]
#ifdef NOKIA_MASA_EXTERNAL_RENDERER
    ,
    IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS]
#endif
)
    IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS],
    IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS] )
{
    int16_t totalNumInChannels = 0;
    int16_t i, numInputChannels;
@@ -486,7 +481,6 @@ static int16_t getTotalNumInChannels(
        totalNumInChannels += numInputChannels;
    }

#ifdef NOKIA_MASA_EXTERNAL_RENDERER
    for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i )
    {
        if ( masaIds[i] == 0 )
@@ -502,7 +496,6 @@ static int16_t getTotalNumInChannels(
        }
        totalNumInChannels += numInputChannels;
    }
#endif

    return totalNumInChannels;
}
@@ -676,9 +669,7 @@ int main(
    IVAS_REND_InputId mcIds[RENDERER_MAX_MC_INPUTS] = { 0 };
    IVAS_REND_InputId ismIds[RENDERER_MAX_ISM_INPUTS] = { 0 };
    IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS] = { 0 };
#ifdef NOKIA_MASA_EXTERNAL_RENDERER
    IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS] = { 0 };
#endif

    if ( ( error = IVAS_REND_Open( &hIvasRend, args.sampleRate, args.outConfig.audioConfig ) ) != IVAS_ERR_OK )
    {
@@ -787,7 +778,6 @@ int main(
        }
    }

#ifdef NOKIA_MASA_EXTERNAL_RENDERER
    for ( i = 0; i < args.inConfig.numMasaBuses; ++i )
    {
        if ( ( error = IVAS_REND_AddInput( hIvasRend, args.inConfig.masaBuses[i].audioConfig, &masaIds[i] ) ) != IVAS_ERR_OK )
@@ -802,13 +792,8 @@ int main(
            exit( -1 );
        }
    }
#endif

#ifdef NOKIA_MASA_EXTERNAL_RENDERER
    const int16_t totalNumInChannels = getTotalNumInChannels( hIvasRend, mcIds, ismIds, sbaIds, masaIds );
#else
    const int16_t totalNumInChannels = getTotalNumInChannels( hIvasRend, mcIds, ismIds, sbaIds );
#endif

    if ( AudioFileReader_getNumChannels( audioReader ) != 0 /* If input file is raw PCM, audio reader has no info about number of channels */
         && totalNumInChannels != AudioFileReader_getNumChannels( audioReader ) )
@@ -905,18 +890,6 @@ int main(
        }
#endif

#ifndef NOKIA_MASA_EXTERNAL_RENDERER
        for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i )
        {
            if ( masaReaders[i] != NULL )
            {
                MasaFileReader_readNextFrame( masaReaders[i] );
                /* TODO: Feed MASA metadata here once MASA inputs are supported.
                         For now avoid unused var warning */
                (void) hMasaMetadata;
            }
        }
#endif

        ObjectPositionBuffer mtdBuffer;
        IsmPositionProvider_getNextFrame( positionProvider, &mtdBuffer );
@@ -982,7 +955,6 @@ int main(
            }
        }

#ifdef NOKIA_MASA_EXTERNAL_RENDERER
        for ( i = 0; i < args.inConfig.numMasaBuses; ++i )
        {
            if ( ( error = IVAS_REND_GetInputNumChannels( hIvasRend, masaIds[i], &numChannels ) ) != IVAS_ERR_OK )
@@ -1010,7 +982,6 @@ int main(
                }
            }
        }
#endif

        IVAS_REND_GetSamples( hIvasRend, outBuffer );

@@ -2461,6 +2432,7 @@ static void convertOutputBuffer(
    int16_t *intBuffer )
{
    int16_t chnl, smpl, i;
    float temp;

    i = 0;

@@ -2468,7 +2440,17 @@ static void convertOutputBuffer(
    {
        for ( chnl = 0; chnl < numChannels; ++chnl )
        {
            intBuffer[i] = (int16_t) roundf( floatBuffer[chnl * numSamplesPerChannel + smpl] );
            temp = floatBuffer[chnl * numSamplesPerChannel + smpl];
            temp = (float) floor( temp + 0.5f );
            if ( temp > MAX16B_FLT )
            {
                temp = MAX16B_FLT;
            }
            else if ( temp < MIN16B_FLT )
            {
                temp = MIN16B_FLT;
            }
            intBuffer[i] = (int16_t) temp;

            ++i;
        }
@@ -2476,14 +2458,3 @@ static void convertOutputBuffer(

    return;
}
#else
int main(
    int argc,
    char **argv )
{
    (void) argc;
    (void) argv;
    fprintf( stderr, "Enable EXT_RENDERER in options.h to use the external renderer.\n" );
    return 0;
}
#endif
+0 −3
Original line number Diff line number Diff line
@@ -62,9 +62,6 @@ def collect_for_sanitizer_test(file):
    )
    files_to_archive = find_failed_files_for_sanitizer_test(console_log, "logs")

    print("files_to_archive_noPLC:", files_to_archive_noPLC)
    print("files_to_archive:", files_to_archive)

    log_folder = pathlib.Path("./LOGS_PLC")
    log_folder.mkdir()
    for test in files_to_archive.keys():
Loading