annotate ffmpeg/tests/regression-funcs.sh @ 13:844d341cf643 tip

Back up before ISMIR
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Thu, 31 Oct 2013 13:17:06 +0000
parents f445c3017523
children
rev   line source
yading@11 1 #!/bin/sh
yading@11 2 #
yading@11 3 # common regression functions for ffmpeg
yading@11 4 #
yading@11 5 #
yading@11 6
yading@11 7 test="${1#regtest-}"
yading@11 8 test_ref=$2
yading@11 9 raw_src_dir=$3
yading@11 10 target_exec=$4
yading@11 11 target_path=$5
yading@11 12 threads=${6:-1}
yading@11 13 cpuflags=${8:-all}
yading@11 14 samples=$9
yading@11 15
yading@11 16 datadir="./tests/data"
yading@11 17 target_datadir="${target_path}/${datadir}"
yading@11 18
yading@11 19 this="$test.$test_ref"
yading@11 20 outfile="$datadir/$test_ref/"
yading@11 21
yading@11 22 # various files
yading@11 23 ffmpeg="$target_exec ${target_path}/ffmpeg"
yading@11 24 raw_src="${target_path}/$raw_src_dir/%02d.pgm"
yading@11 25 raw_dst="$datadir/$this.out.yuv"
yading@11 26 pcm_src="$target_datadir/asynth1.sw"
yading@11 27 pcm_src_1ch="$target_datadir/asynth-16000-1.wav"
yading@11 28 pcm_ref_1ch="$datadir/$test_ref-16000-1.ref.wav"
yading@11 29 crcfile="$datadir/$this.crc"
yading@11 30 target_crcfile="$target_datadir/$this.crc"
yading@11 31
yading@11 32 cleanfiles="$raw_dst $crcfile"
yading@11 33 trap 'rm -f -- $cleanfiles' EXIT
yading@11 34
yading@11 35 mkdir -p "$datadir"
yading@11 36 mkdir -p "$outfile"
yading@11 37
yading@11 38 [ "${V-0}" -gt 0 ] && echov=echov || echov=:
yading@11 39
yading@11 40 echov(){
yading@11 41 echo "$@" >&3
yading@11 42 }
yading@11 43
yading@11 44 . $(dirname $0)/md5.sh
yading@11 45
yading@11 46 AVCONV_OPTS="-nostats -y -cpuflags $cpuflags"
yading@11 47 COMMON_OPTS="-flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact"
yading@11 48 DEC_OPTS="$COMMON_OPTS -threads $threads"
yading@11 49 ENC_OPTS="$COMMON_OPTS -threads 1 -dct fastint"
yading@11 50
yading@11 51 run_avconv()
yading@11 52 {
yading@11 53 $echov $ffmpeg $AVCONV_OPTS $*
yading@11 54 $ffmpeg $AVCONV_OPTS $*
yading@11 55 }
yading@11 56
yading@11 57 do_avconv()
yading@11 58 {
yading@11 59 f="$1"
yading@11 60 shift
yading@11 61 set -- $* ${target_path}/$f
yading@11 62 run_avconv $*
yading@11 63 do_md5sum $f
yading@11 64 echo $(wc -c $f)
yading@11 65 }
yading@11 66
yading@11 67 do_avconv_nomd5()
yading@11 68 {
yading@11 69 f="$1"
yading@11 70 shift
yading@11 71 set -- $* ${target_path}/$f
yading@11 72 run_avconv $*
yading@11 73 if [ $f = $raw_dst ] ; then
yading@11 74 $tiny_psnr $f $raw_ref
yading@11 75 elif [ $f = $pcm_dst ] ; then
yading@11 76 $tiny_psnr $f $pcm_ref 2
yading@11 77 else
yading@11 78 echo $(wc -c $f)
yading@11 79 fi
yading@11 80 }
yading@11 81
yading@11 82 do_avconv_crc()
yading@11 83 {
yading@11 84 f="$1"
yading@11 85 shift
yading@11 86 run_avconv $* -f crc "$target_crcfile"
yading@11 87 echo "$f $(cat $crcfile)"
yading@11 88 }