Commit e3019d47 authored by Manuel Jander's avatar Manuel Jander
Browse files

Merge remote-tracking branch 'origin/main' into...

Merge remote-tracking branch 'origin/main' into 1010-complexity-high-complexity-overhead-for-parammc-decoding
parents 0f364fcb 12778592
Loading
Loading
Loading
Loading
Loading
+65 −21
Original line number Diff line number Diff line
@@ -1205,6 +1205,9 @@ voip-be-on-merge-request:

  - job_id=$(python3 ci/get_id_of_last_job_occurence.py $CI_COMMIT_REF_NAME $CI_JOB_NAME $CI_PROJECT_ID)
  - echo $job_id
  # this is a testing/maintenance mechanism to force getting the log history from a specific job id
  # see below in the concrete complexity jobs
  - if [ "$JOB_ID_INJECT" != "" ]; then job_id=$JOB_ID_INJECT; fi
  - curl --request GET "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts.zip
  - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html
  - ls
@@ -1219,7 +1222,9 @@ voip-be-on-merge-request:
  - job_id=$(python3 ci/get_id_of_last_job_occurence.py ivas-float-update $CI_JOB_NAME $CI_PROJECT_ID)
  - echo $job_id
  - curl --request GET "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts_ref.zip
  - unzip -j artifacts_ref.zip "*latest_WMOPS.csv"
  - unzip -j artifacts_ref.zip "*latest_WMOPS.csv" || true
  # add file to arguments only if the artifact could be retrieved to prevent error later.
  - if [ -f latest_WMOPS.csv ]; then GET_WMOPS_ARGS="$GET_WMOPS_ARGS latest_WMOPS.csv"; fi

.complexity-measurements-prepare-artifacts:
  &complexity-measurements-prepare-artifacts # prepare artifacts -> move to public directory
@@ -1247,6 +1252,7 @@ voip-be-on-merge-request:
  stage: test
  variables:
    ret_val: 0
    GET_WMOPS_ARGS: "mem_only basop"
  timeout: 3 hours 30 minutes
  before_script:
    - *print-common-info
@@ -1267,10 +1273,12 @@ complexity-stereo-in-stereo-out:
    - .complexity-template
  rules:
    - if: $MEASURE_COMPLEXITY_LINUX
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=stereo
    - out_format=stereo
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1281,11 +1289,13 @@ complexity-ism-in-binaural-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 1 hour
  variables:
    JOB_ID_INJECT: ""
  script:
    - 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" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1296,11 +1306,13 @@ complexity-ism-in-binaural_room_ir-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 2 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - 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" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1311,11 +1323,13 @@ complexity-ism-in-ext-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 3 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  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" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1326,11 +1340,13 @@ complexity-sba-hoa3-in-hoa3-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 4 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=HOA3
    - out_format=HOA3
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1341,11 +1357,13 @@ complexity-sba-hoa3-in-binaural-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 5 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=HOA3
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1356,11 +1374,13 @@ complexity-sba-hoa3-in-binaural_room_ir-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 6 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=HOA3
    - out_format=BINAURAL_ROOM_IR
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1371,11 +1391,13 @@ complexity-mc-in-7_1_4-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 7 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MC
    - out_format=7_1_4
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1386,11 +1408,13 @@ complexity-mc-in-binaural-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 10 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MC
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1401,11 +1425,13 @@ complexity-mc-in-binaural_room_ir-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 12 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MC
    - out_format=BINAURAL_ROOM_IR
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1416,11 +1442,13 @@ complexity-masa-in-ext-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 15 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MASA
    - out_format=EXT
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1431,11 +1459,13 @@ complexity-masa-in-binaural-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 16 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MASA
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1446,11 +1476,13 @@ complexity-masa-in-hoa3-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 17 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MASA
    - out_format=HOA3
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1461,11 +1493,13 @@ complexity-masa-in-hoa3-out:
#     - if: $MEASURE_COMPLEXITY_LINUX
#       when: delayed
#       start_in: 13 hours
  # variables:
  #   JOB_ID_INJECT: ""
