]> Sergey Matveev's repositories - dotfiles.git/blob - img/bin/my-jxll
Seems that -e 9 enables -P 15
[dotfiles.git] / img / bin / my-jxll
1 #!/usr/bin/env zsh
2
3 set -e
4 tmp=`mktemp`
5 trap "rm -f $tmp.pnm $tmp.jxl" HUP PIPE INT QUIT TERM EXIT
6 case $1:e in
7 pnm) cp $1 $tmp.pnm ;;
8 png) pngtopnm < $1 > $tmp.pnm ;;
9 webp) dwebp -mt -quiet -o $tmp.pnm $1 ;;
10 *)
11     print unknown extension >&2
12     exit 1
13 esac
14
15 common=(--quiet --distance=0 --effort=9 --brotli_effort=11)
16 prev=$(( 1 << 62 ))
17 best=""
18 zmodload -F zsh/stat b:zstat
19 for g (0 1 2 3) {
20     opts=(--modular_group_size=$g)
21     cjxl $common $opts $tmp.pnm $tmp.jxl
22     zstat -A cur +size $tmp.jxl
23     [[ $cur -gt $prev ]] || {
24         prev=$cur
25         best=($opts)
26     }
27 }
28 zstat -A cur +size $1
29 [[ $cur -lt $prev ]] && {
30     print $1 is smaller : $cur vs $prev
31     exit 2
32 }
33 cjxl $common $best $tmp.pnm $1:r.jxl