External vectors written by permissively licensed encoders at pinned revisions from synthetic pictures (tools/make_external.sh, provenance.json), generated vectors and negative controls, the facts each encoder was asked for, the LCEVC streams fetch.sh fetches by digest, and format_probe_verify.py, written from the two texts. Co-Authored-By: Claude Opus 5.5 <[email protected]>
23 lines
1.3 KiB
Shell
23 lines
1.3 KiB
Shell
#!/bin/bash
|
|
# Fetches the LCEVC streams the corpus checks without holding them (format-probes §13.3),
|
|
# into <dir>, and checks each file's SHA-256. They are the unit-test streams of an open LCEVC
|
|
# decoder (BSD-3-Clause-Clear), written by an LCEVC encoder from a short test sequence; their
|
|
# licence notice names their owner, so the corpus names them by digest and holds no copy.
|
|
#
|
|
# bash fetch.sh <dir>
|
|
set -euo pipefail
|
|
dir=${1:?usage: fetch.sh <dir>}
|
|
mkdir -p "$dir"
|
|
base=https://raw.githubusercontent.com/v-novaltd/LCEVCdec/741fb7c869cf61012f7dcebfcd9e56981198c78b/src/enhancement/test/assets # allow-name: repository URL
|
|
while read -r sum name; do
|
|
curl -fsS --retry 3 -o "$dir/$name" "$base/$name"
|
|
got=$( (sha256sum "$dir/$name" 2>/dev/null || shasum -a 256 "$dir/$name") | cut -d' ' -f1)
|
|
[ "$got" = "$sum" ] || { echo "$name: SHA-256 $got, expected $sum" >&2; exit 1; }
|
|
done <<'EOF'
|
|
0ad059dd167093ef773aa9be932afdf0cd2108656daaed18bfc7ee8041c4ee05 parse_std.bin
|
|
20b7d666216b20419b6e4d80b2d9b68b8c9b4a66f9ba01849895e00d7c9d2583 parse_gops.bin
|
|
1492419eb19f34dd1e4dd3f50b3525a32f2bb34ad48fdeea8e4e9fc1ab54c149 parse_hdr.bin
|
|
156568e8c5cbb0307e5c1b6dde25a8932315abfffe063140dfa6366edea4c9e4 decode_temp_on.bin
|
|
a486c0a40abdfdde11d95b51491a3b78a273a48b75548e7a86e32de361df781c decode_temp_off.bin
|
|
EOF
|
|
echo "fetched 5 files into $dir"
|