Update files
This commit is contained in:
parent
0ac0b2679c
commit
5f4ac035cb
126
vid2ani.cmd
126
vid2ani.cmd
@ -11,13 +11,32 @@ SETLOCAL ENABLEDELAYEDEXPANSION
|
|||||||
|
|
||||||
:: Define ANSI Colors
|
:: Define ANSI Colors
|
||||||
SET "OFF=[0m"
|
SET "OFF=[0m"
|
||||||
SET "RED=[31m"
|
SET "RED=[91m"
|
||||||
SET "GREEN=[32m"
|
SET "GREEN=[32m"
|
||||||
SET "YELLOW=[33m"
|
SET "YELLOW=[33m"
|
||||||
SET "BLUE=[94m"
|
SET "BLUE=[94m"
|
||||||
SET "CYAN=[96m"
|
SET "CYAN=[96m"
|
||||||
|
|
||||||
:: Clearing vars and setting defaults
|
:: Checking for blank input or help commands
|
||||||
|
IF "%~1" == "" GOTO :help_message
|
||||||
|
IF "%~1" == "-?" GOTO :help_message
|
||||||
|
IF "%~1" == "/?" GOTO :help_message
|
||||||
|
IF "%~1" == "--help" GOTO :help_message
|
||||||
|
|
||||||
|
:: Assign input and output
|
||||||
|
SET input="%~1"
|
||||||
|
SET output=%~dpn1
|
||||||
|
|
||||||
|
:: Validate input file
|
||||||
|
IF NOT EXIST %input% (
|
||||||
|
ECHO %RED%Input file not found: %input%%OFF%
|
||||||
|
GOTO :EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Setting the path to the working directory
|
||||||
|
SET WD=%TEMP%\VID2ANI
|
||||||
|
|
||||||
|
:: Clearing input vars and setting defaults
|
||||||
SET "fps=15"
|
SET "fps=15"
|
||||||
SET "mode=1"
|
SET "mode=1"
|
||||||
SET "dither=0"
|
SET "dither=0"
|
||||||
@ -30,51 +49,28 @@ SET "bayerscale="
|
|||||||
SET "colormax="
|
SET "colormax="
|
||||||
SET "start_time="
|
SET "start_time="
|
||||||
SET "end_time="
|
SET "end_time="
|
||||||
SET "version="
|
|
||||||
SET "build="
|
|
||||||
SET "errorswitch="
|
SET "errorswitch="
|
||||||
SET "picswitch="
|
SET "picswitch="
|
||||||
|
|
||||||
:: Assign input and output
|
|
||||||
SET input="%~1"
|
|
||||||
SET output=%~dpn1
|
|
||||||
|
|
||||||
:: Input file validation
|
|
||||||
IF NOT EXIST %input% (
|
|
||||||
ECHO %RED%Input file not found: %input%%OFF%
|
|
||||||
GOTO :EOF
|
|
||||||
)
|
|
||||||
|
|
||||||
:: Setting the path to the Working Directory
|
|
||||||
SET WD=%TEMP%\VID2ANI
|
|
||||||
|
|
||||||
:: Checking for blank input or help commands
|
|
||||||
IF %input% == "" GOTO :help_message
|
|
||||||
IF %input% == "-?" GOTO :help_message
|
|
||||||
IF %input% == "/?" GOTO :help_message
|
|
||||||
IF %input% == "help" GOTO :help_message
|
|
||||||
IF %input% == "--help" GOTO :help_message
|
|
||||||
|
|
||||||
GOTO :varin
|
GOTO :varin
|
||||||
|
|
||||||
:varin
|
:varin
|
||||||
:: Using SHIFT command to go through the input and storing each setting into its own variable
|
:: Using SHIFT command to go through the input and storing each setting into its own variable
|
||||||
IF NOT "%~1" =="" (
|
IF NOT "%~1" =="" (
|
||||||
IF "%~1" =="-r" SET "scale=%~2" & SHIFT
|
|
||||||
IF "%~1" =="-f" SET "fps=%~2" & SHIFT
|
|
||||||
IF "%~1" =="-m" SET "mode=%~2" & SHIFT
|
|
||||||
IF "%~1" =="-d" SET "dither=%~2" & SHIFT
|
|
||||||
IF "%~1" =="-b" SET "bayerscale=%~2" & SHIFT
|
|
||||||
IF "%~1" =="-t" SET "filetype=%~2" & SHIFT
|
|
||||||
IF "%~1" =="-o" SET "output=%~dpn2" & SHIFT
|
IF "%~1" =="-o" SET "output=%~dpn2" & SHIFT
|
||||||
IF "%~1" =="-s" SET "start_time=%~2" & SHIFT
|
IF "%~1" =="-t" SET "filetype=%~2" & SHIFT
|
||||||
IF "%~1" =="-e" SET "end_time=%~2" & SHIFT
|
IF "%~1" =="-r" SET "scale=%~2" & SHIFT
|
||||||
IF "%~1" =="-c" SET "colormax=%~2" & SHIFT
|
IF "%~1" =="-l" ( IF 1%2 NEQ +1%~2 ( SET "webp_lossy=%webp_lossy_def%"
|
||||||
:: IF "%~1" =="-l" SET "webp_lossy=%~2" & SHIFT
|
) ELSE IF "%~2" == "" ( SET "webp_lossy=%webp_lossy_def%"
|
||||||
IF "%~1" =="-l" (IF "%2" == "" ( SET "webp_lossy=%webp_lossy_def%"
|
|
||||||
) ELSE IF 1%2 NEQ +1%~2 ( SET "webp_lossy=%webp_lossy_def%"
|
|
||||||
) ELSE ( SET "webp_lossy=%~2" & SHIFT )
|
) ELSE ( SET "webp_lossy=%~2" & SHIFT )
|
||||||
)
|
)
|
||||||
|
IF "%~1" =="-f" SET "fps=%~2" & SHIFT
|
||||||
|
IF "%~1" =="-s" SET "start_time=%~2" & SHIFT
|
||||||
|
IF "%~1" =="-e" SET "end_time=%~2" & SHIFT
|
||||||
|
IF "%~1" =="-d" SET "dither=%~2" & SHIFT
|
||||||
|
IF "%~1" =="-b" SET "bayerscale=%~2" & SHIFT
|
||||||
|
IF "%~1" =="-m" SET "mode=%~2" & SHIFT
|
||||||
|
IF "%~1" =="-c" SET "colormax=%~2" & SHIFT
|
||||||
IF "%~1" =="-v" SET "loglevel=%~2" & SHIFT
|
IF "%~1" =="-v" SET "loglevel=%~2" & SHIFT
|
||||||
IF "%~1" =="-k" SET "errorswitch=1"
|
IF "%~1" =="-k" SET "errorswitch=1"
|
||||||
IF "%~1" =="-p" SET "picswitch=1"
|
IF "%~1" =="-p" SET "picswitch=1"
|
||||||
@ -83,8 +79,6 @@ IF NOT "%~1" =="" (
|
|||||||
GOTO :safchek
|
GOTO :safchek
|
||||||
|
|
||||||
:safchek
|
:safchek
|
||||||
:: Setting a clear range of acceptable setting values and noob proofing bayerscale
|
|
||||||
|
|
||||||
:: Validate output file extension
|
:: Validate output file extension
|
||||||
echo %filetype% | findstr /r "\<gif\> \<png\> \<apng\> \<webp\>" >nul
|
echo %filetype% | findstr /r "\<gif\> \<png\> \<apng\> \<webp\>" >nul
|
||||||
IF %errorlevel% NEQ 0 (
|
IF %errorlevel% NEQ 0 (
|
||||||
@ -97,19 +91,19 @@ IF "%filetype%"=="apng" SET "output=%output%.png"
|
|||||||
IF "%filetype%"=="webp" SET "output=%output%.webp"
|
IF "%filetype%"=="webp" SET "output=%output%.webp"
|
||||||
|
|
||||||
:: Validate Palettegen
|
:: Validate Palettegen
|
||||||
IF %mode% GTR 3 (
|
IF !mode! GTR 3 (
|
||||||
ECHO %RED%Not a valid palettegen ^(-m^) mode%OFF%
|
ECHO %RED%Not a valid palettegen ^(-m^) mode%OFF%
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
) ELSE IF %mode% LSS 1 (
|
) ELSE IF !%mode! LSS 1 (
|
||||||
ECHO %RED%Not a valid palettegen ^(-m^) mode%OFF%
|
ECHO %RED%Not a valid palettegen ^(-m^) mode%OFF%
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Validate Dithering
|
:: Validate Dithering
|
||||||
IF %dither% GTR 8 (
|
IF !dither! GTR 8 (
|
||||||
ECHO %RED%Not a valid dither ^(-d^) algorithm %OFF%
|
ECHO %RED%Not a valid dither ^(-d^) algorithm %OFF%
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
) ELSE IF %dither% LSS 0 (
|
) ELSE IF !dither! LSS 0 (
|
||||||
ECHO %RED%Not a valid dither ^(-d^) algorithm%OFF%
|
ECHO %RED%Not a valid dither ^(-d^) algorithm%OFF%
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
)
|
)
|
||||||
@ -123,7 +117,7 @@ IF DEFINED bayerscale (
|
|||||||
ECHO %RED%Not a valid bayerscale ^(-b^) value%OFF%
|
ECHO %RED%Not a valid bayerscale ^(-b^) value%OFF%
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
)
|
)
|
||||||
IF %dither% NEQ 1 (
|
IF !dither! NEQ 1 (
|
||||||
IF !bayerscale! LEQ 5 (
|
IF !bayerscale! LEQ 5 (
|
||||||
ECHO %RED%Bayerscale ^(-b^) only works with Bayer dithering%OFF%
|
ECHO %RED%Bayerscale ^(-b^) only works with Bayer dithering%OFF%
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
@ -206,21 +200,21 @@ SET filters=fps=%fps%,scale=%scale%:-1:flags=lanczos
|
|||||||
|
|
||||||
:: APNG muxer does not support multiple palettes so fallback to using palettegen diff mode
|
:: APNG muxer does not support multiple palettes so fallback to using palettegen diff mode
|
||||||
IF "%filetype%"=="apng" (
|
IF "%filetype%"=="apng" (
|
||||||
IF %mode% EQU 2 (
|
IF !mode! EQU 2 (
|
||||||
ECHO %YELLOW%APNG does not support multiple palettes - falling back to Palettegen mode 1 ^(diff^)%OFF%
|
ECHO %YELLOW%APNG does not support multiple palettes - falling back to Palettegen mode 1 ^(diff^)%OFF%
|
||||||
SET mode=1
|
SET mode=1
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Palettegen encode mode
|
:: Palettegen encode mode
|
||||||
IF %mode% EQU 1 SET "encode=palettegen=stats_mode=diff"
|
IF !mode! EQU 1 SET "encode=palettegen=stats_mode=diff"
|
||||||
IF %mode% EQU 2 SET "encode=palettegen=stats_mode=single"
|
IF !mode! EQU 2 SET "encode=palettegen=stats_mode=single"
|
||||||
IF %mode% EQU 3 SET "encode=palettegen"
|
IF !mode! EQU 3 SET "encode=palettegen"
|
||||||
|
|
||||||
:: Max colors
|
:: Max colors
|
||||||
IF DEFINED colormax (
|
IF DEFINED colormax (
|
||||||
IF %mode% LEQ 2 SET "mcol=:max_colors=%colormax%"
|
IF !mode! LEQ 2 SET "mcol=:max_colors=%colormax%"
|
||||||
IF %mode% EQU 3 SET "mcol==max_colors=%colormax%"
|
IF !mode! EQU 3 SET "mcol==max_colors=%colormax%"
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Executing command to generate palette
|
:: Executing command to generate palette
|
||||||
@ -236,30 +230,30 @@ IF NOT EXIST "%WD%\palette_00001.png" (
|
|||||||
:: Setting variables to put the encode command together
|
:: Setting variables to put the encode command together
|
||||||
|
|
||||||
:: Palettegen decode mode
|
:: Palettegen decode mode
|
||||||
IF %mode% EQU 1 SET "decode=paletteuse"
|
IF !mode! EQU 1 SET "decode=paletteuse"
|
||||||
IF %mode% EQU 2 SET "decode=paletteuse=new=1"
|
IF !mode! EQU 2 SET "decode=paletteuse=new=1"
|
||||||
IF %mode% EQU 3 SET "decode=paletteuse"
|
IF !mode! EQU 3 SET "decode=paletteuse"
|
||||||
|
|
||||||
:: Error diffusion
|
:: Error diffusion
|
||||||
IF DEFINED errorswitch (
|
IF DEFINED errorswitch (
|
||||||
IF %mode% EQU 1 SET "errordiff==diff_mode=rectangle"
|
IF !mode! EQU 1 SET "errordiff==diff_mode=rectangle"
|
||||||
IF %mode% EQU 2 SET "errordiff=:diff_mode=rectangle"
|
IF !mode! EQU 2 SET "errordiff=:diff_mode=rectangle"
|
||||||
IF %mode% EQU 3 SET "errordiff==diff_mode=rectangle"
|
IF !mode! EQU 3 SET "errordiff==diff_mode=rectangle"
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Prepare dithering and encoding options
|
:: Prepare dithering and encoding options
|
||||||
IF %dither% EQU 0 SET "ditheralg=none"
|
IF !dither! EQU 0 SET "ditheralg=none"
|
||||||
IF %dither% EQU 1 SET "ditheralg=bayer"
|
IF !dither! EQU 1 SET "ditheralg=bayer"
|
||||||
IF %dither% EQU 2 SET "ditheralg=heckbert"
|
IF !dither! EQU 2 SET "ditheralg=heckbert"
|
||||||
IF %dither% EQU 3 SET "ditheralg=floyd_steinberg"
|
IF !dither! EQU 3 SET "ditheralg=floyd_steinberg"
|
||||||
IF %dither% EQU 4 SET "ditheralg=sierra2"
|
IF !dither! EQU 4 SET "ditheralg=sierra2"
|
||||||
IF %dither% EQU 5 SET "ditheralg=sierra2_4a"
|
IF !dither! EQU 5 SET "ditheralg=sierra2_4a"
|
||||||
IF %dither% EQU 6 SET "ditheralg=sierra3"
|
IF !dither! EQU 6 SET "ditheralg=sierra3"
|
||||||
IF %dither% EQU 7 SET "ditheralg=burkes"
|
IF !dither! EQU 7 SET "ditheralg=burkes"
|
||||||
IF %dither% EQU 8 SET "ditheralg=atkinson"
|
IF !dither! EQU 8 SET "ditheralg=atkinson"
|
||||||
|
|
||||||
:: Paletteuse error diffusion
|
:: Paletteuse error diffusion
|
||||||
IF NOT %mode% EQU 2 (
|
IF NOT !mode! EQU 2 (
|
||||||
IF DEFINED errorswitch SET "ditherenc=:dither=!ditheralg!"
|
IF DEFINED errorswitch SET "ditherenc=:dither=!ditheralg!"
|
||||||
IF NOT DEFINED errorswitch SET "ditherenc==dither=!ditheralg!"
|
IF NOT DEFINED errorswitch SET "ditherenc==dither=!ditheralg!"
|
||||||
) ELSE SET "ditherenc=:dither=!ditheralg!"
|
) ELSE SET "ditherenc=:dither=!ditheralg!"
|
||||||
@ -318,7 +312,7 @@ ECHO -b Bayer Scale setting. Range 0-5, default 2.
|
|||||||
ECHO -m Palettegen mode: 1 (diff), 2 (single), 3 (full), default 1.
|
ECHO -m Palettegen mode: 1 (diff), 2 (single), 3 (full), default 1.
|
||||||
ECHO -c Maximum colors usable per palette. Range 3-256 (default).
|
ECHO -c Maximum colors usable per palette. Range 3-256 (default).
|
||||||
ECHO -k Enables paletteuse error diffusion.
|
ECHO -k Enables paletteuse error diffusion.
|
||||||
ECHO -p Opens the resulting animation in the sysem image viewer.
|
ECHO -p Opens the resulting animation in the system image viewer.
|
||||||
ECHO -v Set FFmpeg log level (default: error).
|
ECHO -v Set FFmpeg log level (default: error).
|
||||||
ECHO:
|
ECHO:
|
||||||
ECHO %GREEN%Dithering Algorithms%OFF%
|
ECHO %GREEN%Dithering Algorithms%OFF%
|
||||||
|
86
vid2ani.sh
86
vid2ani.sh
@ -20,35 +20,24 @@ YELLOW=$(tput setaf 11)
|
|||||||
BLUE=$(tput setaf 12)
|
BLUE=$(tput setaf 12)
|
||||||
CYAN=$(tput setaf 14)
|
CYAN=$(tput setaf 14)
|
||||||
|
|
||||||
# Clearing vars and setting defaults
|
# Checking for blank input or help commands
|
||||||
fps=15
|
if [ $# -eq 0 ]; then print_help; exit; fi
|
||||||
mode=1
|
case "$1" in
|
||||||
dither=0
|
-h) print_help; exit;;
|
||||||
scale="-1"
|
-?) print_help; exit;;
|
||||||
filetype="gif"
|
--help) print_help; exit;;
|
||||||
webp_lossy=""
|
esac
|
||||||
webp_lossy_def=75
|
|
||||||
loglevel="error"
|
|
||||||
bayerscale=""
|
|
||||||
colormax=""
|
|
||||||
start_time=""
|
|
||||||
end_time=""
|
|
||||||
trim=""
|
|
||||||
errorswitch=""
|
|
||||||
errordiff=""
|
|
||||||
picswitch=""
|
|
||||||
|
|
||||||
# Assign input and output
|
# Assign input and output
|
||||||
if [ $# -eq 0 ]; then print_help; exit; fi
|
|
||||||
input="$1"
|
input="$1"
|
||||||
output="${input%.*}"
|
output="${input%.*}"
|
||||||
|
|
||||||
# Input file validation
|
# Validate input file
|
||||||
if [[ ! -f "$input" ]]; then
|
if [[ ! -f "$input" ]]; then
|
||||||
echo ${RED}"Input file not found: $input"${OFF}; exit 1
|
echo ${RED}"Input file not found: $input"${OFF}; exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Fix paths for Cygwin and create working dir
|
# Fix paths for Cygwin and create working directory
|
||||||
if [[ "$(uname -o)" == "Cygwin" ]]; then
|
if [[ "$(uname -o)" == "Cygwin" ]]; then
|
||||||
# Use Windows-compatible directories for Cygwin
|
# Use Windows-compatible directories for Cygwin
|
||||||
input=$(cygpath -w "$input")
|
input=$(cygpath -w "$input")
|
||||||
@ -62,29 +51,44 @@ fi
|
|||||||
# Cleanup on exit, interrupt, termination
|
# Cleanup on exit, interrupt, termination
|
||||||
trap 'rm -rf "$WD"' EXIT INT TERM
|
trap 'rm -rf "$WD"' EXIT INT TERM
|
||||||
|
|
||||||
|
# Clearing input vars and setting defaults
|
||||||
|
fps=15
|
||||||
|
mode=1
|
||||||
|
dither=0
|
||||||
|
scale="-1"
|
||||||
|
filetype="gif"
|
||||||
|
webp_lossy=""
|
||||||
|
webp_lossy_def=75
|
||||||
|
loglevel="error"
|
||||||
|
bayerscale=""
|
||||||
|
colormax=""
|
||||||
|
start_time=""
|
||||||
|
end_time=""
|
||||||
|
errorswitch=""
|
||||||
|
picswitch=""
|
||||||
|
|
||||||
# Parse Arguments
|
# Parse Arguments
|
||||||
shift
|
shift
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-r) scale="$2"; shift 2;;
|
-o) output="${2%.*}"; shift;;
|
||||||
-f) fps="$2"; shift 2;;
|
-t) filetype="$2"; shift;;
|
||||||
-m) mode="$2"; shift 2;;
|
-r) scale="$2"; shift;;
|
||||||
-d) dither="$2"; shift 2;;
|
-l) if [[ "$2" =~ ^[0-9]+$ ]]; then webp_lossy="$2"; shift
|
||||||
-b) bayerscale="$2"; shift 2;;
|
else webp_lossy=$webp_lossy_def; fi ;;
|
||||||
-t) filetype="$2"; shift 2;;
|
-f) fps="$2"; shift;;
|
||||||
-o) output="${2%.*}"; shift 2;;
|
-s) start_time="$2"; shift;;
|
||||||
-s) start_time="$2"; shift 2;;
|
-e) end_time="$2"; shift;;
|
||||||
-e) end_time="$2"; shift 2;;
|
-d) dither="$2"; shift;;
|
||||||
-c) colormax="$2"; shift 2;;
|
-b) bayerscale="$2"; shift;;
|
||||||
# -l) webp_lossy="$2"; shift 2;;
|
-m) mode="$2"; shift;;
|
||||||
-l) if [[ ! "$2" =~ ^[0-9]+$ ]]; then webp_lossy=$webp_lossy_def; shift
|
-c) colormax="$2"; shift;;
|
||||||
else webp_lossy="$2"; shift 2; fi ;;
|
-v) loglevel="$2"; shift;;
|
||||||
-v) loglevel="$2"; shift 2;;
|
-k) errorswitch=1;;
|
||||||
-k) errorswitch=1; shift;;
|
-p) picswitch=1;;
|
||||||
-p) picswitch=1; shift;;
|
|
||||||
-h|-?) print_help; exit;;
|
|
||||||
*) echo ${RED}"Unknown option $1"${OFF}; exit 1;;
|
*) echo ${RED}"Unknown option $1"${OFF}; exit 1;;
|
||||||
esac
|
esac
|
||||||
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
# Validate output file extension
|
# Validate output file extension
|
||||||
@ -161,7 +165,6 @@ if [[ "$filetype" == "apng" && "$mode" -eq 2 ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Palettegen encode mode
|
# Palettegen encode mode
|
||||||
encode=""
|
|
||||||
if [[ -n "$mode" ]]; then
|
if [[ -n "$mode" ]]; then
|
||||||
case "$mode" in
|
case "$mode" in
|
||||||
1) encode="palettegen=stats_mode=diff";;
|
1) encode="palettegen=stats_mode=diff";;
|
||||||
@ -172,7 +175,6 @@ if [[ -n "$mode" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Max colors
|
# Max colors
|
||||||
mcol=""
|
|
||||||
if [[ -n "$colormax" ]]; then
|
if [[ -n "$colormax" ]]; then
|
||||||
if [[ "$mode" -le 2 ]]; then mcol=":max_colors=${colormax}"; fi
|
if [[ "$mode" -le 2 ]]; then mcol=":max_colors=${colormax}"; fi
|
||||||
if [[ "$mode" -eq 3 ]]; then mcol="=max_colors=${colormax}"; fi
|
if [[ "$mode" -eq 3 ]]; then mcol="=max_colors=${colormax}"; fi
|
||||||
@ -210,7 +212,6 @@ if [[ -n "$errorswitch" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Prepare dithering and encoding options
|
# Prepare dithering and encoding options
|
||||||
ditheralg="none"
|
|
||||||
case "$dither" in
|
case "$dither" in
|
||||||
0) ditheralg="none";;
|
0) ditheralg="none";;
|
||||||
1) ditheralg="bayer";;
|
1) ditheralg="bayer";;
|
||||||
@ -221,11 +222,10 @@ case "$dither" in
|
|||||||
6) ditheralg="sierra3";;
|
6) ditheralg="sierra3";;
|
||||||
7) ditheralg="burkes";;
|
7) ditheralg="burkes";;
|
||||||
8) ditheralg="atkinson";;
|
8) ditheralg="atkinson";;
|
||||||
*) echo ${RED}"Invalid dither (-d )mode"${OFF}; exit 1;;
|
*) echo ${RED}"Invalid dither (-d ) mode"${OFF}; exit 1;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Paletteuse error diffusion
|
# Paletteuse error diffusion
|
||||||
ditherenc=""
|
|
||||||
if [[ "$mode" -ne 2 ]]; then
|
if [[ "$mode" -ne 2 ]]; then
|
||||||
if [[ -n "$errorswitch" ]]; then ditherenc=":dither=$ditheralg"; fi
|
if [[ -n "$errorswitch" ]]; then ditherenc=":dither=$ditheralg"; fi
|
||||||
if [[ -z "$errorswitch" ]]; then ditherenc="=dither=$ditheralg"; fi
|
if [[ -z "$errorswitch" ]]; then ditherenc="=dither=$ditheralg"; fi
|
||||||
@ -285,7 +285,7 @@ ${GREEN}Arguments:${OFF}
|
|||||||
-m Palettegen mode: 1 (diff), 2 (single), 3 (full), default 1.
|
-m Palettegen mode: 1 (diff), 2 (single), 3 (full), default 1.
|
||||||
-c Maximum colors usable per palette. Range 3-256 (default).
|
-c Maximum colors usable per palette. Range 3-256 (default).
|
||||||
-k Enables paletteuse error diffusion.
|
-k Enables paletteuse error diffusion.
|
||||||
-p Opens the resulting animation in the sysem image viewer.
|
-p Opens the resulting animation in the system image viewer.
|
||||||
-v Set FFmpeg log level (default: error).
|
-v Set FFmpeg log level (default: error).
|
||||||
|
|
||||||
${GREEN}Dithering Algorithms${OFF}
|
${GREEN}Dithering Algorithms${OFF}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user