3
3
# FLAC - Free Lossless Audio Codec
4
# Copyright (C) 2001,2002,2003,2004,2005 Josh Coalson
4
# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
6
6
# This file is part the FLAC project. FLAC is comprised of several
7
7
# components distributed under difference licenses. The codec libraries
35
35
PATH=../src/test_streams:$PATH
36
36
PATH=../obj/$BUILD/bin:$PATH
38
if [ x"$FLAC__TEST_LEVEL" = x ] ; then
38
42
flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
42
if [ x"$FLAC__VALGRIND" = xyes ] ; then
46
if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
47
echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 flac $*" >>test_streams.valgrind.log
43
48
valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --logfile-fd=4 flac $* 4>>test_streams.valgrind.log
63
68
encode_options="$4"
65
70
echo -n "$name (--channels=$channels --bps=$bps $encode_options): encode..."
66
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options $name.raw"
71
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding $name.raw"
67
72
echo "### ENCODE $name #######################################################" >> ./streams.log
68
73
echo "### cmd=$cmd" >> ./streams.log
69
74
$cmd 2>>./streams.log || die "ERROR during encode of $name"
100
105
echo -n "$name: encode via pipes..."
101
106
if [ $is_win = yes ] ; then
102
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --stdout $name.raw"
107
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding --stdout $name.raw"
103
108
echo "### ENCODE $name #######################################################" >> ./streams.log
104
109
echo "### cmd=$cmd" >> ./streams.log
105
110
$cmd 1>$name.flac 2>>./streams.log || die "ERROR during encode of $name"
107
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --stdout -"
112
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding --stdout -"
108
113
echo "### ENCODE $name #######################################################" >> ./streams.log
109
114
echo "### cmd=$cmd" >> ./streams.log
110
115
cat $name.raw | $cmd 1>$name.flac 2>>./streams.log || die "ERROR during encode of $name"
141
146
test_file_piped noise 1 8 "-0"
143
148
echo "Testing small files..."
144
test_file test01 1 16 "-0 -l $max_lpc_order -m -e -p"
145
test_file test02 2 16 "-0 -l $max_lpc_order -m -e -p"
146
test_file test03 1 16 "-0 -l $max_lpc_order -m -e -p"
147
test_file test04 2 16 "-0 -l $max_lpc_order -m -e -p"
149
echo "Testing 8-bit full-scale deflection streams..."
150
for b in 01 02 03 04 05 06 07 ; do
151
test_file fsd8-$b 1 8 "-0 -l $max_lpc_order -m -e -p"
154
echo "Testing 16-bit full-scale deflection streams..."
155
for b in 01 02 03 04 05 06 07 ; do
156
test_file fsd16-$b 1 16 "-0 -l $max_lpc_order -m -e -p"
159
echo "Testing 24-bit full-scale deflection streams..."
160
for b in 01 02 03 04 05 06 07 ; do
161
test_file fsd24-$b 1 24 "-0 -l $max_lpc_order -m -e -p"
149
test_file test01 1 16 "-0 -l $max_lpc_order --lax -m -e -p"
150
test_file test02 2 16 "-0 -l $max_lpc_order --lax -m -e -p"
151
test_file test03 1 16 "-0 -l $max_lpc_order --lax -m -e -p"
152
test_file test04 2 16 "-0 -l $max_lpc_order --lax -m -e -p"
154
for bps in 8 16 24 ; do
155
echo "Testing $bps-bit full-scale deflection streams..."
156
for b in 01 02 03 04 05 06 07 ; do
157
test_file fsd$bps-$b 1 $bps "-0 -l $max_lpc_order --lax -m -e -p"
164
161
echo "Testing 16-bit wasted-bits-per-sample streams..."
166
test_file wbps16-$b 1 16 "-0 -l $max_lpc_order -m -e -p"
163
test_file wbps16-$b 1 16 "-0 -l $max_lpc_order --lax -m -e -p"
169
166
for bps in 8 16 24 ; do
170
167
echo "Testing $bps-bit sine wave streams..."
172
test_file sine${bps}-$b 1 $bps "-0 -l $max_lpc_order -m -e --sample-rate=48000"
169
test_file sine${bps}-$b 1 $bps "-0 -l $max_lpc_order --lax -m -e --sample-rate=48000"
175
test_file sine${bps}-$b 1 $bps "-0 -l $max_lpc_order -m -e --sample-rate=96000"
172
test_file sine${bps}-$b 1 $bps "-0 -l $max_lpc_order --lax -m -e --sample-rate=96000"
177
174
for b in 02 03 04 ; do
178
test_file sine${bps}-$b 1 $bps "-0 -l $max_lpc_order -m -e"
175
test_file sine${bps}-$b 1 $bps "-0 -l $max_lpc_order --lax -m -e"
180
177
for b in 10 11 ; do
181
test_file sine${bps}-$b 2 $bps "-0 -l $max_lpc_order -m -e --sample-rate=48000"
178
test_file sine${bps}-$b 2 $bps "-0 -l $max_lpc_order --lax -m -e --sample-rate=48000"
184
test_file sine${bps}-$b 2 $bps "-0 -l $max_lpc_order -m -e --sample-rate=96000"
181
test_file sine${bps}-$b 2 $bps "-0 -l $max_lpc_order --lax -m -e --sample-rate=96000"
186
183
for b in 13 14 15 16 17 18 19 ; do
187
test_file sine${bps}-$b 2 $bps "-0 -l $max_lpc_order -m -e"
184
test_file sine${bps}-$b 2 $bps "-0 -l $max_lpc_order --lax -m -e"
212
209
echo "Testing option variations..."
213
210
for f in 00 01 02 03 04 ; do
214
211
for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '--disable-verbatim-subframes --disable-constant-subframes --disable-fixed-subframes' ; do
215
for opt in 0 1 2 4 5 6 8 ; do
216
for extras in '' '-p' '-e' ; do
217
test_file sine16-$f 1 16 "-$opt $extras $disable"
212
if [ -z "$disable" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
213
for opt in 0 1 2 4 5 6 8 ; do
214
for extras in '' '-p' '-e' ; do
215
if [ -z "$extras" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
216
test_file sine16-$f 1 16 "-$opt $extras $disable"
220
if [ "$FLAC__EXHAUSTIVE_TESTS" = yes ] ; then
221
test_file sine16-$f 1 16 "-b 16384 -m -r 8 -l $max_lpc_order -e -p $disable"
220
if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
221
test_file sine16-$f 1 16 "-b 16384 -m -r 8 -l $max_lpc_order --lax -e -p $disable"
226
227
for f in 10 11 12 13 14 15 16 17 18 19 ; do
227
228
for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '--disable-verbatim-subframes --disable-constant-subframes --disable-fixed-subframes' ; do
228
for opt in 0 1 2 4 5 6 8 ; do
229
for extras in '' '-p' '-e' ; do
230
test_file sine16-$f 2 16 "-$opt $extras $disable"
229
if [ -z "$disable" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
230
for opt in 0 1 2 4 5 6 8 ; do
231
for extras in '' '-p' '-e' ; do
232
if [ -z "$extras" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
233
test_file sine16-$f 2 16 "-$opt $extras $disable"
233
if [ "$FLAC__EXHAUSTIVE_TESTS" = yes ] ; then
234
test_file sine16-$f 2 16 "-b 16384 -m -r 8 -l $max_lpc_order -e -p $disable"
237
if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
238
test_file sine16-$f 2 16 "-b 16384 -m -r 8 -l $max_lpc_order --lax -e -p $disable"
239
244
echo "Testing noise..."
240
245
for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '--disable-verbatim-subframes --disable-constant-subframes --disable-fixed-subframes' ; do
241
for channels in 1 2 4 8 ; do
242
for bps in 8 16 24 ; do
243
for opt in 0 1 2 3 4 5 6 7 8 ; do
244
for extras in '' '-p' '-e' ; do
245
for blocksize in '' '--lax -b 32' '--lax -b 32768' '--lax -b 65535' ; do
246
test_file noise $channels $bps "-$opt $extras $blocksize $disable"
246
if [ -z "$disable" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
247
for channels in 1 2 4 8 ; do
248
if [ $channels -le 2 ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
249
for bps in 8 16 24 ; do
250
for opt in 0 1 2 3 4 5 6 7 8 ; do
251
for extras in '' '-p' '-e' ; do
252
if [ -z "$extras" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
253
for blocksize in '' '--lax -b 32' '--lax -b 32768' '--lax -b 65535' ; do
254
if [ -z "$blocksize" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
255
test_file noise $channels $bps "-$opt $extras $blocksize $disable"
261
if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
262
test_file noise $channels $bps "-b 16384 -m -r 8 -l $max_lpc_order --lax -e -p $disable"
250
if [ "$FLAC__EXHAUSTIVE_TESTS" = yes ] ; then
251
test_file noise $channels $bps "-b 16384 -m -r 8 -l $max_lpc_order -e -p $disable"