flac/test/test_compression.sh

47 lines
1.5 KiB
Bash
Executable File

#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
# Copyright (C) 2012-2024 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" "$(command -v 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