~ubuntu-branches/debian/wheezy/vlc/wheezy

« back to all changes in this revision

Viewing changes to extras/ffmpeg/tests/regression.sh

Tags: upstream-0.7.2.final
ImportĀ upstreamĀ versionĀ 0.7.2.final

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
#
 
3
# automatic regression test for ffmpeg
 
4
#
 
5
#
 
6
#set -x
 
7
# Even in the 21st century some diffs are not supporting -u.
 
8
diff -u $0 $0 > /dev/null 2>&1
 
9
if [ $? -eq 0 ]; then
 
10
  diff_cmd="diff -u"
 
11
else
 
12
  diff_cmd="diff"
 
13
fi
 
14
 
 
15
diff -w $0 $0 > /dev/null 2>&1
 
16
if [ $? -eq 0 ]; then
 
17
  diff_cmd="$diff_cmd -w"
 
18
fi
 
19
 
 
20
set -e
 
21
 
 
22
datadir="./data"
 
23
 
 
24
logfile="$datadir/ffmpeg.regression"
 
25
outfile="$datadir/a-"
 
26
 
 
27
# tests to do
 
28
if [ "$1" = "mpeg4" ] ; then
 
29
    do_mpeg4=y
 
30
elif [ "$1" = "mpeg" ] ; then
 
31
    do_mpeg=y
 
32
    do_mpeg2=y
 
33
elif [ "$1" = "ac3" ] ; then
 
34
    do_ac3=y
 
35
elif [ "$1" = "libavtest" ] ; then
 
36
    do_libav=y
 
37
    logfile="$datadir/libav.regression"
 
38
    outfile="$datadir/b-"
 
39
else
 
40
    do_mpeg=y
 
41
    do_mpeg2=y
 
42
    do_mpeg2thread=y
 
43
    do_msmpeg4v2=y
 
44
    do_msmpeg4=y
 
45
    do_wmv1=y
 
46
    do_wmv2=y
 
47
    do_h263=y
 
48
    do_h263p=y
 
49
    do_mpeg4=y
 
50
    do_huffyuv=y
 
51
    do_mjpeg=y
 
52
    do_ljpeg=y
 
53
    do_rv10=y
 
54
    do_mp2=y
 
55
    do_ac3=y
 
56
    do_g726=y
 
57
    do_adpcm_ima_wav=y
 
58
    do_adpcm_ms=y
 
59
    do_rc=y
 
60
    do_mpeg4adv=y
 
61
    do_mpeg4thread=y
 
62
    do_mpeg4nr=y
 
63
    do_mpeg1b=y
 
64
    do_asv1=y
 
65
    do_asv2=y
 
66
    do_flv=y
 
67
    do_ffv1=y
 
68
    do_error=y
 
69
    do_svq1=y
 
70
fi
 
71
 
 
72
 
 
73
# various files
 
74
ffmpeg="../ffmpeg_g"
 
75
tiny_psnr="./tiny_psnr"
 
76
reffile="$2"
 
77
benchfile="$datadir/ffmpeg.bench"
 
78
raw_src="$3/%d.pgm"
 
79
raw_dst="$datadir/out.yuv"
 
80
raw_ref="$datadir/ref.yuv"
 
81
pcm_src="asynth1.sw"
 
82
pcm_dst="$datadir/out.wav"
 
83
if [ X"`echo | md5sum 2> /dev/null`" != X ]; then
 
84
    do_md5sum() { md5sum -b $1; }
 
85
elif [ -x /sbin/md5 ]; then
 
86
    do_md5sum() { /sbin/md5 -r $1 | sed 's# \**\./# *./#'; }
 
87
else
 
88
    do_md5sum() { echo No md5sum program found; }
 
89
fi
 
90
 
 
91
# create the data directory if it does not exists
 
92
mkdir -p $datadir
 
93
 
 
94
do_ffmpeg()
 
95
{
 
96
    f="$1"
 
97
    shift
 
98
    echo $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $*
 
99
    $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 -benchmark $* > $datadir/bench.tmp 2> /tmp/ffmpeg$$
 
100
    egrep -v "^(Stream|Press|Input|Output|frame|  Stream|  Duration)" /tmp/ffmpeg$$ || true
 
101
    rm -f /tmp/ffmpeg$$
 
102
    do_md5sum $f >> $logfile
 
103
    if [ $f = $raw_dst ] ; then
 
104
        $tiny_psnr $f $raw_ref >> $logfile
 
105
    else
 
106
        wc -c $f >> $logfile
 
107
    fi
 
108
    expr "`cat $datadir/bench.tmp`" : '.*utime=\(.*s\)' > $datadir/bench2.tmp
 
109
    echo `cat $datadir/bench2.tmp` $f >> $benchfile
 
110
}
 
