regression.sh 14.8 KB
Newer Older
1 2 3 4 5 6
#!/bin/sh
#
# automatic regression test for ffmpeg
#
#
#set -x
7 8 9 10 11 12 13 14
# Even in the 21st century some diffs are not supporting -u.
diff -u $0 $0 > /dev/null 2>&1
if [ $? -eq 0 ]; then
  diff_cmd="diff -u"
else
  diff_cmd="diff"
fi

15 16
set -e

F
Fabrice Bellard 已提交
17 18 19
datadir="./data"

logfile="$datadir/ffmpeg.regression"
20
outfile="$datadir/a-"
F
Fabrice Bellard 已提交
21

22 23 24 25 26
# tests to do
if [ "$1" = "mpeg4" ] ; then
    do_mpeg4=y
elif [ "$1" = "mpeg" ] ; then
    do_mpeg=y
F
Fabrice Bellard 已提交
27 28
elif [ "$1" = "ac3" ] ; then
    do_ac3=y
F
Fabrice Bellard 已提交
29 30
elif [ "$1" = "libavtest" ] ; then
    do_libav=y
F
Fabrice Bellard 已提交
31
    logfile="$datadir/libav.regression"
32
    outfile="$datadir/b-"
33 34
else
    do_mpeg=y
M
Michael Niedermayer 已提交
35
    do_mpeg2=y
36
    do_mpeg2thread=y
37
    do_msmpeg4v2=y
38
    do_msmpeg4=y
39
    do_wmv1=y
40
    do_wmv2=y
41
    do_h263=y
M
Michael Niedermayer 已提交
42
    do_h263p=y
43
    do_mpeg4=y
44
    do_huffyuv=y
45
    do_mjpeg=y
46
    do_ljpeg=y
47
    do_rv10=y
48 49
    do_mp2=y
    do_ac3=y
M
Michael Niedermayer 已提交
50
    do_g726=y
51 52
    do_adpcm_ima_wav=y
    do_adpcm_ms=y
53 54
    do_rc=y
    do_mpeg4adv=y
55
    do_mpeg4thread=y
56
    do_mpeg4nr=y
57
    do_mpeg1b=y
M
Michael Niedermayer 已提交
58
    do_asv1=y
M
Michael Niedermayer 已提交
59
    do_asv2=y
M
Michael Niedermayer 已提交
60
    do_flv=y
M
Michael Niedermayer 已提交
61
    do_ffv1=y
62
    do_error=y
63 64 65 66
fi


# various files
M
Mark Hills 已提交
67
ffmpeg="../ffmpeg_g"
68
tiny_psnr="./tiny_psnr"
69
reffile="$2"
F
Fabrice Bellard 已提交
70
benchfile="$datadir/ffmpeg.bench"
71
raw_src="$3/%d.pgm"
F
Fabrice Bellard 已提交
72
raw_dst="$datadir/out.yuv"
73
raw_ref="$datadir/ref.yuv"
74
pcm_src="asynth1.sw"
F
Fabrice Bellard 已提交
75 76 77 78
pcm_dst="$datadir/out.wav"

# create the data directory if it does not exists
mkdir -p $datadir
79

80
do_ffmpeg()
81 82 83
{
    f="$1"
    shift
84 85
    echo $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $*
    $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 -benchmark $* > $datadir/bench.tmp 2> /tmp/ffmpeg$$
F
Fabrice Bellard 已提交
86
    egrep -v "^(Stream|Press|Input|Output|frame|  Stream|  Duration)" /tmp/ffmpeg$$ || true
87
    rm -f /tmp/ffmpeg$$
88
    md5sum -b $f >> $logfile
89 90 91
    if [ $f = $raw_dst ] ; then
        $tiny_psnr $f $raw_ref >> $logfile
    fi
92
    expr "`cat $datadir/bench.tmp`" : '.*utime=\(.*s\)' > $datadir/bench2.tmp
F
Fabrice Bellard 已提交
93
    echo `cat $datadir/bench2.tmp` $f >> $benchfile
94 95
}

96
do_ffmpeg_crc()
F
Fabrice Bellard 已提交
97 98 99
{
    f="$1"
    shift
100
    echo $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $* -f crc $datadir/ffmpeg.crc
101
    $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $* -f crc $datadir/ffmpeg.crc > /tmp/ffmpeg$$ 2>&1
F
Fabrice Bellard 已提交
102
    egrep -v "^(Stream|Press|Input|Output|frame|  Stream|  Duration)" /tmp/ffmpeg$$ || true
103 104
    rm -f /tmp/ffmpeg$$ 
    echo "$f `cat $datadir/ffmpeg.crc`" >> $logfile
F
Fabrice Bellard 已提交
105
}
106

