blob: e1191ad7b08b98db5769b436d1f923f1595a711b [file] [log] [blame]
Erik de Castro Lopo1a7c3fa2014-11-27 13:03:13 +11001#!/bin/sh -e
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +11002
3# FLAC - Free Lossless Audio Codec
Erik de Castro Lopo6b00dc22016-12-05 18:57:47 +11004# Copyright (C) 2012-2016 Xiph.Org Foundation
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +11005#
6# This file is part the FLAC project. FLAC is comprised of several
Ulrich Klauercd4ddab2013-05-26 22:53:43 +02007# components distributed under different licenses. The codec libraries
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +11008# are distributed under Xiph.Org's BSD-like license (see the file
9# COPYING.Xiph in this distribution). All other programs, libraries, and
10# plugins are distributed under the GPL (see COPYING.GPL). The documentation
11# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
12# FLAC distribution contains at the top the terms under which it may be
13# distributed.
14#
15# Since this particular file is relevant to all components of FLAC,
16# it may be distributed under the Xiph.Org license, which is the least
17# restrictive of those mentioned above. See the file COPYING.Xiph in this
18# distribution.
19
Erik de Castro Lopo1a7c3fa2014-11-27 13:03:13 +110020. ./common.sh
Erik de Castro Lopoa9712a22013-09-16 19:55:11 +100021
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +110022PATH=`pwd`/../src/flac:$PATH
23
Erik de Castro Lopo0432b962013-03-04 21:24:51 +110024echo "Using FLAC binary :" $(which flac)
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +110025
26date=`date "+%Y%m%dT%H%M%S"`
27fname="comp${date}.flac"
28
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +110029last_k=0
Erik de Castro Lopo0432b962013-03-04 21:24:51 +110030last_size=$(wc -c < noisy-sine.wav)
31
32echo "Original file size ${last_size} bytes."
33
Erik de Castro Lopof2e10fa2013-04-28 15:52:07 +100034for k in 0 1 2 3 4 5 6 7 8 ; do
Erik de Castro Lopoa9712a22013-09-16 19:55:11 +100035 flac${EXE} -${k} --silent noisy-sine.wav -o ${fname}
Erik de Castro Lopo0432b962013-03-04 21:24:51 +110036 size=$(wc -c < ${fname})
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +110037 echo "Compression level ${k}, file size ${size} bytes."
Erik de Castro Lopo0432b962013-03-04 21:24:51 +110038 if test ${last_size} -lt ${size} ; then
Erik de Castro Lopob147b732014-11-26 16:20:06 +110039 echo "Error : Compression ${last_k} size ${last_size} >= compression ${k} size ${size}."
Erik de Castro Lopo0432b962013-03-04 21:24:51 +110040 exit 1
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +110041 fi
Erik de Castro Lopo1a7c3fa2014-11-27 13:03:13 +110042 # Need this because OSX's 'wc -c' returns a number with leading whitespace.
43 last_size=$((${size}+10))
Erik de Castro Lopo0432b962013-03-04 21:24:51 +110044 last_k=${k}
45 rm -f ${fname}
Erik de Castro Lopo1f0dacc2012-10-14 21:40:40 +110046 done