111
 
 
112
do_ffmpeg_crc()
 
113
{
 
114
    f="$1"
 
115
    shift
 
116
    echo $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $* -f crc $datadir/ffmpeg.crc
 
117
    $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $* -f crc $datadir/ffmpeg.crc > /tmp/ffmpeg$$ 2>&1
 
118
    egrep -v "^(Stream|Press|Input|Output|frame|  Stream|  Duration)" /tmp/ffmpeg$$ || true
 
119
    rm -f /tmp/ffmpeg$$ 
 
120
    echo "$f `cat $datadir/ffmpeg.crc`" >> $logfile
 
121
}
 
122
 
 
123
do_ffmpeg_nocheck()
 
124
{
 
125
    f="$1"
 
126
    shift
 
127
    echo $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $*
 
128
    $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 -benchmark $* > $datadir/bench.tmp 2> /tmp/ffmpeg$$
 
129
    egrep -v "^(Stream|Press|Input|Output|frame|  Stream|  Duration)" /tmp/ffmpeg$$ || true
 
130
    rm -f /tmp/ffmpeg$$
 
131
    expr "`cat $datadir/bench.tmp`" : '.*utime=\(.*s\)' > $datadir/bench2.tmp
 
132
    echo `cat $datadir/bench2.tmp` $f >> $benchfile
 
133
}
 
134
 
 
135
echo "ffmpeg regression test" > $logfile
 
136
echo "ffmpeg benchmarks" > $benchfile
 
137
 
 
138
###################################
 
139
# generate reference for quality check
 
140
do_ffmpeg_nocheck $raw_ref -y -f pgmyuv -i $raw_src -an -f rawvideo $raw_ref
 
141
 
 
142
###################################
 
143
if [ -n "$do_mpeg" ] ; then
 
144
# mpeg1 encoding
 
145
file=${outfile}mpeg1.mpg
 
146
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -f mpeg1video $file 
 
147
 
 
148
# mpeg1 decoding
 
149
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
 
150
fi
 
151
 
 
152
###################################
 
153
if [ -n "$do_mpeg2" ] ; then
 
154
# mpeg2 encoding
 
155
file=${outfile}mpeg2.mpg
 
156
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video $file 
 
157
 
 
158
# mpeg2 decoding
 
159
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
 
160
 
 
161
# mpeg2 encoding
 
162
file=${outfile}mpeg2.mpg
 
163
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -idct_algo 1 -dct_algo 2 -f mpeg1video $file 
 
164
 
 
165
# mpeg2 decoding
 
166
do_ffmpeg $raw_dst -y -idct_algo 1 -i $file -f rawvideo $raw_dst
 
167
 
 
168
# mpeg2 encoding interlaced
 
169
file=${outfile}mpeg2i.mpg
 
170
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video -ildct -ilme $file 
 
171
 
 
172
# mpeg2 decoding
 
173
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
 
174
fi
 
175
 
 
176
###################################
 
177
if [ -n "$do_mpeg2thread" ] ; then
 
178
# mpeg2 encoding interlaced
 
179
file=${outfile}mpeg2thread.mpg
 
180
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video -bf 2 -ildct -ilme -threads 2 $file 
 
181
 
 
182
# mpeg2 decoding
 
183
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
 
184
fi
 
185
 
 
186
###################################
 
187
if [ -n "$do_msmpeg4v2" ] ; then
 
188
# msmpeg4 encoding
 
189
file=${outfile}msmpeg4v2.avi
 
190
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec msmpeg4v2 $file
 
191
 
 
192
# msmpeg4v2 decoding
 
193
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
194
fi
 
195
 
 
196
###################################
 
197
if [ -n "$do_msmpeg4" ] ; then
 
198
# msmpeg4 encoding
 
199
file=${outfile}msmpeg4.avi
 
200
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec msmpeg4 $file
 
201
 
 
202
# msmpeg4 decoding
 
203
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
204
fi
 
205
 
 
206
###################################
 
207
if [ -n "$do_wmv1" ] ; then
 
208
# wmv1 encoding
 
209
file=${outfile}wmv1.avi
 
210
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec wmv1 $file
 
211
 
 
212
# wmv1 decoding
 
213
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
214
fi
 
215
 
 
216
###################################
 
217
if [ -n "$do_wmv2" ] ; then
 
218
# wmv2 encoding
 
219
file=${outfile}wmv2.avi
 
220
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec wmv2 $file
 
221
 
 
222
# wmv2 decoding
 