107 108 109 110
do_ffmpeg_nocheck()
{
    f="$1"
    shift
111 112
    echo $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 $*
    $ffmpeg -y -bitexact -dct_algo 1 -idct_algo 2 -benchmark $* > $datadir/bench.tmp 2> /tmp/ffmpeg$$
F
Fabrice Bellard 已提交
113
    egrep -v "^(Stream|Press|Input|Output|frame|  Stream|  Duration)" /tmp/ffmpeg$$ || true
114
    rm -f /tmp/ffmpeg$$
115 116 117 118
    expr "`cat $datadir/bench.tmp`" : '.*utime=\(.*s\)' > $datadir/bench2.tmp
    echo `cat $datadir/bench2.tmp` $f >> $benchfile
}

119 120 121
echo "ffmpeg regression test" > $logfile
echo "ffmpeg benchmarks" > $benchfile

122 123 124 125
###################################
# generate reference for quality check
do_ffmpeg_nocheck $raw_ref -y -f pgmyuv -i $raw_src -an -f rawvideo $raw_ref

126 127 128 129
###################################
if [ -n "$do_mpeg" ] ; then
# mpeg1 encoding
file=${outfile}mpeg1.mpg
F
Fabrice Bellard 已提交
130
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -f mpeg1video $file 
131 132

# mpeg1 decoding
F
Fabrice Bellard 已提交
133
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
M
Michael Niedermayer 已提交
134 135 136 137 138
fi

###################################
if [ -n "$do_mpeg2" ] ; then
# mpeg2 encoding
139 140 141 142 143 144 145 146
file=${outfile}mpeg2.mpg
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video $file 

# mpeg2 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst

# mpeg2 encoding interlaced
file=${outfile}mpeg2i.mpg
147
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video -ildct -ilme $file 
148 149

# mpeg2 decoding
M
Michael Niedermayer 已提交
150
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
151 152
fi

153 154 155 156 157 158 159 160 161 162
###################################
if [ -n "$do_mpeg2thread" ] ; then
# mpeg2 encoding interlaced
file=${outfile}mpeg2thread.mpg
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video -bf 2 -ildct -ilme -threads 2 $file 

# mpeg2 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
fi

163 164 165 166 167 168 169 170 171 172
###################################
if [ -n "$do_msmpeg4v2" ] ; then
# msmpeg4 encoding
file=${outfile}msmpeg4v2.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec msmpeg4v2 $file

# msmpeg4v2 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

173 174 175 176 177 178 179 180 181 182
###################################
if [ -n "$do_msmpeg4" ] ; then
# msmpeg4 encoding
file=${outfile}msmpeg4.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec msmpeg4 $file

# msmpeg4 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

183 184 185 186 187 188 189 190 191 192
###################################
if [ -n "$do_wmv1" ] ; then
# wmv1 encoding
file=${outfile}wmv1.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec wmv1 $file

# wmv1 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

193 194 195 196 197 198 199 200 201 202
###################################
if [ -n "$do_wmv2" ] ; then
# wmv2 encoding
file=${outfile}wmv2.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec wmv2 $file

# wmv2 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

203 204 205 206 207 208
###################################
if [ -n "$do_h263" ] ; then
# h263 encoding
file=${outfile}h263.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -s 352x288 -an -vcodec h263 $file

M
Michael Niedermayer 已提交
209 210 211 212 213 214 215 216
# h263 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

###################################
if [ -n "$do_h263p" ] ; then
# h263p encoding
file=${outfile}h263p.avi
217
do_ffmpeg $file -y -qscale 2 -umv -aiv -aic -f pgmyuv -i $raw_src -s 352x288 -an -vcodec h263p -ps 300 $file
M
Michael Niedermayer 已提交
218

219 220 221 222 223 224 225
# h263p decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

###################################
if [ -n "$do_mpeg4" ] ; then
# mpeg4
226
file=${outfile}odivx.mp4
M
cleanup  
Michael Niedermayer 已提交
227
do_ffmpeg $file -y -4mv -hq -qscale 10 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
228 229 230 231 232

# mpeg4 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

233 234 235 236 237 238 239 240 241 242
###################################
if [ -n "$do_huffyuv" ] ; then
# huffyuv
file=${outfile}huffyuv.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec huffyuv -strict -1 $file

# huffyuv decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo -strict -1 $raw_dst
fi

