Commit 330dd957 authored by fotopoulou's avatar fotopoulou
Browse files

Merge branch 'main' into fix_issue_1329_alt

parents 121988a4 e5c6f952
Loading
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -1083,7 +1083,18 @@ int main(
            fprintf( stderr, "\nFailed to read renderer configuration from file %s\n", args.renderConfigFilePath );
            goto cleanup;
        }

#ifdef NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND
        if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, args.directivityPatternId, renderConfig.directivity ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", args.directivityPatternId[0], args.directivityPatternId[1], args.directivityPatternId[2], args.directivityPatternId[3] );
            goto cleanup;
        }
        if ( ( error = RenderConfigReader_getDistanceAttenuation( renderConfigReader, renderConfig.distAtt ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "Failed to get Distance Attenuation \n\n" );
            goto cleanup;
        }
#endif
        if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
        {
            aeID = args.aeSequence.count > 0 ? args.aeSequence.pID[0] : 65535;
+23 −28
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ else
  usage
fi


cfg=./scripts/config/ci_linux.json
dly_profile=./scripts/dly_error_profiles/dly_error_profile_10_smoke_test.dat
ism_md_cmd="--ism_metadata_files /usr/local/ltv/ltvISM1.csv /usr/local/ltv/ltvISM2.csv /usr/local/ltv/ltvISM3.csv /usr/local/ltv/ltvISM4.csv"
@@ -77,10 +76,6 @@ if [ $BUILD -eq 1 ];then

fi

# prepare combined format test signals
echo -e "\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
readarray -t ism_modes < <(./scripts/runIvasCodec.py -l | grep ISM)
+32 −37
Original line number Diff line number Diff line
@@ -61,10 +61,6 @@ duration_arg=""
complexity_cmd="--checks COMPLEXITY --create_complexity_tables"
max_num_workers="--max_workers $MAX_CORES"

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

# Modes
mono_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^mono)
FOA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^FOA)
@@ -91,7 +87,6 @@ ISM_plus2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+2)
ISM_plus3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+3)
ISM_plus4_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+4)


echo "\n======================= 1. Mono =======================\n\n"
./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_mono_no_fec -m $mono_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_mono.txt
rm -r ./COMPLEXITY/dec/
+1 −0
Original line number Diff line number Diff line
@@ -176,6 +176,7 @@
#define NONBE_1250_MCMASA_LS_OUTPUT                     /* VA: issue 1250: fix crash in McMASA to custom LS output decoding */
#define NONBE_1302_FIX_OMASA_JBM_FLUSH                  /* VA: issue 1302: fix OMASA JBM bitrate switching flush in binaural output */
#define NONBE_1324_TC_BUFFER_MEMOERY_KEEP               /* VA: issue 1324: do not reset TSM memory in JBM bitrate switching */
#define NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND /* Eri: issue 1337: Missing directivity setting and distance attenuation in external renderer IVAS_rend */
#define NONBE_1329_FIX_OSBA_CRASH                       /* FhG: issue 1329: prevent assert when bit budget is low*/

/* ##################### End NON-BE switches ########################### */
+48 −55
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@
the United Nations Convention on Contracts on the International Sales of Goods.
"""


import errno
import os
import platform
@@ -42,7 +41,6 @@ import urllib
import urllib.parse

import numpy
import prepare_combined_format_inputs
import pyaudio3dtools
import pyivastest.constants as constants
import pyivastest.ivas_svn as svn
@@ -63,7 +61,16 @@ MODES = {
        "5_1_4": "5_1_4",
        "7_1_4": "7_1_4",
    },
    "-ISM": {"1": "ISM1", "2": "ISM2", "3": "ISM3", "4": "ISM4", "+1": "ISM+1", "+2": "ISM+2", "+3": "ISM+3", "+4": "ISM+4"},
    "-ISM": {
        "1": "ISM1",
        "2": "ISM2",
        "3": "ISM3",
        "4": "ISM4",
        "+1": "ISM+1",
        "+2": "ISM+2",
        "+3": "ISM+3",
        "+4": "ISM+4",
    },
    "-SBA": {
        "-3": "HOA3",
        "3": "HOA3",
@@ -198,7 +205,7 @@ class SelfTest(IvasScriptsCommon.IvasScript):
            help="Run the decoder under test with specified render framn size",
            default=20,
            choices=[5, 10, 20],
            type=int
            type=int,
        )
        if shutil.which("valgrind"):
            self.valgrind = [
@@ -522,7 +529,6 @@ class SelfTest(IvasScriptsCommon.IvasScript):

            # PESQ
            if self.run_pesq:

                pesq_success = True
                pesq_fs = min([16000, mode_dict["in_fs"], mode_dict["out_fs"]])
                in_nchans = constants.OC_TO_NCHANNELS[
@@ -564,11 +570,9 @@ class SelfTest(IvasScriptsCommon.IvasScript):
                    and not ref_condition_corrupt
                    and not ref_condition_run_error
                ):

                    fd_ref, decoded_item_ref_mono = tempfile.mkstemp(".pcm")
                    os.close(fd_ref)
                    if mode_dict["out_fs"] > pesq_fs or n_channels > 1:

                        pyaudio3dtools.audiofile.mono(
                            decoded_item_ref,
                            decoded_item_ref_mono,
@@ -629,7 +633,6 @@ class SelfTest(IvasScriptsCommon.IvasScript):
                    and not test_condition_corrupt
                    and not test_condition_run_error
                ):

                    fd_test, decoded_item_test_mono = tempfile.mkstemp((".pcm"))
                    os.close(fd_test)
                    if mode_dict["out_fs"] > pesq_fs or n_channels > 1:
@@ -1004,19 +1007,8 @@ class SelfTest(IvasScriptsCommon.IvasScript):

        # check if we need to produce missing combined formats
        if not os.path.exists(in_file):
            if is_osba_or_omasa:
                self.logger.info("Creating missing combined formats test vectors...")
                prepare_combined_format_inputs.main()
                if not os.path.exists(in_file):
                    self.logger.error(f"Test vector {in_file} does not exist!")
                    raise FileNotFoundError(
                        errno.ENOENT, os.strerror(errno.ENOENT), in_file
                    )
            else:
            self.logger.error(f"Test vector {in_file} does not exist!")
                raise FileNotFoundError(
                    errno.ENOENT, os.strerror(errno.ENOENT), in_file
                )
            raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), in_file)

        # handle intermediate processing steps, e.g. networksimulator, eid-xor, ...
        in_file = bs_enc_file
@@ -1174,7 +1166,6 @@ class SelfTest(IvasScriptsCommon.IvasScript):
        return mode_dict

    def run(self):

        self.parse_args()

        if self.args["list_conditions"] is True:
@@ -1542,7 +1533,9 @@ class SelfTest(IvasScriptsCommon.IvasScript):
                logger_name="{}.testrunner".format(self.logger.name),
            )

            test_runner.decoder_cmdline_options.extend(["-fr", f"{self.args['dut_fr']}"])
            test_runner.decoder_cmdline_options.extend(
                ["-fr", f"{self.args['dut_fr']}"]
            )
            test_runner.set_flat_mode_list(run_dict)
            test_runner.run()
            self.logger.console(" ")
Loading