diff options
Diffstat (limited to 'test/test_compression.sh')
-rwxr-xr-x | test/test_compression.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/test_compression.sh b/test/test_compression.sh new file mode 100755 index 0000000..60c2399 --- /dev/null +++ b/test/test_compression.sh @@ -0,0 +1,46 @@ +#!/bin/sh -e + +# FLAC - Free Lossless Audio Codec +# Copyright (C) 2012-2023 Xiph.Org Foundation +# +# This file is part the FLAC project. FLAC is comprised of several +# components distributed under different licenses. The codec libraries +# are distributed under Xiph.Org's BSD-like license (see the file +# COPYING.Xiph in this distribution). All other programs, libraries, and +# plugins are distributed under the GPL (see COPYING.GPL). The documentation +# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the +# FLAC distribution contains at the top the terms under which it may be +# distributed. +# +# Since this particular file is relevant to all components of FLAC, +# it may be distributed under the Xiph.Org license, which is the least +# restrictive of those mentioned above. See the file COPYING.Xiph in this +# distribution. + +. ./common.sh + +PATH="$(pwd)/../src/flac:$PATH" + +printf "Using FLAC binary : %s\n" "$(which flac)" + +date="$(date "+%Y%m%dT%H%M%S")" +fname="comp${date}.flac" + +last_k=0 +last_size=$(wc -c < noisy-sine.wav) + +echo "Original file size ${last_size} bytes." + +for k in 0 1 2 3 4 5 6 7 8 ; do + flac${EXE} -${k} --silent noisy-sine.wav -o ${fname} + size=$(wc -c < ${fname}) + echo "Compression level ${k}, file size ${size} bytes." + if test ${last_size} -lt ${size} ; then + echo "Error : Compression ${last_k} size ${last_size} >= compression ${k} size ${size}." + exit 1 + fi + # Need this because OSX's 'wc -c' returns a number with leading whitespace. + last_size=$((size+10)) + last_k=${k} + rm -f ${fname} + done |