Commit fb795758 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

update as per latest ivas-float-update branch

parents c0d66be5 1c431135
Loading
Loading
Loading
Loading
Loading
+36 −47
Original line number Diff line number Diff line
@@ -131,7 +131,6 @@ stages:
- git restore .
- git checkout $current_commit_sha


.build-reference-and-dut-binaries: &build-reference-and-dut-binaries
### build reference binaries
  - *build-reference-binaries
@@ -1166,21 +1165,11 @@ voip-be-on-merge-request:
  - rm artifacts.zip
  - rm -rf $public_dir

  ### 2. part: setup specific for BASOP repo
  # hack for using the reference encoder -> need to build manually to make script use ref enc and BASOP dec
  - mkdir COMPLEXITY
  - cp IVAS_cod_ref COMPLEXITY/IVAS_cod
  # build branch code aain with instrumentation
  - make clean
  - bash scripts/prepare_instrumentation.sh -p BASOP -m MEM_ONLY
  - make -j -C $INSTR_DIR
  - cp $INSTR_DIR/IVAS_dec COMPLEXITY/IVAS_dec

.complexity-measurements-prepare-artifacts:
  &complexity-measurements-prepare-artifacts # prepare artifacts -> move to public directory
  - public_dir="$CI_JOB_NAME-public"
  - mkdir $public_dir
  - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/
  - mv -f wmops/log_*_all.txt ./*.js ${public_dir}/
  # move logfiles for links
  - mkdir $public_dir/logs
  # first move logs
@@ -1188,6 +1177,7 @@ voip-be-on-merge-request:
  - echo $log_files
  - ls wmops/logs
  - for f in $log_files; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done
  - mv wmops/logs/latest_WMOPS.csv $public_dir/logs/
  # copy index page blueprint
  - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html
  # patch the format in the title
@@ -1207,7 +1197,6 @@ voip-be-on-merge-request:
    - *print-common-info
    - *update-scripts-repo
    - *update-ltv-repo
    - *build-reference-and-dut-binaries
    - *complexity-measurements-setup
    - which coan
  artifacts:
@@ -1225,7 +1214,7 @@ complexity-stereo-in-stereo-out:
  script:
    - in_format=stereo
    - out_format=stereo
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1240,7 +1229,7 @@ complexity-ism-in-binaural-out:
    - in_format=ISM
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1255,7 +1244,7 @@ complexity-ism-in-binaural_room_ir-out:
    - in_format=ISM
    - out_format=BINAURAL_ROOM_IR
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1265,12 +1254,12 @@ complexity-ism-in-ext-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 3 hours 30 minutes
      start_in: 3 hours
  script:
    - in_format=ISM
    - out_format=EXT
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1280,12 +1269,12 @@ complexity-sba-hoa3-in-hoa3-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 4 hours 30 minutes
      start_in: 4 hours
  script:
    - in_format=HOA3
    - out_format=HOA3
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1295,12 +1284,12 @@ complexity-sba-hoa3-in-binaural-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 5 hours 30 minutes
      start_in: 5 hours
  script:
    - in_format=HOA3
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1310,12 +1299,12 @@ complexity-sba-hoa3-in-binaural_room_ir-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 6 hours 30 minutes
      start_in: 6 hours
  script:
    - in_format=HOA3
    - out_format=BINAURAL_ROOM_IR
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1325,12 +1314,12 @@ complexity-mc-in-7_1_4-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 7 hours 30 minutes
      start_in: 7 hours
  script:
    - in_format=MC
    - out_format=7_1_4
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1340,12 +1329,12 @@ complexity-mc-in-binaural-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 10 hours
      start_in: 8 hours
  script:
    - in_format=MC
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1355,12 +1344,12 @@ complexity-mc-in-binaural_room_ir-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 12 hours 30 minutes
      start_in: 9 hours
  script:
    - in_format=MC
    - out_format=BINAURAL_ROOM_IR
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1370,12 +1359,12 @@ complexity-masa-in-ext-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 15 hours
      start_in: 10 hours
  script:
    - in_format=MASA
    - out_format=EXT
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1385,12 +1374,12 @@ complexity-masa-in-binaural-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 16 hours
      start_in: 11 hours
  script:
    - in_format=MASA
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1400,12 +1389,12 @@ complexity-masa-in-hoa3-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 17 hours
      start_in: 12 hours
  script:
    - in_format=MASA
    - out_format=HOA3
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1420,7 +1409,7 @@ complexity-masa-in-hoa3-out:
#     - in_format=OMASA
#     - out_format=EXT
#     - ret_val=0
#     - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
#     - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
#     - *complexity-measurements-prepare-artifacts
#     - exit $ret_val

@@ -1430,12 +1419,12 @@ complexity-omasa-in-binaural-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 18 hours
      start_in: 14 hours
  script:
    - in_format=OMASA
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1445,12 +1434,12 @@ complexity-omasa-in-hoa3-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 20 hours
      start_in: 15 hours
  script:
    - in_format=OMASA
    - out_format=HOA3
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1460,12 +1449,12 @@ complexity-StereoDmxEVS-stereo-in-mono-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 22 hours
      start_in: 16 hours
  script:
    - in_format=StereoDmxEVS
    - out_format=mono
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" full basop || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1490,7 +1479,7 @@ complexity-osba-in-binaural-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 22 hours 30 minutes
      start_in: 18 hours
  script:
    - in_format=OSBA
    - out_format=BINAURAL
@@ -1505,7 +1494,7 @@ complexity-osba-in-binaural_room_ir-out:
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 25 hours
      start_in: 19 hours
  script:
    - in_format=OSBA
    - out_format=BINAURAL_ROOM_IR
@@ -1526,7 +1515,7 @@ pages:
    - *update-scripts-repo
    - python3 ci/setup_pages.py
    - ls
    - ls -lh public
    - ls public
  artifacts:
    paths:
      - public
+48 −0
Original line number Diff line number Diff line
@@ -746,6 +746,8 @@ int main(
        lfeRoutingConfigs[i] = NULL;
    }

    IVAS_REND_PrintDisclaimer();

    CmdlnArgs args = parseCmdlnArgs( argc, argv );

    if ( args.nonDiegeticPan && !( ( args.inConfig.numAudioObjects == 0 && args.inConfig.multiChannelBuses[0].audioConfig == IVAS_AUDIO_CONFIG_MONO ) ||
@@ -869,6 +871,7 @@ int main(

    int32_t inFileSampleRate = 0;
    error = AudioFileReader_getSamplingRate( audioReader, &inFileSampleRate );

    switch ( error )
    {
        case IVAS_ERR_OK:
@@ -912,6 +915,48 @@ int main(
        exit( -1 );
    }

    fprintf( stdout, "Input audio file:       %s\n", args.inputFilePath );
    fprintf( stdout, "Output audio file:      %s\n\n", args.outputFilePath );

    if ( args.inConfig.numAudioObjects > 0 )
    {
        if ( args.inConfig.numAudioObjects == 1 )
        {
            IVAS_REND_PrintInputConfig( IVAS_AUDIO_CONFIG_ISM1 );
        }
        else if ( args.inConfig.numAudioObjects == 2 )
        {
            IVAS_REND_PrintInputConfig( IVAS_AUDIO_CONFIG_ISM2 );
        }
        else if ( args.inConfig.numAudioObjects == 3 )
        {
            IVAS_REND_PrintInputConfig( IVAS_AUDIO_CONFIG_ISM3 );
        }
        else if ( args.inConfig.numAudioObjects == 4 )
        {
            IVAS_REND_PrintInputConfig( IVAS_AUDIO_CONFIG_ISM4 );
        }
    }
    for ( i = 0; i < args.inConfig.numMultiChannelBuses; i++ )
    {
        IVAS_REND_PrintInputConfig( args.inConfig.multiChannelBuses[i].audioConfig );
    }
    for ( i = 0; i < args.inConfig.numMasaBuses; i++ )
    {
        IVAS_REND_PrintInputConfig( args.inConfig.masaBuses[i].audioConfig );
    }
    for ( i = 0; i < args.inConfig.numAmbisonicsBuses; i++ )
    {
        IVAS_REND_PrintInputConfig( args.inConfig.ambisonicsBuses[i].audioConfig );
    }

    if ( ( error = IVAS_REND_PrintConfig( hIvasRend ) ) != IVAS_ERR_OK )
    {
        fprintf( stderr, "\n IVAS_REND_PrintConfig failed: %s\n\n", ivas_error_to_string( error ) );
        // goto cleanup;
        exit( -1 );
    }

    /* === Configure === */
    if ( ( error = IVAS_REND_InitConfig( hIvasRend, args.outConfig.audioConfig ) ) != IVAS_ERR_OK )
    {
@@ -1419,6 +1464,7 @@ int main(
        const bool isCurrentFrameMultipleOf20ms = frame % ( 4 / args.render_framesize ) == 0;

        numSamplesRead = 0;

        /* Read the input data */
        if ( ( error = AudioFileReader_read( audioReader, inpInt16Buffer, (int16_t) inBufferSize, &numSamplesRead ) ) != IVAS_ERR_OK )
        {
@@ -1741,6 +1787,7 @@ int main(
            {
                delayNumSamples -= (int16_t) ( outBufferSize / num_out_channels );
            }

#ifdef SPLIT_REND_WITH_HEAD_ROT
        }

@@ -1748,6 +1795,7 @@ int main(
        bitsBuffer.config.bitsWritten = 0;
#endif


        /* Write MASA metadata for MASA outputs */
        if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_MASA1 || args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_MASA2 )
        {
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ int16_t print_disclaimer( FILE *fPtr )
{

    fprintf( fPtr, "\n==================================================================================================\n" );
    fprintf( fPtr, " IVAS Codec Baseline\n" );
    fprintf( fPtr, " \n IVAS Codec Version IVAS-FL-1.0\n" );
    fprintf( fPtr, " \n" );
    fprintf( fPtr, " Based on EVS Codec (Floating Point) 3GPP TS26.443 Nov 04, 2021,\n" );
    fprintf( fPtr, " Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0\n" );
+5 −0
Original line number Diff line number Diff line
@@ -305,6 +305,11 @@ ivas_error ivas_output_buff_dec(
    const int16_t nchan_out_buff                                /* i  : number of output channels               */
);


ivas_error get_channel_config(
    const AUDIO_CONFIG config,
    char *str );

ivas_error stereo_dmx_evs_init_encoder(
    STEREO_DMX_EVS_ENC_HANDLE *hStereoDmxEVS,                   /* o  : Stereo downmix for EVS encoder handle   */
    const int32_t input_Fs                                      /* i  : input sampling rate                     */
+12 −100
Original line number Diff line number Diff line
@@ -30,6 +30,9 @@

*******************************************************************************************************/

#include <math.h>
#include <assert.h>
#include <string.h>
#include "lib_dec.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
@@ -40,9 +43,6 @@
#include "jbm_jb4sb.h"
#include "jbm_pcmdsp_apa.h"
#include "jbm_pcmdsp_fifo.h"
#include <math.h>
#include <assert.h>
#include <string.h>
#ifdef DEBUGGING
#include "debug.h"
#endif
@@ -1092,7 +1092,8 @@ ivas_error IVAS_DEC_GetSamples(
 *
 *---------------------------------------------------------------------*/

ivas_error IVAS_DEC_GetSplitBinauralBitstream(
ivas_error
IVAS_DEC_GetSplitBinauralBitstream(
    IVAS_DEC_HANDLE hIvasDec,                 /* i/o: IVAS decoder handle                                                     */
    void *pcmBuf_out,                         /* o  : output synthesis signal for BINAURAL_SPLIT_PCM                          */
    ISAR_SPLIT_REND_BITS_DATA *splitRendBits, /* o  : output split rendering bits                                             */
@@ -1279,7 +1280,6 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream(
}
#endif


/*---------------------------------------------------------------------*
 * IVAS_DEC_Setup( )
 *
@@ -2880,95 +2880,6 @@ const char *IVAS_DEC_GetErrorMessage(
}


/*---------------------------------------------------------------------*
 * get_channel_config()
 *
 * Gets a str related to input config
 *---------------------------------------------------------------------*/

static ivas_error get_channel_config(
    AUDIO_CONFIG config,
    char *str )
{
    if ( config == IVAS_AUDIO_CONFIG_MONO )
    {
        strcpy( str, "Mono" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_STEREO )
    {
        strcpy( str, "Stereo" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_5_1 )
    {
        strcpy( str, "Multichannel 5.1 (CICP6)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_7_1 )
    {
        strcpy( str, "Multichannel 7.1 (CICP12)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_5_1_2 )
    {
        strcpy( str, "Multichannel 5.1+2 (CICP14)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_5_1_4 )
    {
        strcpy( str, "Multichannel 5.1+4 (CICP16)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_7_1_4 )
    {
        strcpy( str, "Multichannel 7.1+4 (CICP19)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_LS_CUSTOM )
    {
        strcpy( str, "Multichannel (custom loudspeaker layout)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_FOA )
    {
        strcpy( str, "Ambisonics: First Order (FOA)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_HOA2 )
    {
        strcpy( str, "Ambisonics: Second Order (HOA2)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_HOA3 )
    {
        strcpy( str, "Ambisonics: Third Order (HOA3)" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_BINAURAL )
    {
        strcpy( str, "Binaural: no room" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR )
    {
        strcpy( str, "Binaural: room with impulse responses" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
    {
        strcpy( str, "Binaural: room with reverb" );
    }
#ifdef SPLIT_REND_WITH_HEAD_ROT
    else if ( config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED )
    {
        strcpy( str, "BINAURAL_SPLIT_CODED" );
    }
    else if ( config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
    {
        strcpy( str, "Binaural_Split_PCM" );
    }
#endif
    else if ( config == IVAS_AUDIO_CONFIG_EXTERNAL )
    {
        strcpy( str, "External renderer" );
    }
    else
    {
        return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Error: Incorrect Input/Output Configuration" );
    }

    return IVAS_ERR_OK;
}


/*---------------------------------------------------------------------*
 * printConfigInfo_dec( )
 *
@@ -3666,7 +3577,8 @@ static ivas_error IVAS_DEC_VoIP_reconfigure(
 *
 *---------------------------------------------------------------------*/

ivas_error IVAS_DEC_GetSplitRendBitstreamHeader(
ivas_error
IVAS_DEC_GetSplitRendBitstreamHeader(
    IVAS_DEC_HANDLE hIvasDec,                             /* i/o: IVAS decoder handle                                                     */
    ISAR_SPLIT_REND_CODEC *pCodec,                        /* o: pointer to codec setting                */
    ISAR_SPLIT_REND_POSE_CORRECTION_MODE *poseCorrection, /* o: pointer to pose correction mode                */
Loading