#   script:
#     - in_format=OMASA
#     - out_format=EXT
#     - ret_val=0
#     - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
#     - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
#     - *complexity-measurements-prepare-artifacts
#     - exit $ret_val

@@ -1476,11 +1510,13 @@ complexity-omasa-in-binaural-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 18 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OMASA
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1491,11 +1527,13 @@ complexity-omasa-in-hoa3-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 20 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OMASA
    - out_format=HOA3
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1506,11 +1544,13 @@ complexity-StereoDmxEVS-stereo-in-mono-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 22 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=StereoDmxEVS
    - out_format=mono
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1525,7 +1565,7 @@ complexity-StereoDmxEVS-stereo-in-mono-out:
#     - in_format=OSBA
#     - out_format=EXT
#     - ret_val=0
#     - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
#     - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
#     - *complexity-measurements-prepare-artifacts
#     - exit $ret_val

@@ -1536,11 +1576,13 @@ complexity-osba-in-binaural-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 22 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OSBA
    - out_format=BINAURAL
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

@@ -1551,11 +1593,13 @@ complexity-osba-in-binaural_room_ir-out:
    - if: $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 25 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OSBA
    - out_format=BINAURAL_ROOM_IR
    - ret_val=0
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" mem_only basop latest_WMOPS.csv || ret_val=$?
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

+48 −0
Original line number Diff line number Diff line
@@ -655,6 +655,10 @@ int main(
        lfeRoutingConfigs[i] = NULL;
    }

#ifdef FIX_DISCLAIMER
    IVAS_REND_PrintDisclaimer();

#endif
    CmdlnArgs args = parseCmdlnArgs( argc, argv );

    if ( args.nonDiegeticPan && !( ( args.inConfig.numAudioObjects == 0 && args.inConfig.multiChannelBuses[0].audioConfig == IVAS_AUDIO_CONFIG_MONO ) ||
@@ -816,6 +820,50 @@ int main(
        exit( -1 );
    }

#ifdef FIX_DISCLAIMER
    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 );
    }

#endif
    /* === Configure === */
    if ( ( error = IVAS_REND_InitConfig( hIvasRend, args.outConfig.audioConfig ) ) != IVAS_ERR_OK )
    {
+4 −0
Original line number Diff line number Diff line
@@ -44,7 +44,11 @@ int16_t print_disclaimer( FILE *fPtr )
{

    fprintf( fPtr, "\n==================================================================================================\n" );
#ifdef FIX_DISCLAIMER
    fprintf( fPtr, " IVAS Codec BASOP Baseline\n" );
#else
    fprintf( fPtr, " IVAS Codec Baseline\n" );
#endif
    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" );
+2 −2
Original line number Diff line number Diff line
@@ -3535,12 +3535,12 @@ void distribute_evenly_ism(
);


int16_t ivas_qmetadata_encode_extended_gr_length(
int16_t ivas_qmetadata_encode_extended_gr_length_fx(
    const uint16_t value,
    const uint16_t alphabet_size,
    const int16_t gr_param);

void ivas_qmetadata_encode_extended_gr(
void ivas_qmetadata_encode_extended_gr_fx(
    BSTR_ENC_HANDLE hMetaData,                                 /* i/o: q_metadata handle                                */
    const uint16_t value,                                      /* i  : value to be encoded                              */
    const uint16_t alphabet_size,                              /* i  : alphabet size                                    */
+6 −7
Original line number Diff line number Diff line
@@ -4638,8 +4638,7 @@ Word32 lin_interp32_fx(
    const Word32 y1,      /* i  : source range interval: high end              */
    const Word32 x2,      /* i  : target range interval: low                   */
    const Word32 y2,      /* i  : target range interval: high                  */
    const Word16 flag_sat, /* i  : flag to indicate whether to apply saturation */
    Word16 *Q_io           /*i/o : i/o Q factor of the output*/
    const Word16 flag_sat /* i  : flag to indicate whether to apply saturation */
);

void v_addc_fx(
Loading