3c484180f3ddb79a75db9f712d80226329fa5df7
[flac.git] / test / test_compression.sh
1 #!/bin/bash -e
2
3 #  FLAC - Free Lossless Audio Codec
4 #  Copyright (C) 2012  Xiph.Org Foundation
5 #
6 #  This file is part the FLAC project.  FLAC is comprised of several
7 #  components distributed under different licenses.  The codec libraries
8 #  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
20 LD_LIBRARY_PATH=`pwd`/../src/libFLAC/.libs:$LD_LIBRARY_PATH
21 LD_LIBRARY_PATH=`pwd`/../src/share/grabbag/.libs:$LD_LIBRARY_PATH
22 LD_LIBRARY_PATH=`pwd`/../src/share/getopt/.libs:$LD_LIBRARY_PATH
23 LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
24 LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH
25 LD_LIBRARY_PATH=`pwd`/../src/share/utf8/.libs:$LD_LIBRARY_PATH
26 LD_LIBRARY_PATH=`pwd`/../objs/$BUILD/lib:$LD_LIBRARY_PATH
27 export LD_LIBRARY_PATH
28 PATH=`pwd`/../src/flac:$PATH
29
30 echo "Using FLAC binary :" $(which flac)
31
32 date=`date "+%Y%m%dT%H%M%S"`
33 fname="comp${date}.flac"
34
35 last_k=0
36 last_size=$(wc -c < noisy-sine.wav)
37
38 echo "Original file size ${last_size} bytes."
39
40 for k in 0 1 2 3 4 5 6 7 8 ; do
41         flac -${k} --silent noisy-sine.wav -o ${fname}
42         size=$(wc -c < ${fname})
43         echo "Compression level ${k}, file size ${size} bytes."
44         if test ${last_size} -lt ${size} ; then
45                 echo "Error : Compression ${last_k} size $last_size >= compression $k size $size."
46                 exit 1
47                 fi
48         last_size=${size}
49         last_k=${k}
50         rm -f ${fname}
51         done