223
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
224
fi
 
225
 
 
226
###################################
 
227
if [ -n "$do_h263" ] ; then
 
228
# h263 encoding
 
229
file=${outfile}h263.avi
 
230
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -s 352x288 -an -vcodec h263 $file
 
231
 
 
232
# h263 decoding
 
233
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
234
fi
 
235
 
 
236
###################################
 
237
if [ -n "$do_h263p" ] ; then
 
238
# h263p encoding
 
239
file=${outfile}h263p.avi
 
240
do_ffmpeg $file -y -qscale 2 -umv -aiv -aic -f pgmyuv -i $raw_src -s 352x288 -an -vcodec h263p -ps 300 $file
 
241
 
 
242
# h263p decoding
 
243
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
244
fi
 
245
 
 
246
###################################
 
247
if [ -n "$do_mpeg4" ] ; then
 
248
# mpeg4
 
249
file=${outfile}odivx.mp4
 
250
do_ffmpeg $file -y -4mv -hq -qscale 10 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
 
251
 
 
252
# mpeg4 decoding
 
253
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
254
fi
 
255
 
 
256
###################################
 
257
if [ -n "$do_huffyuv" ] ; then
 
258
# huffyuv
 
259
file=${outfile}huffyuv.avi
 
260
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec huffyuv -strict -1 $file
 
261
 
 
262
# huffyuv decoding
 
263
do_ffmpeg $raw_dst -y -i $file -f rawvideo -strict -1 $raw_dst
 
264
fi
 
265
 
 
266
###################################
 
267
if [ -n "$do_rc" ] ; then
 
268
# mpeg4 rate control
 
269
file=${outfile}mpeg4-rc.avi
 
270
do_ffmpeg $file -y -b 400 -bf 2 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
 
271
 
 
272
# mpeg4 rate control decoding
 
273
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
274
fi
 
275
 
 
276
###################################
 
277
if [ -n "$do_mpeg4adv" ] ; then
 
278
# mpeg4
 
279
file=${outfile}mpeg4-adv.avi
 
280
do_ffmpeg $file -y -qscale 9 -4mv -hq -part -ps 200 -aic -trell -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
 
281
 
 
282
# mpeg4 decoding
 
283
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
284
fi
 
285
 
 
286
###################################
 
287
if [ -n "$do_mpeg4thread" ] ; then
 
288
# mpeg4
 
289
file=${outfile}mpeg4-thread.avi
 
290
do_ffmpeg $file -y -b 500 -4mv -hq -part -ps 200 -aic -trell -bf 2 -f pgmyuv -i $raw_src -an -vcodec mpeg4 -threads 2 $file
 
291
 
 
292
# mpeg4 decoding
 
293
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
294
fi
 
295
 
 
296
###################################
 
297
if [ -n "$do_mpeg4adv" ] ; then
 
298
# mpeg4
 
299
file=${outfile}mpeg4-Q.avi
 
300
do_ffmpeg $file -y -qscale 7 -4mv -mbd 2 -qpel -bf 2 -cmp 1 -subcmp 2 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
 
301
 
 
302
# mpeg4 decoding
 
303
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
304
fi
 
305
 
 
306
###################################
 
307
if [ -n "$do_error" ] ; then
 
308
# damaged mpeg4
 
309
file=${outfile}error-mpeg4-adv.avi
 
310
do_ffmpeg $file -y -qscale 7 -4mv -mbd 2 -part -ps 250 -error 10 -aic -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
 
311
 
 
312
# damaged mpeg4 decoding
 
313
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
314
fi
 
315
 
 
316
###################################
 
317
if [ -n "$do_mpeg4nr" ] ; then
 
318
# noise reduction
 
319
file=${outfile}mpeg4-nr.avi
 
320
do_ffmpeg $file -y -qscale 8 -4mv -mbd 2 -nr 200 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
 
321
 
 
322
# mpeg4 decoding
 
323
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
324
fi
 
325
 
 
326
###################################
 
327
if [ -n "$do_mpeg1b" ] ; then
 
328
# mpeg1
 
329
file=${outfile}mpeg1b.mpg
 
330
do_ffmpeg $file -y -qscale 8 -bf 3 -ps 200 -f pgmyuv -i $raw_src -an -vcodec mpeg1video -f mpeg1video $file
 
331
 
 
332
# mpeg1 decoding
 
333
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
334
fi
 
335
 
 
336
###################################
 
337
if [ -n "$do_mjpeg" ] ; then
 
338
# mjpeg
 
339
file=${outfile}mjpeg.avi
 
340
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec mjpeg $file
 
