Loading examples/TEMPLATE.yml +4 −0 Original line number Diff line number Diff line Loading @@ -240,6 +240,10 @@ conditions_to_generate: # fs: 32000 ### Additional commandline options; default = null # opts: ["-q", "-dtx", 4] ### Input format conversion, if encoding a different format # fmt: "FOA" ### Optional use of IVAS_rend for prerendering; can be True (default search) or a path to the binary # ivas_prerend: false ### 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 +46 −7 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ # from pathlib import Path from platform import system from shutil import copyfile, rmtree from typing import Optional from warnings import warn Loading @@ -49,7 +50,12 @@ from ivas_processing_scripts.processing.processing_splitting_scaling import ( Processing_splitting_scaling, ) from ivas_processing_scripts.processing.tx import get_tx_cfg from ivas_processing_scripts.utils import get_abs_path, list_audio, parse_gain from ivas_processing_scripts.utils import ( get_abs_path, find_binary, list_audio, parse_gain, ) def init_processing_chains(cfg: TestConfig) -> None: Loading Loading @@ -218,6 +224,35 @@ def get_preprocessing_2(cfg: TestConfig) -> dict: return chain def get_prerend( rend_cfg: dict = None, name="prerend", use_windows_codec_binaries: bool = False, attrs: dict = None, ): if rend_cfg: # set to dict; if the user didn't configure anything and wants defaults # Workaround since processing:TestConfig:_validate_file_cfg() removes keys with None values if isinstance(rend_cfg, bool): rend_cfg = { "bin": find_binary( f"IVAS_rend{ '.exe' if system() == 'Linux' and use_windows_codec_binaries else '' }" ) } attrs.setdefault("bin", get_abs_path(rend_cfg.get("bin"))) attrs.setdefault("opts", rend_cfg.get("opts")) attrs.setdefault("use_windows_codec_binaries", use_windows_codec_binaries) return IVAS_rend( attrs, ) else: return Postprocessing( attrs, name=name, ) def get_processing_chain( condition: str, cfg: TestConfig, Loading Loading @@ -334,8 +369,11 @@ def get_processing_chain( # if the encoding format differs from the format after the preprocessing, add format conversion stuff if (cod_fmt := cod_cfg.get("fmt", tmp_in_fmt)) != tmp_in_fmt: chain["processes"].append( Postprocessing( { get_prerend( cod_cfg.get("ivas_prerend"), name="cod_fmt", use_windows_codec_binaries=cfg.use_windows_codec_binaries, attrs={ "in_fs": tmp_in_fs, "in_fmt": tmp_in_fmt, "out_fs": tmp_in_fs, Loading @@ -343,7 +381,6 @@ def get_processing_chain( "multiprocessing": cfg.multiprocessing, "tx_condition": False, }, name="cod_fmt", ) ) tmp_in_fmt = cod_fmt Loading Loading @@ -411,8 +448,11 @@ def get_processing_chain( # if the encoding format differs from the format after the preprocessing, add format conversion if (cod_fmt := cod_cfg.get("fmt", tmp_in_fmt)) != tmp_in_fmt: chain["processes"].append( Postprocessing( { get_prerend( cod_cfg.get("ivas_prerend"), name="cod_fmt", use_windows_codec_binaries=cfg.use_windows_codec_binaries, attrs={ "in_fs": tmp_in_fs, "in_fmt": tmp_in_fmt, "out_fs": tmp_in_fs, Loading @@ -420,7 +460,6 @@ def get_processing_chain( "multiprocessing": cfg.multiprocessing, "tx_condition": False, }, name="cod_fmt", ) ) tmp_in_fmt = cod_fmt Loading Loading
examples/TEMPLATE.yml +4 −0 Original line number Diff line number Diff line Loading @@ -240,6 +240,10 @@ conditions_to_generate: # fs: 32000 ### Additional commandline options; default = null # opts: ["-q", "-dtx", 4] ### Input format conversion, if encoding a different format # fmt: "FOA" ### Optional use of IVAS_rend for prerendering; can be True (default search) or a path to the binary # ivas_prerend: false ### 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 +46 −7 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ # from pathlib import Path from platform import system from shutil import copyfile, rmtree from typing import Optional from warnings import warn Loading @@ -49,7 +50,12 @@ from ivas_processing_scripts.processing.processing_splitting_scaling import ( Processing_splitting_scaling, ) from ivas_processing_scripts.processing.tx import get_tx_cfg from ivas_processing_scripts.utils import get_abs_path, list_audio, parse_gain from ivas_processing_scripts.utils import ( get_abs_path, find_binary, list_audio, parse_gain, ) def init_processing_chains(cfg: TestConfig) -> None: Loading Loading @@ -218,6 +224,35 @@ def get_preprocessing_2(cfg: TestConfig) -> dict: return chain def get_prerend( rend_cfg: dict = None, name="prerend", use_windows_codec_binaries: bool = False, attrs: dict = None, ): if rend_cfg: # set to dict; if the user didn't configure anything and wants defaults # Workaround since processing:TestConfig:_validate_file_cfg() removes keys with None values if isinstance(rend_cfg, bool): rend_cfg = { "bin": find_binary( f"IVAS_rend{ '.exe' if system() == 'Linux' and use_windows_codec_binaries else '' }" ) } attrs.setdefault("bin", get_abs_path(rend_cfg.get("bin"))) attrs.setdefault("opts", rend_cfg.get("opts")) attrs.setdefault("use_windows_codec_binaries", use_windows_codec_binaries) return IVAS_rend( attrs, ) else: return Postprocessing( attrs, name=name, ) def get_processing_chain( condition: str, cfg: TestConfig, Loading Loading @@ -334,8 +369,11 @@ def get_processing_chain( # if the encoding format differs from the format after the preprocessing, add format conversion stuff if (cod_fmt := cod_cfg.get("fmt", tmp_in_fmt)) != tmp_in_fmt: chain["processes"].append( Postprocessing( { get_prerend( cod_cfg.get("ivas_prerend"), name="cod_fmt", use_windows_codec_binaries=cfg.use_windows_codec_binaries, attrs={ "in_fs": tmp_in_fs, "in_fmt": tmp_in_fmt, "out_fs": tmp_in_fs, Loading @@ -343,7 +381,6 @@ def get_processing_chain( "multiprocessing": cfg.multiprocessing, "tx_condition": False, }, name="cod_fmt", ) ) tmp_in_fmt = cod_fmt Loading Loading @@ -411,8 +448,11 @@ def get_processing_chain( # if the encoding format differs from the format after the preprocessing, add format conversion if (cod_fmt := cod_cfg.get("fmt", tmp_in_fmt)) != tmp_in_fmt: chain["processes"].append( Postprocessing( { get_prerend( cod_cfg.get("ivas_prerend"), name="cod_fmt", use_windows_codec_binaries=cfg.use_windows_codec_binaries, attrs={ "in_fs": tmp_in_fs, "in_fmt": tmp_in_fmt, "out_fs": tmp_in_fs, Loading @@ -420,7 +460,6 @@ def get_processing_chain( "multiprocessing": cfg.multiprocessing, "tx_condition": False, }, name="cod_fmt", ) ) tmp_in_fmt = cod_fmt Loading