Loading other/get_md5.ps1deleted 100644 → 0 +0 −42 Original line number Diff line number Diff line # (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository. All Rights Reserved. # This software is protected by copyright law and by international treaties. # The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository retain full ownership rights in their respective contributions in # the software. This notice grants no license of any kind, including but not limited to patent # license, nor is any license granted by implication, estoppel or otherwise. # Contributors are required to enter into the IVAS codec Public Collaboration agreement before making # contributions. # This software is provided "AS IS", without any express or implied warranties. The software is in the # development stage. It is intended exclusively for experts who have experience with such software and # solely for the purpose of inspection. All implied warranties of non-infringement, merchantability # and fitness for a particular purpose are hereby disclaimed and excluded. # Any dispute, controversy or claim arising under or in relation to providing this software shall be # submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. param( [Parameter(Mandatory)] [String]$proc_output_dir, [Parameter(Mandatory)] [String]$out_file ) (Get-ChildItem $proc_output_dir -Recurse | Where-Object { $_.Name -like '*c??.wav' }) | ForEach-Object { $name = $_.Name $hash = (Get-FileHash $_.FullName -Algorithm MD5).Hash "$name $hash" >> $out_file } No newline at end of file other/get_md5.sh→other/get_md5.py100755 → 100644 +43 −27 Original line number Diff line number Diff line #!/bin/sh # (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, #! /usr/bin/env python3 # (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other Loading Loading @@ -28,27 +27,44 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. # simple script to create MD5 files as if produced by Microsoft Powershell # run from within proc_output_x folder if [ $# -lt 2 ]; then echo "Usage: $0 proc_output_dir testname.md5" echo "Requires: md5sum (Linux) or md5 (macOS)" exit 1 fi system=$(uname -s) if [ "$system" = "Darwin" ]; then md5="md5 -r" else md5=md5sum fi tmpfile=`mktemp` echo "" > $tmpfile for f in $(find $1 -name "*c??.wav"); do echo ${f##*/} $($md5 $f | awk '{ print toupper($1) }') >> $tmpfile done cat $tmpfile | sort > $2 rm -f $tmpfile import argparse from pathlib import Path from hashlib import md5 def get_hash_line_for_file(file: Path, experiment_dir: Path): with open(file, "rb") as f: hash = md5(f.read()).hexdigest() filepath = file.relative_to(experiment_dir) # always print forward slashes even on windows to be able to diff the result files hashline = f"{str(filepath.as_posix())} {hash}\n" return hashline def main(experiment_dir, out_file): wav_files = sorted(experiment_dir.glob("proc_output*/**/*c??.wav")) hashlines = [get_hash_line_for_file(f, experiment_dir) for f in wav_files] with open(out_file, "w") as f: f.writelines(hashlines) if __name__ == "__main__": parser = argparse.ArgumentParser( description="Cross-platform script for generating MD5 hashes of output files for the characterization testing experiments." ) parser.add_argument( "experiment_dir", type=Path, help="Directory of the respective experiment (e.g. experiments/characterization/P800-12", ) parser.add_argument( "out_file", type=Path, help="Output text file with filenames and Hashes" ) args = parser.parse_args() main(args.experiment_dir, args.out_file) Loading
other/get_md5.ps1deleted 100644 → 0 +0 −42 Original line number Diff line number Diff line # (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository. All Rights Reserved. # This software is protected by copyright law and by international treaties. # The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository retain full ownership rights in their respective contributions in # the software. This notice grants no license of any kind, including but not limited to patent # license, nor is any license granted by implication, estoppel or otherwise. # Contributors are required to enter into the IVAS codec Public Collaboration agreement before making # contributions. # This software is provided "AS IS", without any express or implied warranties. The software is in the # development stage. It is intended exclusively for experts who have experience with such software and # solely for the purpose of inspection. All implied warranties of non-infringement, merchantability # and fitness for a particular purpose are hereby disclaimed and excluded. # Any dispute, controversy or claim arising under or in relation to providing this software shall be # submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. param( [Parameter(Mandatory)] [String]$proc_output_dir, [Parameter(Mandatory)] [String]$out_file ) (Get-ChildItem $proc_output_dir -Recurse | Where-Object { $_.Name -like '*c??.wav' }) | ForEach-Object { $name = $_.Name $hash = (Get-FileHash $_.FullName -Algorithm MD5).Hash "$name $hash" >> $out_file } No newline at end of file
other/get_md5.sh→other/get_md5.py100755 → 100644 +43 −27 Original line number Diff line number Diff line #!/bin/sh # (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, #! /usr/bin/env python3 # (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other Loading Loading @@ -28,27 +27,44 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. # simple script to create MD5 files as if produced by Microsoft Powershell # run from within proc_output_x folder if [ $# -lt 2 ]; then echo "Usage: $0 proc_output_dir testname.md5" echo "Requires: md5sum (Linux) or md5 (macOS)" exit 1 fi system=$(uname -s) if [ "$system" = "Darwin" ]; then md5="md5 -r" else md5=md5sum fi tmpfile=`mktemp` echo "" > $tmpfile for f in $(find $1 -name "*c??.wav"); do echo ${f##*/} $($md5 $f | awk '{ print toupper($1) }') >> $tmpfile done cat $tmpfile | sort > $2 rm -f $tmpfile import argparse from pathlib import Path from hashlib import md5 def get_hash_line_for_file(file: Path, experiment_dir: Path): with open(file, "rb") as f: hash = md5(f.read()).hexdigest() filepath = file.relative_to(experiment_dir) # always print forward slashes even on windows to be able to diff the result files hashline = f"{str(filepath.as_posix())} {hash}\n" return hashline def main(experiment_dir, out_file): wav_files = sorted(experiment_dir.glob("proc_output*/**/*c??.wav")) hashlines = [get_hash_line_for_file(f, experiment_dir) for f in wav_files] with open(out_file, "w") as f: f.writelines(hashlines) if __name__ == "__main__": parser = argparse.ArgumentParser( description="Cross-platform script for generating MD5 hashes of output files for the characterization testing experiments." ) parser.add_argument( "experiment_dir", type=Path, help="Directory of the respective experiment (e.g. experiments/characterization/P800-12", ) parser.add_argument( "out_file", type=Path, help="Output text file with filenames and Hashes" ) args = parser.parse_args() main(args.experiment_dir, args.out_file)