From ae6f4e5ecee752bffc9d19d5e162c84aa070ad37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20V=C3=A1squez=20P=C3=A9rez?= Date: Fri, 6 Mar 2026 11:06:24 -0800 Subject: [PATCH] Added dithering to the gif making script --- bash/make_gif.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bash/make_gif.sh b/bash/make_gif.sh index 4d7bc8e..4ae889e 100755 --- a/bash/make_gif.sh +++ b/bash/make_gif.sh @@ -1,3 +1,4 @@ +#requires ffmpeg while getopts "s:b:r:" opt; do case ${opt} in s ) @@ -40,14 +41,16 @@ then d=$(ffprobe -v error -select_streams v:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 "$i"); w=$(ffprobe -v error -select_streams v:0 -show_entries stream=width -of default=noprint_wrappers=1:nokey=1 "$i"); h=$(ffprobe -v error -select_streams v:0 -show_entries stream=height -of default=noprint_wrappers=1:nokey=1 "$i"); - ffmpeg -i "$i" -filter_complex "[0:v] fps=$fps [refpsd]; gradients=size="$w"x"$h":d=$d:c0=$color:c1=$color [box]; [refpsd] split [a][b];[a] palettegen [p];[box][b] overlay [overlayed];[overlayed][p] paletteuse" -q 0 -strict -2 -vb $vb -y ${i%.*}.gif ; + #ffmpeg -i "$i" -filter_complex "[0:v] fps=$fps [refpsd]; gradients=size="$w"x"$h":d=$d:c0=$color:c1=$color [box]; [refpsd] split [a][b];[a] palettegen [p];[box][b] overlay [overlayed];[overlayed][p] paletteuse" -q 0 -strict -2 -vb $vb -y ${i%.*}.gif ; + ffmpeg -i "$i" -filter_complex "[0:v] fps=$fps [refpsd]; gradients=size="$w"x"$h":d=$d:c0=$color:c1=$color [box]; [refpsd] split [a][b];[a] palettegen=stats_mode=diff [p];[box][b] overlay [overlayed];[overlayed][p] paletteuse=dither=bayer:bayer_scale=2" -q 0 -strict -2 -vb $vb -y ${i%.*}.gif ; done; else for i; do echo $size d=$(ffprobe -v error -select_streams v:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 "$i"); - ffmpeg -i "$i" -filter_complex "[0:v] scale=$sizealt,fps=$fps [scaled]; gradients=size=$size:d=$d:c0=$color:c1=$color [box],[box][scaled] overlay [overlayed],[overlayed] split [i1][i2];[i1] palettegen [palette];[i2][palette] paletteuse" -q 0 -strict -2 -vb $vb -y ${i%.*}_$size.gif ; + #ffmpeg -i "$i" -filter_complex "[0:v] scale=$sizealt,fps=$fps [scaled]; gradients=size=$size:d=$d:c0=$color:c1=$color [box],[box][scaled] overlay [overlayed],[overlayed] split [i1][i2];[i1] palettegen [palette];[i2][palette] paletteuse" -q 0 -strict -2 -vb $vb -y ${i%.*}_$size.gif ; + ffmpeg -i "$i" -filter_complex "[0:v] scale=$sizealt,fps=$fps [scaled]; gradients=size=$size:d=$d:c0=$color:c1=$color [box],[box][scaled] overlay [overlayed],[overlayed] split [i1][i2];[i1] palettegen=stats_mode=diff [palette];[i2][palette] paletteuse=dither=bayer:bayer_scale=2" -q 0 -strict -2 -vb $vb -y ${i%.*}_$size.gif ; done; fi