-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest_avs.sh
executable file
·42 lines (35 loc) · 972 Bytes
/
test_avs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
set -e
set -x
ffmpeg_bin="build/ffmpeg/ffmpeg -hide_banner"
test_dir=build/test
mkdir -p $test_dir
decode_test() {
ref_md5="$2"
out_name="$(mktemp -p ${test_dir} --suffix .md5)"
$ffmpeg_bin -vsync 0 -i "$1" -f md5 "${out_name}" -y
result=$(cat "$out_name")
result=${result#MD5=}
if [ "$ref_md5" == "$result" ]; then
echo "Decoding test: Success: $1"
rm $out_name
else
echo "Decoding test: Error: $out_name md5 doesn't match $1, result $result vs reference $ref_md5"
exit 1
fi
}
for i in avs2stream/ES/*
do
ref_md5="$(cat "${i}/md5.txt" |tr '[:upper:]' '[:lower:]')"
decode_test "${i}/test.avs2" "$ref_md5"
done
for i in avs3stream/ES/*
do
ref_md5="$(tail -1 "${i}/md5.txt" |awk '{print $NF}')"
decode_test "${i}/test.avs3" "$ref_md5"
done
for i in avs3stream/TS/*
do
ref_md5="$(tail -1 "${i}/md5.txt" |awk '{print $NF}')"
decode_test "${i}/test.ts" "$ref_md5"
done