341
 
 
342
# mjpeg decoding
 
343
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
344
fi
 
345
 
 
346
###################################
 
347
if [ -n "$do_ljpeg" ] ; then
 
348
# ljpeg
 
349
file=${outfile}ljpeg.avi
 
350
do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec ljpeg $file
 
351
 
 
352
# ljpeg decoding
 
353
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
354
fi
 
355
 
 
356
###################################
 
357
if [ -n "$do_rv10" ] ; then
 
358
# rv10 encoding
 
359
file=${outfile}rv10.rm
 
360
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an $file 
 
361
 
 
362
# rv10 decoding
 
363
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
364
fi
 
365
 
 
366
###################################
 
367
if [ -n "$do_asv1" ] ; then
 
368
# asv1 encoding
 
369
file=${outfile}asv1.avi
 
370
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec asv1 $file
 
371
 
 
372
# asv1 decoding
 
373
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
374
fi
 
375
 
 
376
###################################
 
377
if [ -n "$do_asv2" ] ; then
 
378
# asv2 encoding
 
379
file=${outfile}asv2.avi
 
380
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec asv2 $file
 
381
 
 
382
# asv2 decoding
 
383
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
384
fi
 
385
 
 
386
###################################
 
387
if [ -n "$do_flv" ] ; then
 
388
# flv encoding
 
389
file=${outfile}flv.flv
 
390
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec flv $file
 
391
 
 
392
# flv decoding
 
393
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
394
fi
 
395
 
 
396
###################################
 
397
if [ -n "$do_ffv1" ] ; then
 
398
# ffv1 encoding
 
399
file=${outfile}ffv1.avi
 
400
do_ffmpeg $file -y -strict -1 -f pgmyuv -i $raw_src -an -vcodec ffv1 $file
 
401
 
 
402
# ffv1 decoding
 
403
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
404
fi
 
405
 
 
406
###################################
 
407
if [ -n "$do_svq1" ] ; then
 
408
# svq1 encoding
 
409
file=${outfile}svq1.mov
 
410
do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec svq1 -pix_fmt yuv410p $file
 
411
 
 
412
# svq1 decoding
 
413
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
 
414
fi
 
415
 
 
416
###################################
 
417
if [ -n "$do_mp2" ] ; then
 
418
# mp2 encoding
 
419
file=${outfile}mp2.mp2
 
420
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src $file 
 
421
 
 
422
# mp2 decoding
 
423
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
 
424
fi
 
425
 
 
426
###################################
 
427
if [ -n "$do_ac3" ] ; then
 
428
# ac3 encoding
 
429
file=${outfile}ac3.rm
 
430
do_ffmpeg $file -y -ab 128 -ac 2 -f s16le  -i $pcm_src -vn $file 
 
431
 
 
432
# ac3 decoding
 
433
#do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
 
434
fi
 
435
 
 
436
###################################
 
437
if [ -n "$do_g726" ] ; then
 
438
# g726 encoding
 
439
file=${outfile}g726.wav
 
440
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -ab 32 -ac 1 -ar 8000 -acodec g726 $file 
 
441
 
 
442
# g726 decoding
 
443
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
 
444
fi
 
445
 
 
446
###################################
 
447
if [ -n "$do_adpcm_ima_wav" ] ; then
 
448
# encoding
 
449
file=${outfile}adpcm_ima.wav
 
450
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -acodec adpcm_ima_wav $file 
 
451
 
 
452
# decoding
 
453
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
 
454
fi
 
455
 
 
456
###################################
 
457
if [ -n "$do_adpcm_ms" ] ; then
 
458
# encoding
 
459
file=${outfile}adpcm_ms.wav
 
460
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -acodec adpcm_ms $file 
 
461
 
 
462
# decoding
 
463
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
 
464
fi
 
465
 
 
466
###################################
 
467
# libav testing
 
468
###################################
 
469
 
 
470
if [ -n "$do_libav" ] ; then
 
471
 
 
472
# avi
 
473
file=${outfile}libav.avi
 
474
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
 
475
do_ffmpeg_crc $file -i $file
 
476
 
 
477
# asf
 
478
file=${outfile}libav.asf
 
479
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec mp2 $file
 
480
do_ffmpeg_crc $file -i $file
 
481
 
 
482
# rm
 
483
file=${outfile}libav.rm
 
484
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
 
485
# broken
 
486
#do_ffmpeg_crc $file -i $file
 
487
 
 
488
# mpegps
 
489
file=${outfile}libav.mpg
 
490
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
 
491
do_ffmpeg_crc $file -i $file
 
492
 
 
493
# swf (decode audio only)
 
