OLD | NEW |
1 #!/bin/sh | 1 #!/bin/sh |
2 # | 2 # |
3 # common regression functions for ffmpeg | 3 # common regression functions for ffmpeg |
4 # | 4 # |
5 # | 5 # |
6 | 6 |
7 test="${1#regtest-}" | 7 test="${1#regtest-}" |
8 test_ref=$2 | 8 test_ref=$2 |
9 raw_src_dir=$3 | 9 raw_src_dir=$3 |
10 outfile_prefix=$4 | 10 target_exec=$4 |
11 target_exec=$5 | 11 target_path=$5 |
12 target_path=$6 | |
13 | 12 |
14 datadir="./tests/data" | 13 datadir="./tests/data" |
15 target_datadir="${target_path}/${datadir}" | 14 target_datadir="${target_path}/${datadir}" |
16 | 15 |
17 this="$test.$test_ref" | 16 this="$test.$test_ref" |
18 logfile="$datadir/$this.regression" | 17 logfile="$datadir/$this.regression" |
19 outfile="$datadir/${outfile_prefix}-" | 18 outfile="$datadir/$test_ref/" |
20 errfile="$datadir/$this.err" | 19 errfile="$datadir/$this.err" |
21 | 20 |
22 # various files | 21 # various files |
23 ffmpeg="$target_exec ${target_path}/ffmpeg_g" | 22 ffmpeg="$target_exec ${target_path}/ffmpeg" |
24 tiny_psnr="tests/tiny_psnr" | 23 tiny_psnr="tests/tiny_psnr" |
25 benchfile="$datadir/$this.bench" | 24 benchfile="$datadir/$this.bench" |
26 bench="$datadir/$this.bench.tmp" | 25 bench="$datadir/$this.bench.tmp" |
27 bench2="$datadir/$this.bench2.tmp" | 26 bench2="$datadir/$this.bench2.tmp" |
28 raw_src="${target_path}/$raw_src_dir/%02d.pgm" | 27 raw_src="${target_path}/$raw_src_dir/%02d.pgm" |
29 raw_dst="$datadir/$this.out.yuv" | 28 raw_dst="$datadir/$this.out.yuv" |
30 raw_ref="$datadir/$test_ref.ref.yuv" | 29 raw_ref="$datadir/$test_ref.ref.yuv" |
31 pcm_src="$target_datadir/asynth1.sw" | 30 pcm_src="$target_datadir/asynth1.sw" |
32 pcm_dst="$datadir/$this.out.wav" | 31 pcm_dst="$datadir/$this.out.wav" |
33 pcm_ref="$datadir/$test_ref.ref.wav" | 32 pcm_ref="$datadir/$test_ref.ref.wav" |
34 crcfile="$datadir/$this.crc" | 33 crcfile="$datadir/$this.crc" |
35 target_crcfile="$target_datadir/$this.crc" | 34 target_crcfile="$target_datadir/$this.crc" |
36 | 35 |
37 mkdir -p "$datadir" | 36 mkdir -p "$datadir" |
| 37 mkdir -p "$outfile" |
38 | 38 |
39 [ "${V-0}" -gt 0 ] && echov=echo || echov=: | 39 [ "${V-0}" -gt 0 ] && echov=echo || echov=: |
40 [ "${V-0}" -gt 1 ] || exec 2>$errfile | 40 [ "${V-0}" -gt 1 ] || exec 2>$errfile |
41 | 41 |
42 if [ X"$(echo | md5sum 2> /dev/null)" != X ]; then | 42 . $(dirname $0)/md5.sh |
43 do_md5sum() { md5sum -b $1; } | |
44 elif [ X"$(echo | md5 2> /dev/null)" != X ]; then | |
45 do_md5sum() { md5 $1 | sed 's#MD5 (\(.*\)) = \(.*\)#\2 *\1#'; } | |
46 elif [ -x /sbin/md5 ]; then | |
47 do_md5sum() { /sbin/md5 -r $1 | sed 's# \**\./# *./#'; } | |
48 else | |
49 do_md5sum() { echo No md5sum program found; } | |
50 fi | |
51 | 43 |
52 FFMPEG_OPTS="-v 0 -y -flags +bitexact -dct fastint -idct simple -sws_flags +accu
rate_rnd+bitexact" | 44 FFMPEG_OPTS="-v 0 -y -flags +bitexact -dct fastint -idct simple -sws_flags +accu
rate_rnd+bitexact" |
53 | 45 |
54 do_ffmpeg() | 46 do_ffmpeg() |
55 { | 47 { |
56 f="$1" | 48 f="$1" |
57 shift | 49 shift |
58 set -- $* ${target_path}/$f | 50 set -- $* ${target_path}/$f |
59 $echov $ffmpeg $FFMPEG_OPTS $* | 51 $echov $ffmpeg $FFMPEG_OPTS $* |
60 $ffmpeg $FFMPEG_OPTS -benchmark $* > $bench | 52 $ffmpeg $FFMPEG_OPTS -benchmark $* > $bench |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 do_audio_encoding() | 115 do_audio_encoding() |
124 { | 116 { |
125 file=${outfile}$1 | 117 file=${outfile}$1 |
126 do_ffmpeg $file -ab 128k -ac 2 -f s16le -i $pcm_src $3 | 118 do_ffmpeg $file -ab 128k -ac 2 -f s16le -i $pcm_src $3 |
127 } | 119 } |
128 | 120 |
129 do_audio_decoding() | 121 do_audio_decoding() |
130 { | 122 { |
131 do_ffmpeg $pcm_dst -i $target_path/$file -sample_fmt s16 -f wav | 123 do_ffmpeg $pcm_dst -i $target_path/$file -sample_fmt s16 -f wav |
132 } | 124 } |
OLD | NEW |