3 # automatic regression test for ffmpeg
7 # Even in the 21st century some diffs are not supporting -u.
8 diff -u "$0" "$0" > /dev/null 2>&1
15 diff -w "$0" "$0" > /dev/null 2>&1
17 diff_cmd="$diff_cmd -w"
24 logfile="$datadir/ffmpeg.regression"
28 if [ "$1" = "mpeg4" ] ; then
30 elif [ "$1" = "mpeg" ] ; then
33 elif [ "$1" = "ac3" ] ; then
35 elif [ "$1" = "huffyuv" ] ; then
37 elif [ "$1" = "mpeg2thread" ] ; then
39 elif [ "$1" = "snow" ] ; then
41 elif [ "$1" = "snowll" ] ; then
43 elif [ "$1" = "libavtest" ] ; then
45 logfile="$datadir/libav.regression"
91 tiny_psnr="./tiny_psnr"
93 benchfile="$datadir/ffmpeg.bench"
95 raw_dst="$datadir/out.yuv"
96 raw_ref="$datadir/ref.yuv"
98 pcm_dst="$datadir/out.wav"
99 pcm_ref="$datadir/ref.wav"
100 if [ X"`echo | md5sum 2> /dev/null`" != X ]; then
101 do_md5sum() { md5sum -b $1; }
102 elif [ -x /sbin/md5 ]; then
103 do_md5sum() { /sbin/md5 -r $1 | sed 's# \**\./# *./#'; }
105 do_md5sum() { echo No md5sum program found; }
108 # create the data directory if it does not exists
115 echo $ffmpeg -y -flags +bitexact -dct fastint -idct simple $*
116 $ffmpeg -y -flags +bitexact -dct fastint -idct simple -benchmark $* > $datadir/bench.tmp 2> /tmp/ffmpeg$$
117 egrep -v "^(Stream|Press|Input|Output|frame| Stream| Duration|video:)" /tmp/ffmpeg$$ || true
119 do_md5sum $f >> $logfile
120 if [ $f = $raw_dst ] ; then
121 $tiny_psnr $f $raw_ref >> $logfile
122 elif [ $f = $pcm_dst ] ; then
123 $tiny_psnr $f $pcm_ref 2 >> $logfile
127 expr "`cat $datadir/bench.tmp`" : '.*utime=\(.*s\)' > $datadir/bench2.tmp
128 echo `cat $datadir/bench2.tmp` $f >> $benchfile
135 echo $ffmpeg -y -flags +bitexact -dct fastint -idct simple $* -f crc $datadir/ffmpeg.crc
136 $ffmpeg -y -flags +bitexact -dct fastint -idct simple $* -f crc $datadir/ffmpeg.crc > /tmp/ffmpeg$$ 2>&1
137 egrep -v "^(Stream|Press|Input|Output|frame| Stream| Duration|video:|ffmpeg version| configuration| built)" /tmp/ffmpeg$$ || true
139 echo "$f `cat $datadir/ffmpeg.crc`" >> $logfile
146 echo $ffmpeg -y -flags +bitexact -dct fastint -idct simple $*
147 $ffmpeg -y -flags +bitexact -dct fastint -idct simple -benchmark $* > $datadir/bench.tmp 2> /tmp/ffmpeg$$
148 egrep -v "^(Stream|Press|Input|Output|frame| Stream| Duration|video:)" /tmp/ffmpeg$$ || true
150 expr "`cat $datadir/bench.tmp`" : '.*utime=\(.*s\)' > $datadir/bench2.tmp
151 echo `cat $datadir/bench2.tmp` $f >> $benchfile
154 echo "ffmpeg regression test" > $logfile
155 echo "ffmpeg benchmarks" > $benchfile
157 ###################################
158 # generate reference for quality check
159 do_ffmpeg_nocheck $raw_ref -y -f pgmyuv -i $raw_src -an -f rawvideo $raw_ref
160 do_ffmpeg_nocheck $pcm_ref -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -f wav $pcm_ref
162 ###################################
163 if [ -n "$do_mpeg" ] ; then
165 file=${outfile}mpeg1.mpg
166 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -f mpeg1video $file
169 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
172 ###################################
173 if [ -n "$do_mpeg2" ] ; then
175 file=${outfile}mpeg2.mpg
176 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video $file
179 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
182 file=${outfile}mpeg2.mpg
183 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -idct int -dct int -f mpeg1video $file
186 do_ffmpeg $raw_dst -y -idct int -i $file -f rawvideo $raw_dst
188 # mpeg2 encoding interlaced
189 file=${outfile}mpeg2i.mpg
190 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video -flags +ildct+ilme $file
193 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
196 ###################################
197 if [ -n "$do_mpeg2thread" ] ; then
198 # mpeg2 encoding interlaced
199 file=${outfile}mpeg2thread.mpg
200 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -threads 2 $file
203 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
205 # mpeg2 encoding interlaced
206 file=${outfile}mpeg2reuse.mpg
207 do_ffmpeg $file -y -sameq -me_threshold 256 -mb_threshold 1024 -i ${outfile}mpeg2thread.mpg -vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -threads 4 $file
210 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
213 ###################################
214 if [ -n "$do_msmpeg4v2" ] ; then
216 file=${outfile}msmpeg4v2.avi
217 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec msmpeg4v2 $file
220 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
223 ###################################
224 if [ -n "$do_msmpeg4" ] ; then
226 file=${outfile}msmpeg4.avi
227 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec msmpeg4 $file
230 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
233 ###################################
234 if [ -n "$do_wmv1" ] ; then
236 file=${outfile}wmv1.avi
237 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec wmv1 $file
240 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
243 ###################################
244 if [ -n "$do_wmv2" ] ; then
246 file=${outfile}wmv2.avi
247 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec wmv2 $file
250 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
253 ###################################
254 if [ -n "$do_h261" ] ; then
256 file=${outfile}h261.avi
257 do_ffmpeg $file -y -qscale 11 -f pgmyuv -i $raw_src -s 352x288 -an -vcodec h261 $file
260 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
263 ###################################
264 if [ -n "$do_h263" ] ; then
266 file=${outfile}h263.avi
267 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -s 352x288 -an -vcodec h263 $file
270 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
273 ###################################
274 if [ -n "$do_h263p" ] ; then
276 file=${outfile}h263p.avi
277 do_ffmpeg $file -y -qscale 2 -flags +umv+aiv+aic -f pgmyuv -i $raw_src -s 352x288 -an -vcodec h263p -ps 300 $file
280 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
283 ###################################
284 if [ -n "$do_mpeg4" ] ; then
286 file=${outfile}odivx.mp4
287 do_ffmpeg $file -y -flags +mv4 -mbd bits -qscale 10 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
290 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
293 ###################################
294 if [ -n "$do_huffyuv" ] ; then
296 file=${outfile}huffyuv.avi
297 do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec huffyuv -pix_fmt yuv422p $file
300 do_ffmpeg $raw_dst -y -i $file -f rawvideo -strict -2 -pix_fmt yuv420p $raw_dst
303 ###################################
304 if [ -n "$do_rc" ] ; then
306 file=${outfile}mpeg4-rc.avi
307 do_ffmpeg $file -y -b 400 -bf 2 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
309 # mpeg4 rate control decoding
310 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
313 ###################################
314 if [ -n "$do_mpeg4adv" ] ; then
316 file=${outfile}mpeg4-adv.avi
317 do_ffmpeg $file -y -qscale 9 -flags +mv4+part+aic+trell -mbd bits -ps 200 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
320 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
323 ###################################
324 if [ -n "$do_mpeg4thread" ] ; then
326 file=${outfile}mpeg4-thread.avi
327 do_ffmpeg $file -y -b 500 -flags +mv4+part+aic+trell -mbd bits -ps 200 -bf 2 -f pgmyuv -i $raw_src -an -vcodec mpeg4 -threads 2 $file
330 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
333 ###################################
334 if [ -n "$do_mpeg4adv" ] ; then
336 file=${outfile}mpeg4-Q.avi
337 do_ffmpeg $file -y -qscale 7 -flags +mv4+qpel -mbd 2 -bf 2 -cmp 1 -subcmp 2 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
340 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
343 ###################################
344 if [ -n "$do_mp4psp" ] ; then
346 file=${outfile}mpeg4-PSP.mp4
347 do_ffmpeg $file -y -b 768 -s 320x240 -f psp -ar 24000 -ab 32 -i $raw_src $file
350 ###################################
351 if [ -n "$do_error" ] ; then
353 file=${outfile}error-mpeg4-adv.avi
354 do_ffmpeg $file -y -qscale 7 -flags +mv4+part+aic -mbd rd -ps 250 -error 10 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
356 # damaged mpeg4 decoding
357 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
360 ###################################
361 if [ -n "$do_mpeg4nr" ] ; then
363 file=${outfile}mpeg4-nr.avi
364 do_ffmpeg $file -y -qscale 8 -flags +mv4 -mbd rd -nr 200 -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
367 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
370 ###################################
371 if [ -n "$do_mpeg1b" ] ; then
373 file=${outfile}mpeg1b.mpg
374 do_ffmpeg $file -y -qscale 8 -bf 3 -ps 200 -f pgmyuv -i $raw_src -an -vcodec mpeg1video -f mpeg1video $file
377 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
380 ###################################
381 if [ -n "$do_mjpeg" ] ; then
383 file=${outfile}mjpeg.avi
384 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec mjpeg -pix_fmt yuvj420p $file
387 do_ffmpeg $raw_dst -y -i $file -f rawvideo -pix_fmt yuv420p $raw_dst
390 ###################################
391 if [ -n "$do_ljpeg" ] ; then
393 file=${outfile}ljpeg.avi
394 do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec ljpeg -strict -1 $file
397 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
400 ###################################
401 if [ -n "$do_jpegls" ] ; then
403 file=${outfile}jpegls.avi
404 do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec jpegls -vtag MJPG $file
407 do_ffmpeg $raw_dst -y -i $file -f rawvideo -pix_fmt yuv420p $raw_dst
410 ###################################
411 if [ -n "$do_rv10" ] ; then
413 file=${outfile}rv10.rm
414 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an $file
417 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
420 ###################################
421 if [ -n "$do_rv20" ] ; then
423 file=${outfile}rv20.rm
424 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -vcodec rv20 -an $file
427 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
430 ###################################
431 if [ -n "$do_asv1" ] ; then
433 file=${outfile}asv1.avi
434 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec asv1 $file
437 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
440 ###################################
441 if [ -n "$do_asv2" ] ; then
443 file=${outfile}asv2.avi
444 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec asv2 $file
447 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
450 ###################################
451 if [ -n "$do_flv" ] ; then
453 file=${outfile}flv.flv
454 do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec flv $file
457 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
460 ###################################
461 if [ -n "$do_ffv1" ] ; then
463 file=${outfile}ffv1.avi
464 do_ffmpeg $file -y -strict -2 -f pgmyuv -i $raw_src -an -vcodec ffv1 $file
467 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
470 ###################################
471 if [ -n "$do_snow" ] ; then
473 file=${outfile}snow.avi
474 do_ffmpeg $file -y -strict -2 -f pgmyuv -i $raw_src -an -vcodec snow -qscale 2 -flags +qpel -me iter -dia_size 2 -cmp 12 -subcmp 12 -s 128x64 $file
477 do_ffmpeg $raw_dst -y -i $file -f rawvideo -s 352x288 $raw_dst
480 ###################################
481 if [ -n "$do_snowll" ] ; then
483 file=${outfile}snow53.avi
484 do_ffmpeg $file -y -strict -2 -f pgmyuv -i $raw_src -an -vcodec snow -pred 1 -flags +mv4+qpel $file
487 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
490 ###################################
491 if [ -n "$do_dv" ] ; then
494 do_ffmpeg $file -dct int -y -f pgmyuv -i $raw_src -s pal -an $file
497 do_ffmpeg $raw_dst -y -i $file -f rawvideo -s cif $raw_dst
500 ###################################
501 if [ -n "$do_svq1" ] ; then
503 file=${outfile}svq1.mov
504 do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec svq1 -qscale 3 -pix_fmt yuv410p $file
507 do_ffmpeg $raw_dst -y -i $file -f rawvideo -pix_fmt yuv420p $raw_dst
510 ###################################
511 if [ -n "$do_mp2" ] ; then
513 file=${outfile}mp2.mp2
514 do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src $file
517 do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst
518 $tiny_psnr $pcm_dst $pcm_ref 2 1924 >> $logfile
521 ###################################
522 if [ -n "$do_ac3" ] ; then
524 file=${outfile}ac3.rm
525 do_ffmpeg $file -y -ab 128 -ac 2 -f s16le -i $pcm_src -vn $file
528 #do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst
531 ###################################
532 if [ -n "$do_g726" ] ; then
534 file=${outfile}g726.wav
535 do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -ab 32 -ac 1 -ar 8000 -acodec g726 $file
538 do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst
541 ###################################
542 if [ -n "$do_adpcm_ima_wav" ] ; then
544 file=${outfile}adpcm_ima.wav
545 do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -acodec adpcm_ima_wav $file
548 do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst
551 ###################################
552 if [ -n "$do_adpcm_ms" ] ; then
554 file=${outfile}adpcm_ms.wav
555 do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -acodec adpcm_ms $file
558 do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst
561 ###################################
562 if [ -n "$do_adpcm_yam" ] ; then
564 file=${outfile}adpcm_yam.wav
565 do_ffmpeg $file -y -ab 128 -ac 2 -ar 44100 -f s16le -i $pcm_src -acodec adpcm_yamaha $file
568 do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst
571 ###################################
573 ###################################
575 if [ -n "$do_libav" ] ; then
578 file=${outfile}libav.avi
579 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
580 do_ffmpeg_crc $file -i $file
583 file=${outfile}libav.asf
584 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec mp2 $file
585 do_ffmpeg_crc $file -i $file -r 25
588 file=${outfile}libav.rm
589 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
591 #do_ffmpeg_crc $file -i $file
594 file=${outfile}libav.mpg
595 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
596 do_ffmpeg_crc $file -i $file
599 file=${outfile}libav.ts
600 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
601 do_ffmpeg_crc $file -i $file
603 # swf (decode audio only)
604 file=${outfile}libav.swf
605 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec mp2 $file
606 do_ffmpeg_crc $file -i $file
609 file=${outfile}libav.ffm
610 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file
611 do_ffmpeg_crc $file -i $file
614 file=${outfile}libav.flv
615 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -an $file
616 do_ffmpeg_crc $file -i $file
619 file=${outfile}libav.mov
620 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec pcm_alaw $file
621 do_ffmpeg_crc $file -i $file
624 file=${outfile}libav.nut
625 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -acodec mp2 $file
626 do_ffmpeg_crc $file -i $file
629 file=${outfile}libav.dv
630 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src -ar 48000 -r 25 -s pal -ac 2 $file
631 do_ffmpeg_crc $file -i $file
636 #file=${outfile}libav.mjpeg
637 #do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
638 #do_ffmpeg_crc $file -i $file
641 file=${outfile}libav.pbm
642 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f image2pipe $file
643 do_ffmpeg_crc $file -f image2pipe -i $file
646 file=${outfile}libav.pgm
647 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f image2pipe $file
648 do_ffmpeg_crc $file -f image2pipe -i $file
651 file=${outfile}libav.ppm
652 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f image2pipe $file
653 do_ffmpeg_crc $file -f image2pipe -i $file
656 file=${outfile}libav.gif
657 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
658 #do_ffmpeg_crc $file -i $file
661 file=${outfile}libav.y4m
662 do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file
663 #do_ffmpeg_crc $file -i $file
667 # pgm (we do not do md5 on image files yet)
668 file=${outfile}libav%02d.pgm
669 $ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
670 do_ffmpeg_crc $file -i $file
672 # ppm (we do not do md5 on image files yet)
673 file=${outfile}libav%02d.ppm
674 $ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $file
675 do_ffmpeg_crc $file -i $file
677 # jpeg (we do not do md5 on image files yet)
678 file=${outfile}libav%02d.jpg
679 $ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src -flags +bitexact -dct fastint -idct simple -pix_fmt yuvj420p -f image2 $file
680 do_ffmpeg_crc $file -f image2 -i $file
686 file=${outfile}libav.wav
687 do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
688 do_ffmpeg_crc $file -i $file
691 file=${outfile}libav.al
692 do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
693 do_ffmpeg_crc $file -i $file
696 file=${outfile}libav.ul
697 do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
698 do_ffmpeg_crc $file -i $file
701 file=${outfile}libav.au
702 do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
703 do_ffmpeg_crc $file -i $file
706 file=${outfile}libav.mmf
707 do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
708 do_ffmpeg_crc $file -i $file
711 file=${outfile}libav.aif
712 do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
713 do_ffmpeg_crc $file -i $file
716 file=${outfile}libav.voc
717 do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file
718 do_ffmpeg_crc $file -i $file
721 # pix_fmt conversions
722 conversions="yuv420p yuv422p yuv444p yuv422 yuv410p yuv411p yuvj420p \
723 yuvj422p yuvj444p rgb24 bgr24 rgba32 rgb565 rgb555 gray monow \
725 for pix_fmt in $conversions ; do
726 file=${outfile}libav-${pix_fmt}.yuv
727 do_ffmpeg_nocheck $file -r 1 -t 1 -y -f pgmyuv -i $raw_src \
728 -f rawvideo -s 352x288 -pix_fmt $pix_fmt $raw_dst
729 do_ffmpeg $file -f rawvideo -s 352x288 -pix_fmt $pix_fmt -i $raw_dst \
730 -f rawvideo -s 352x288 -pix_fmt yuv444p $file
737 if $diff_cmd "$logfile" "$reffile" ; then
739 echo Regression test succeeded.
743 echo Regression test: Error.