summaryrefslogtreecommitdiffstats
path: root/test/test_compression.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtest/test_compression.sh46
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