]> Sergey Matveev's repositories - galgen.git/commitdiff
No WebP support anymore. JPEG XL is superior everywhere
authorSergey Matveev <stargrave@stargrave.org>
Sat, 12 Aug 2023 14:04:24 +0000 (17:04 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 12 Aug 2023 14:10:53 +0000 (17:10 +0300)
README
galgen.zsh

diff --git a/README b/README
index 5dfe7f190068a3c8771c7394ae91396e4ff5fee8..b49439589cef11121a30a1cad7d565a5b2972188 100644 (file)
--- a/README
+++ b/README
@@ -1,12 +1,11 @@
 galgen -- static images gallery generator
 
 That generator is written on zsh and is aimed only to deal with JPEG XL
-and WebP image formats solely. JPEG XL is superior to any other format
-both in lossy and lossless modes. WebP just can not be losslessly
-transcoded to JPEG XL, so it is left for backward compatibility.
+image format solely. JPEG XL is superior to any other format both in
+lossy and lossless modes.
 
-Just run that script inside the directory with .jxl/.webp files. For
-each file the small preview will be generated in lossy WebP format. Also
+Just run that script inside the directory with .jxl files. For each file
+the small preview will be generated in lossy WebP format. Also
 corresponding HTML file is generated too, containing information about
 the picture and its metadata.
 
@@ -27,4 +26,4 @@ them together. If directory contains ".txt"/".html", then it will be
 included on the first page.
 
 Following external utilities are called: djxl, jxlinfo, exiftool,
-pamtopng, pnmscale, pngcrush, advpng, webpinfo, dwebp, cwebp, parallel.
+pamtopng, pnmscale, pngcrush, advpng, cwebp, parallel.
index 34fa14451861b54a5334f17de4fd81b038ff0877..548b50aed7b69398c01653fdf99b2ae30b6c6428 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env zsh
 # Copyright (C) 2022-2023 Sergey Matveev <stargrave@stargrave.org>
 
-VERSION=0.4.0
+VERSION=0.5.0
 
 set -e
 
@@ -26,19 +26,12 @@ setopt EXTENDED_GLOB
 imgs=()
 for img (*.jxl(N)) { [[ -r .info/$img.img ]] || imgs=($imgs $img) }
 [[ ${#imgs} == 0 ]] || {
-    echo JPEG XL info... >&2
+    echo Infos... >&2
     parallel "jxlinfo {} > .info/{}.img" ::: $imgs
 }
 
 imgs=()
-for img (*.webp(N)) { [[ -r .info/$img.img ]] || imgs=($imgs $img) }
-[[ ${#imgs} == 0 ]] || {
-    echo WebP info... >&2
-    parallel "webpinfo {} > .info/{}.img" ::: $imgs
-}
-
-imgs=()
-src=((*.jxl|*.webp))
+src=(*.jxl)
 for img ($src) { [[ -r .info/$img.exif ]] || imgs=($imgs $img) }
 src=()
 [[ ${#imgs} == 0 ]] || {
@@ -46,7 +39,7 @@ src=()
     parallel "exiftool -escapeHTML -htmlFormat -groupHeadings --${=${(j/ --/)exifTagsOmit}} {} > .info/{}.exif" ::: $imgs
 }
 
-imgs=((*.jxl|*.webp)($ordering))
+imgs=((*.jxl)($ordering))
 pages=$(( ${#imgs} / $pagesize ))
 [[ $(( $pages * $pagesize )) -lt ${#imgs} ]] && pages=$(( $pages + 1 ))
 
@@ -55,19 +48,14 @@ trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
 
 jpgs=()
 pngs=()
-pams_jxl=()
-pams_webp=()
+pams=()
 for img ($imgs) {
     [[ -r .info/$img.img ]]
-    if [[ $img:e = jxl ]] ; then
-        [[ -r alt/$img.jpg ]] || [[ -r alt/$img.png ]] && : || {
-            grep -q "JPEG bitstream reconstruction" .info/$img.img &&
-                jpgs=($jpgs $img) || pngs=($pngs $img)
-        }
-        [[ -r preview/$img.webp ]] || pams_jxl=($pams_jxl $img)
-    else
-        [[ -r preview/$img.webp ]] || pams_webp=($pams_webp $img)
-    fi
+    [[ -r alt/$img.jpg ]] || [[ -r alt/$img.png ]] && : || {
+        grep -q "JPEG bitstream reconstruction" .info/$img.img &&
+            jpgs=($jpgs $img) || pngs=($pngs $img)
+    }
+    [[ -r preview/$img.webp ]] || pams=($pams $img)
 }
 
 [[ ${#jpgs} == 0 ]] || {
@@ -88,16 +76,11 @@ pngs=()
 mkpreview="pnmscale -w 100"
 mkpreview="$mkpreview | cwebp -quiet -pass 10 -alpha_filter best -m 6 -o preview/{}.webp -- -"
 mkpreview="$mkpreview && touch -r {} preview/{}.webp"
-[[ ${#pams_jxl} == 0 ]] || {
-    echo JPEG XL previews... >&2
-    parallel "$djxl2pam | $mkpreview" ::: $pams_jxl
-}
-[[ ${#pams_webp} == 0 ]] || {
-    echo WebP previews... >&2
-    parallel "dwebp {} -ppm -o - | $mkpreview" ::: $pams_webp
+[[ ${#pams} == 0 ]] || {
+    echo Generating previews... >&2
+    parallel "$djxl2pam | $mkpreview" ::: $pams
 }
-pams_jxl=()
-pams_webp=()
+pams=()
 
 for (( i=1 ; i <= ${#imgs} ; i++ )) {
     local img=${imgs[$i]}