Releases: ImageOptim/gifski
Add or remove noise at will
The command-line version breaks down the --quality
option into two sub-options (which default to the same value as --quality
):
-
--motion-quality=80
controls how aggressive temporal and spatial denoising is. Lower values make files smaller by reducing differences between frames, but too-low values will make animations look wobbly, jerky, or posterized. -
--lossy-quality=80
controls lossy LZW compression. Lower values make files smaller by skipping inconvenient-to-compress pixels, but too-low values will make animations look dithered and grainy.
Windows GUI
- Experimental GUI for Windows.
- it's very basic and unpolished. It only supports PNG frames, no video. No refunds!
--fast
option is faster on CPUs with 6 or more cores.
Fix for variable framerates
In previous versions of gifski animations with duplicate frames could have frame delay off by one.
Unfuzzy edges
- Avoids creating fuzzy edges when input has transparency with anti-aliasing
--extra
flag for extra-slow processing that makes slightly better palettes- Fixed accuracy of error codes in the C API
Transparency fixes
Transparency in GIF is full of edge cases.
Fixed dithering artifacts
A week of debugging for a 1-line fix.
Multi-core on Windows
Rewrite of libimagequant in Rust enabled better Windows compatibility, and the Windows build is now over 2 times faster.
More transparent frames
If you set --quality=80
or lower, it will use more transparent pixels for diffs between frames, which usually reduces file size.
Temporal denoising
When you use quality lower than 100, it now applies denoising. It's like smart blur, but not in regular 2D, but on the axis of time. This helps reduce file sizes of MPEG-compressed screencasts and low-motion videos with analog noise.