libjxl

FORK: libjxl patches used on blog
git clone https://git.neptards.moe/blog/libjxl.git
Log | Files | Refs | Submodules | README | LICENSE

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"