Loading .gitlab-ci.yml +36 −47 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading @@ -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: Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -1526,7 +1515,7 @@ pages: - *update-scripts-repo - python3 ci/setup_pages.py - ls - ls -lh public - ls public artifacts: paths: - public Loading apps/renderer.c +48 −0 Original line number Diff line number Diff line Loading @@ -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 ) || Loading Loading @@ -869,6 +871,7 @@ int main( int32_t inFileSampleRate = 0; error = AudioFileReader_getSamplingRate( audioReader, &inFileSampleRate ); switch ( error ) { case IVAS_ERR_OK: Loading Loading @@ -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 ) { Loading Loading @@ -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 ) { Loading Loading @@ -1741,6 +1787,7 @@ int main( { delayNumSamples -= (int16_t) ( outBufferSize / num_out_channels ); } #ifdef SPLIT_REND_WITH_HEAD_ROT } Loading @@ -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 ) { Loading lib_com/disclaimer.c +1 −1 Original line number Diff line number Diff line Loading @@ -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" ); Loading lib_com/ivas_prot.h +5 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading lib_dec/lib_dec.c +12 −100 Original line number Diff line number Diff line Loading @@ -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" Loading @@ -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 Loading Loading @@ -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 */ Loading Loading @@ -1279,7 +1280,6 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( } #endif /*---------------------------------------------------------------------* * IVAS_DEC_Setup( ) * Loading Loading @@ -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( ) * Loading Loading @@ -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 Loading
.gitlab-ci.yml +36 −47 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading @@ -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: Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -1526,7 +1515,7 @@ pages: - *update-scripts-repo - python3 ci/setup_pages.py - ls - ls -lh public - ls public artifacts: paths: - public Loading
apps/renderer.c +48 −0 Original line number Diff line number Diff line Loading @@ -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 ) || Loading Loading @@ -869,6 +871,7 @@ int main( int32_t inFileSampleRate = 0; error = AudioFileReader_getSamplingRate( audioReader, &inFileSampleRate ); switch ( error ) { case IVAS_ERR_OK: Loading Loading @@ -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 ) { Loading Loading @@ -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 ) { Loading Loading @@ -1741,6 +1787,7 @@ int main( { delayNumSamples -= (int16_t) ( outBufferSize / num_out_channels ); } #ifdef SPLIT_REND_WITH_HEAD_ROT } Loading @@ -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 ) { Loading
lib_com/disclaimer.c +1 −1 Original line number Diff line number Diff line Loading @@ -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" ); Loading
lib_com/ivas_prot.h +5 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading
lib_dec/lib_dec.c +12 −100 Original line number Diff line number Diff line Loading @@ -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" Loading @@ -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 Loading Loading @@ -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 */ Loading Loading @@ -1279,7 +1280,6 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( } #endif /*---------------------------------------------------------------------* * IVAS_DEC_Setup( ) * Loading Loading @@ -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( ) * Loading Loading @@ -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