243 244 245 246 247 248 249 250 251 252 253 254 255 256
###################################
if [ -n "$do_rc" ] ; then
# mpeg4 rate control
file=${outfile}mpeg4-rc.avi
do_ffmpeg $file -y -b 400 -bf 2 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file

# mpeg4 rate control decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

###################################
if [ -n "$do_mpeg4adv" ] ; then
# mpeg4
file=${outfile}mpeg4-adv.avi
257
do_ffmpeg $file -y -qscale 9 -4mv -hq -part -ps 200 -aic -trell -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
258 259 260 261 262

# mpeg4 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

263 264 265 266 267 268 269 270 271 272
###################################
if [ -n "$do_mpeg4thread" ] ; then
# mpeg4
file=${outfile}mpeg4-thread.avi
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

# mpeg4 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

273 274 275 276 277 278 279 280 281 282
###################################
if [ -n "$do_error" ] ; then
# damaged mpeg4
file=${outfile}error-mpeg4-adv.avi
do_ffmpeg $file -y -qscale 7 -4mv -mbd 2 -part -ps 250 -error 10 -aic -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file

# damaged mpeg4 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

283 284 285
###################################
if [ -n "$do_mpeg4nr" ] ; then
# noise reduction
286
file=${outfile}mpeg4-nr.avi
287 288 289 290 291 292
do_ffmpeg $file -y -qscale 8 -4mv -mbd 2 -nr 200 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file

# mpeg4 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

293 294 295 296
###################################
if [ -n "$do_mpeg1b" ] ; then
# mpeg1
file=${outfile}mpeg1b.mpg
297
do_ffmpeg $file -y -qscale 8 -bf 3 -ps 200 -f pgmyuv -i $raw_src -an -vcodec mpeg1video -f mpeg1video $file
298 299 300 301 302

# mpeg1 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

303 304 305 306 307 308 309 310 311 312 313
###################################
if [ -n "$do_mjpeg" ] ; then
# mjpeg
file=${outfile}mjpeg.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec mjpeg $file

# mjpeg decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

###################################
314 315 316 317 318 319 320 321 322 323
if [ -n "$do_ljpeg" ] ; then
# ljpeg
file=${outfile}ljpeg.avi
do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec ljpeg $file

# ljpeg decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

###################################
324 325 326 327 328 329 330 331 332
if [ -n "$do_rv10" ] ; then
# rv10 encoding
file=${outfile}rv10.rm
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an $file 

# rv10 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

M
Michael Niedermayer 已提交
333 334 335 336 337 338 339 340 341 342
###################################
if [ -n "$do_asv1" ] ; then
# asv1 encoding
file=${outfile}asv1.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec asv1 $file

# asv1 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

M
Michael Niedermayer 已提交
343 344 345 346 347 348 349 350 351 352
###################################
if [ -n "$do_asv2" ] ; then
# asv2 encoding
file=${outfile}asv2.avi
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec asv2 $file

# asv2 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

M
Michael Niedermayer 已提交
353 354 355 356 357 358 359 360 361 362
###################################
if [ -n "$do_flv" ] ; then
# flv encoding
file=${outfile}flv.flv
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec flv $file

# flv decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

M
Michael Niedermayer 已提交
363 364 365 366 367 368 369 370 371 372
###################################
if [ -n "$do_ffv1" ] ; then
# ffv1 encoding
file=${outfile}ffv1.avi
do_ffmpeg $file -y -strict -1 -f pgmyuv -i $raw_src -an -vcodec ffv1 $file

# ffv1 decoding
do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
fi

373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
###################################
if [ -n "$do_mp2" ] ; then
# mp2 encoding
file=${outfile}mp2.mp2
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src $file 

# mp2 decoding
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
fi

###################################
if [ -n "$do_ac3" ] ; then
# ac3 encoding
file=${outfile}ac3.rm
do_ffmpeg $file -y -ab 128 -ac 2 -f s16le  -i $pcm_src -vn $file 

# ac3 decoding
390
#do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
391 392
fi

M
Michael Niedermayer 已提交
393 394 395 396 397 398 399 400 401 402
###################################
if [ -n "$do_g726" ] ; then
# g726 encoding
file=${outfile}g726.wav
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -ab 32 -ac 1 -ar 8000 -acodec g726 $file 

# g726 decoding
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
fi

403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422
###################################
if [ -n "$do_adpcm_ima_wav" ] ; then
# encoding
file=${outfile}adpcm_ima.wav
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -acodec adpcm_ima_wav $file 

# decoding
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
fi

###################################
if [ -n "$do_adpcm_ms" ] ; then
# encoding
file=${outfile}adpcm_ms.wav
do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -acodec adpcm_ms $file 

