Commit 08d9d85e for libheif
commit 08d9d85e75cf88c34399f0f7a0d59c3d2b1c5e9c
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Sun Dec 14 16:35:15 2025 +0100
[BSD3] add script that encodes image sequence with all format/codec combinations
diff --git a/scripts/encode-all-sequences.sh b/scripts/encode-all-sequences.sh
new file mode 100755
index 00000000..451d5617
--- /dev/null
+++ b/scripts/encode-all-sequences.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+if [ "$#" -ne 1 ]; then
+ echo "Usage: pass name of first (PNG) image (with alpha) as only argument"
+ exit 5
+fi
+
+input_images=$1
+
+for enc in "--hevc -e x265" \
+ "--hevc -e kvazaar" \
+ "--avc -e x264" \
+ "--vvc -e vvenc" \
+ "--vvc -e uvg266" \
+ "--avif -e aom" \
+ "--avif -e svt" \
+ "--avif -e rav1e" \
+ "--jpeg -e jpeg" \
+ "--jpeg2000 -e openjpeg" \
+ "--htj2k -e openjph" \
+ "--uncompressed -e uncompressed" ;
+do
+ format=${enc#--} # remove leading --
+ format="${format%% *}" # stop at whitespace
+ codec="${enc##* }" # extract last word
+
+ if [[ $format == "avif" ]] ; then
+ suffix="avif"
+ elif [[ $format == "hevc" ]] ; then
+ suffix="heics"
+ else
+ suffix="heif"
+ fi
+
+ for alpha in "alpha" "noalpha" ; do
+ if [[ $alpha == "alpha" ]] ; then
+ alpha_arg=""
+ else
+ alpha_arg="--no-alpha"
+ fi
+
+ for loop in "loop" "once" ; do
+ if [[ $loop == "once" ]] ; then
+ loop_arg=""
+ else
+ loop_arg="--repetitions infinite"
+ fi
+
+ echo "----- format: ${format}, encoder: ${codec}, ${alpha}, ${loop} -----"
+
+ if [[ $format == "hevc" || $format == "avc" || $format == "vvc" || $format == "avif" ]] ; then
+ for pred in "i" "p" "b" ; do
+ ./examples/heif-enc -S $input_images -o ${alpha}-${format}-${pred}-${codec}-${loop}.$suffix $enc $alpha_arg $loop_arg --gop-structure $pred
+ done
+ else
+ ./examples/heif-enc -S $input_images -o ${alpha}-${format}-${codec}-${loop}.$suffix $enc $alpha_arg $loop_arg
+ fi
+ done
+
+ done
+
+done