494
file=${outfile}libav.swf
 
495
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec mp2 $file
 
496
do_ffmpeg_crc $file -i $file
 
497
 
 
498
# ffm
 
499
file=${outfile}libav.ffm
 
500
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
 
501
do_ffmpeg_crc $file -i $file
 
502
 
 
503
# flv
 
504
file=${outfile}libav.flv
 
505
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -an $file
 
506
do_ffmpeg_crc $file -i $file
 
507
 
 
508
# mov
 
509
file=${outfile}libav.mov
 
510
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec pcm_alaw $file
 
511
do_ffmpeg_crc $file -i $file
 
512
 
 
513
# nut
 
514
file=${outfile}libav.nut
 
515
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec mp2 $file
 
516
do_ffmpeg_crc $file -i $file
 
517
 
 
518
# XXX: need mpegts tests (add bitstreams or add output capability in ffmpeg)
 
519
 
 
520
####################
 
521
# streamed images
 
522
# mjpeg
 
523
#file=${outfile}libav.mjpeg
 
524
#do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
 
525
#do_ffmpeg_crc $file -i $file
 
526
 
 
527
# pbmpipe
 
528
file=${outfile}libav.pbm
 
529
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f imagepipe $file
 
530
do_ffmpeg_crc $file -f imagepipe -i $file
 
531
 
 
532
# pgmpipe
 
533
file=${outfile}libav.pgm
 
534
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f imagepipe $file
 
535
do_ffmpeg_crc $file -f imagepipe -i $file
 
536
 
 
537
# ppmpipe
 
538
file=${outfile}libav.ppm
 
539
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f imagepipe $file
 
540
do_ffmpeg_crc $file -f imagepipe -i $file
 
541
 
 
542
# gif
 
543
file=${outfile}libav.gif
 
544
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
 
545
#do_ffmpeg_crc $file -i $file
 
546
 
 
547
# yuv4mpeg
 
548
file=${outfile}libav.yuv4mpeg
 
549
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
 
550
#do_ffmpeg_crc $file -i $file
 
551
 
 
552
####################
 
553
# image formats
 
554
# pgm (we do not do md5 on image files yet)
 
555
file=${outfile}libav%d.pgm
 
556
$ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
 
557
do_ffmpeg_crc $file -i $file
 
558
 
 
559
# ppm (we do not do md5 on image files yet)
 
560
file=${outfile}libav%d.ppm
 
561
$ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
 
562
do_ffmpeg_crc $file -i $file
 
563
 
 
564
# jpeg (we do not do md5 on image files yet)
 
565
#file=${outfile}libav%d.jpg
 
566
#$ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
 
567
#do_ffmpeg_crc $file -i $file
 
568
 
 
569
####################
 
570
# audio only
 
571
 
 
572
# wav
 
573
file=${outfile}libav.wav
 
574
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
 
575
do_ffmpeg_crc $file -i $file
 
576
 
 
577
# alaw
 
578
file=${outfile}libav.al
 
579
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
 
580
do_ffmpeg_crc $file -i $file
 
581
 
 
582
# mulaw
 
583
file=${outfile}libav.ul
 
584
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
 
585
do_ffmpeg_crc $file -i $file
 
586
 
 
587
# au
 
588
file=${outfile}libav.au
 
589
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
 
590
do_ffmpeg_crc $file -i $file
 
591
 
 
592
####################
 
593
# pix_fmt conversions
 
594
conversions="yuv420p yuv422p yuv444p yuv422 yuv410p yuv411p yuvj420p \
 
595
             yuvj422p yuvj444p rgb24 bgr24 rgba32 rgb565 rgb555 gray monow \
 
596
             monob pal8"
 
597
for pix_fmt in $conversions ; do
 
598
    file=${outfile}libav-${pix_fmt}.yuv
 
599
    do_ffmpeg_nocheck $file -r 1 -t 1 -y -f pgmyuv -i $raw_src \
 
600
                            -f rawvideo -s 352x288 -pix_fmt $pix_fmt $raw_dst
 
601
    do_ffmpeg $file -f rawvideo -s 352x288 -pix_fmt $pix_fmt -i $raw_dst \
 
602
                    -f rawvideo -s 352x288 -pix_fmt yuv444p $file
 
603
done
 
604
 
 
605
fi
 
606
 
 
607
 
 
608
 
 
609
if $diff_cmd $logfile $reffile ; then
 
610
    echo 
 
611
    echo Regression test succeeded.
 
612
    exit 0
 
613
else
 
614
    echo 
 
615
    echo Regression test: Error.
 
616
    exit 1
 
617
fi