Loading README.md +2 −0 Original line number Diff line number Diff line Loading @@ -413,6 +413,8 @@ conditions_to_generate: # fs: 32000 ### Additional commandline options; default = null # opts: ["-q", "-dtx", 4] ### Extended metadata flag for ISM > 64kbps, ignored otherwise; default = false # extended_metadata: true ### Decoder options dec: ### Path to decoder binary; default search for IVAS_dec in bin folder (primary) and PATH (secondary) Loading examples/TEMPLATE.yml +2 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,8 @@ conditions_to_generate: # fs: 32000 ### Additional commandline options; default = null # opts: ["-q", "-dtx", 4] ### Extended metadata flag for ISM > 64kbps, ignored otherwise; default = false # extended_metadata: true ### Decoder options dec: ### Path to decoder binary; default search for IVAS_dec in bin folder (primary) and PATH (secondary) Loading ivas_processing_scripts/processing/chains.py +1 −0 Original line number Diff line number Diff line Loading @@ -500,6 +500,7 @@ def get_processing_chain( "cod_opts": cod_cfg.get("opts"), "dec_bin": get_abs_path(dec_cfg.get("bin", None)), "dec_opts": dec_cfg.get("opts"), "extended_metadata": cod_cfg.get("extended_metadata", False), "multiprocessing": cfg.multiprocessing, "tx": tx_cfg, "preamble": preamble, Loading ivas_processing_scripts/processing/ivas.py +20 −18 Original line number Diff line number Diff line Loading @@ -201,7 +201,9 @@ class IVAS(Processing): # use quiet mode cmd.extend(["-q"]) fmt_codec = IVAS.parse_config(self.in_fmt, metadata_files) fmt_codec = IVAS.parse_config( self.in_fmt, metadata_files, self.extended_metadata ) if fmt_codec == [""]: cmd.extend( [ Loading Loading @@ -350,7 +352,11 @@ class IVAS(Processing): run(cmd, logger=logger) @staticmethod def parse_config(fmt: audio.Audio, metadata_files: Optional[list] = None): def parse_config( fmt: audio.Audio, metadata_files: Optional[list] = None, extended_metadata: Optional[bool] = False, ): if fmt.name == "MONO": return [""] elif fmt.name == "STEREO": Loading @@ -359,9 +365,12 @@ class IVAS(Processing): # replace any missing files with NULL while len(metadata_files) < int(fmt.num_channels): metadata_files.append("NULL") return ["-ism", str(fmt.num_channels)] + metadata_files[: fmt.num_channels] return [ "-ism", f"{'+' if extended_metadata else ''}{fmt.num_channels}", ] + metadata_files[: fmt.num_channels] elif isinstance(fmt, audio.MetadataAssistedSpatialAudio): return ["-masa", str(fmt.num_channels), metadata_files[0]] return ["-masa", f"{fmt.num_channels}", metadata_files[0]] elif isinstance(fmt, audio.SceneBasedAudio): if fmt.is_planar: return ["-sba", f"-{fmt.ambi_order}"] Loading @@ -374,23 +383,16 @@ class IVAS(Processing): ]: return ["-mc", fmt.name] elif isinstance(fmt, audio.OSBAAudio): if fmt.is_planar: return [ "-ism_sba", str(fmt.num_ism_channels), f"-{str(fmt.ambi_order)}", ] + metadata_files else: return [ "-ism_sba", str(fmt.num_ism_channels), f"+{str(fmt.ambi_order)}", f"{fmt.num_ism_channels}", f"{'-' if fmt.is_planar else '+'}{fmt.ambi_order}", ] + metadata_files elif isinstance(fmt, audio.OMASAAudio): return [ "-ism_masa", str(fmt.num_ism_channels), str(fmt.num_channels - fmt.num_ism_channels), f"{fmt.num_ism_channels}", f"{fmt.num_channels - fmt.num_ism_channels}", ] + metadata_files raise ValueError(f"IVAS: Invalid input config: {fmt.name}.") Loading tests/data/ism_metadata/stvISM1.csv +1500 −1500 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
README.md +2 −0 Original line number Diff line number Diff line Loading @@ -413,6 +413,8 @@ conditions_to_generate: # fs: 32000 ### Additional commandline options; default = null # opts: ["-q", "-dtx", 4] ### Extended metadata flag for ISM > 64kbps, ignored otherwise; default = false # extended_metadata: true ### Decoder options dec: ### Path to decoder binary; default search for IVAS_dec in bin folder (primary) and PATH (secondary) Loading
examples/TEMPLATE.yml +2 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,8 @@ conditions_to_generate: # fs: 32000 ### Additional commandline options; default = null # opts: ["-q", "-dtx", 4] ### Extended metadata flag for ISM > 64kbps, ignored otherwise; default = false # extended_metadata: true ### Decoder options dec: ### Path to decoder binary; default search for IVAS_dec in bin folder (primary) and PATH (secondary) Loading
ivas_processing_scripts/processing/chains.py +1 −0 Original line number Diff line number Diff line Loading @@ -500,6 +500,7 @@ def get_processing_chain( "cod_opts": cod_cfg.get("opts"), "dec_bin": get_abs_path(dec_cfg.get("bin", None)), "dec_opts": dec_cfg.get("opts"), "extended_metadata": cod_cfg.get("extended_metadata", False), "multiprocessing": cfg.multiprocessing, "tx": tx_cfg, "preamble": preamble, Loading
ivas_processing_scripts/processing/ivas.py +20 −18 Original line number Diff line number Diff line Loading @@ -201,7 +201,9 @@ class IVAS(Processing): # use quiet mode cmd.extend(["-q"]) fmt_codec = IVAS.parse_config(self.in_fmt, metadata_files) fmt_codec = IVAS.parse_config( self.in_fmt, metadata_files, self.extended_metadata ) if fmt_codec == [""]: cmd.extend( [ Loading Loading @@ -350,7 +352,11 @@ class IVAS(Processing): run(cmd, logger=logger) @staticmethod def parse_config(fmt: audio.Audio, metadata_files: Optional[list] = None): def parse_config( fmt: audio.Audio, metadata_files: Optional[list] = None, extended_metadata: Optional[bool] = False, ): if fmt.name == "MONO": return [""] elif fmt.name == "STEREO": Loading @@ -359,9 +365,12 @@ class IVAS(Processing): # replace any missing files with NULL while len(metadata_files) < int(fmt.num_channels): metadata_files.append("NULL") return ["-ism", str(fmt.num_channels)] + metadata_files[: fmt.num_channels] return [ "-ism", f"{'+' if extended_metadata else ''}{fmt.num_channels}", ] + metadata_files[: fmt.num_channels] elif isinstance(fmt, audio.MetadataAssistedSpatialAudio): return ["-masa", str(fmt.num_channels), metadata_files[0]] return ["-masa", f"{fmt.num_channels}", metadata_files[0]] elif isinstance(fmt, audio.SceneBasedAudio): if fmt.is_planar: return ["-sba", f"-{fmt.ambi_order}"] Loading @@ -374,23 +383,16 @@ class IVAS(Processing): ]: return ["-mc", fmt.name] elif isinstance(fmt, audio.OSBAAudio): if fmt.is_planar: return [ "-ism_sba", str(fmt.num_ism_channels), f"-{str(fmt.ambi_order)}", ] + metadata_files else: return [ "-ism_sba", str(fmt.num_ism_channels), f"+{str(fmt.ambi_order)}", f"{fmt.num_ism_channels}", f"{'-' if fmt.is_planar else '+'}{fmt.ambi_order}", ] + metadata_files elif isinstance(fmt, audio.OMASAAudio): return [ "-ism_masa", str(fmt.num_ism_channels), str(fmt.num_channels - fmt.num_ism_channels), f"{fmt.num_ism_channels}", f"{fmt.num_channels - fmt.num_ism_channels}", ] + metadata_files raise ValueError(f"IVAS: Invalid input config: {fmt.name}.") Loading
tests/data/ism_metadata/stvISM1.csv +1500 −1500 File changed.Preview size limit exceeded, changes collapsed. Show changes