# decoding
do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst 
fi

F
Fabrice Bellard 已提交
423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451
###################################
# libav testing
###################################

if [ -n "$do_libav" ] ; then

# avi
file=${outfile}libav.avi
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

# asf
file=${outfile}libav.asf
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

# rm
file=${outfile}libav.rm
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
# broken
#do_ffmpeg_crc $file -i $file

# mpegps
file=${outfile}libav.mpg
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

# swf (decode audio only)
file=${outfile}libav.swf
452 453
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file
F
Fabrice Bellard 已提交
454 455 456 457

# ffm
file=${outfile}libav.ffm
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
458
do_ffmpeg_crc $file -i $file
F
Fabrice Bellard 已提交
459

M
Michael Niedermayer 已提交
460 461 462 463 464
# flv
file=${outfile}libav.flv
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

M
Michael Niedermayer 已提交
465 466 467 468 469 470 471 472 473 474 475
# mov
#file=${outfile}libav.mov
#do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
#do_ffmpeg_crc $file -i $file

# nut
file=${outfile}libav.nut
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

# XXX: need mpegts tests (add bitstreams or add output capability in ffmpeg)
F
Fabrice Bellard 已提交
476 477 478 479

####################
# streamed images
# mjpeg
480 481 482
#file=${outfile}libav.mjpeg
#do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
#do_ffmpeg_crc $file -i $file
F
Fabrice Bellard 已提交
483

F
Fabrice Bellard 已提交
484 485 486 487 488
# pbmpipe
file=${outfile}libav.pbm
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f imagepipe $file
do_ffmpeg_crc $file -f imagepipe -i $file

F
Fabrice Bellard 已提交
489
# pgmpipe
F
Fabrice Bellard 已提交
490 491 492
file=${outfile}libav.pgm
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f imagepipe $file
do_ffmpeg_crc $file -f imagepipe -i $file
F
Fabrice Bellard 已提交
493 494

# ppmpipe
F
Fabrice Bellard 已提交
495 496 497
file=${outfile}libav.ppm
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f imagepipe $file
do_ffmpeg_crc $file -f imagepipe -i $file
F
Fabrice Bellard 已提交
498 499 500

# gif
file=${outfile}libav.gif
F
Fabrice Bellard 已提交
501 502 503 504 505 506 507
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
#do_ffmpeg_crc $file -i $file

# yuv4mpeg
file=${outfile}libav.yuv4mpeg
do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
#do_ffmpeg_crc $file -i $file
F
Fabrice Bellard 已提交
508 509 510 511 512 513 514 515 516 517 518 519 520

####################
# image formats
# pgm (we do not do md5 on image files yet)
file=${outfile}libav%d.pgm
$ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
do_ffmpeg_crc $file -i $file

# ppm (we do not do md5 on image files yet)
file=${outfile}libav%d.ppm
$ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
do_ffmpeg_crc $file -i $file

521
# jpeg (we do not do md5 on image files yet)
522 523 524
#file=${outfile}libav%d.jpg
#$ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
#do_ffmpeg_crc $file -i $file
525

F
Fabrice Bellard 已提交
526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548
####################
# audio only

# wav
file=${outfile}libav.wav
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

# alaw
file=${outfile}libav.al
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

# mulaw
file=${outfile}libav.ul
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

# au
file=${outfile}libav.au
do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
do_ffmpeg_crc $file -i $file

549 550 551 552 553 554 555 556 557 558 559 560 561
####################
# pix_fmt conversions
conversions="yuv420p yuv422p yuv444p yuv422 yuv410p yuv411p yuvj420p \
             yuvj422p yuvj444p rgb24 bgr24 rgba32 rgb565 rgb555 gray monow \
	     monob pal8"
for pix_fmt in $conversions ; do
    file=${outfile}libav-${pix_fmt}.yuv
    do_ffmpeg_nocheck $file -r 1 -t 1 -y -f pgmyuv -i $raw_src \
                            -f rawvideo -s 352x288 -pix_fmt $pix_fmt $raw_dst
    do_ffmpeg $file -f rawvideo -s 352x288 -pix_fmt $pix_fmt -i $raw_dst \
                    -f rawvideo -s 352x288 -pix_fmt yuv444p $file
done

F
Fabrice Bellard 已提交
562 563 564
fi


565

566
if $diff_cmd $logfile $reffile ; then
567 568 569 570 571 572 573 574
    echo 
    echo Regression test succeeded.
    exit 0
else
    echo 
    echo Regression test: Error.
    exit 1
fi