mrse.sh (982B)
1 #!/usr/bin/env bash 2 # Copyright (c) the JPEG XL Project Authors. All rights reserved. 3 # 4 # Use of this source code is governed by a BSD-style 5 # license that can be found in the LICENSE file. 6 7 set -euo pipefail 8 9 original="$1" 10 decoded="$2" 11 output="$3" 12 intensity_target="$4" 13 14 tmpdir="$(mktemp --directory)" 15 16 linearized_original="$(mktemp --tmpdir="$tmpdir" --suffix='.pfm')" 17 linearized_decoded="$(mktemp --tmpdir="$tmpdir" --suffix='.pfm')" 18 19 cleanup() { 20 rm -- "$linearized_original" "$linearized_decoded" 21 rmdir --ignore-fail-on-non-empty -- "$tmpdir" 22 } 23 trap cleanup EXIT 24 25 linearize() { 26 local input="$1" 27 local output="$2" 28 convert "$input" -set colorspace sRGB -colorspace RGB -evaluate multiply "$intensity_target" "$output" 29 } 30 31 linearize "$original" "$linearized_original" 32 linearize "$decoded" "$linearized_decoded" 33 34 "$(dirname "$0")"/../../../third_party/difftest_ng/difftest_ng --mrse "$linearized_original" "$linearized_decoded" \ 35 | sed -e 's/^MRSE:\s*//' \ 36 > "$output"