Bayer matrix
- Input
- 8×8
- Expected output
- 64
There are 64 distinct thresholds, from 0 to 63, normalized before being added to the pixel.
gif color banding dithering palette
In Advanced options, with GIF selected, you find Dithering, Palette colors, Palette and Optimize repeated pixels. Each has a hint right below it, and the estimated size changes with every switch, so you can see the cost of each choice before generating.
There are 64 distinct thresholds, from 0 to 63, normalized before being added to the pixel.
The whole pixel error is shared among the four neighbors, neither losing nor creating brightness.
The cube root of 256 is about 6.35, and 255 divided by it gives 40 rounded.
255 divided by the cube root of 16 exceeds 100, but the amplitude is capped at 96.
One palette index becomes the transparent one, leaving 255 real colors.
Pick the file, mark the clip and click Generate. The tool extracts frames with the browser's own player, draws each one on a canvas and builds the GIF in memory, all on your device. Nothing is sent to a server, so there is no queue, no upload limit and no copy of your video anywhere.
Bayer is the default: it is stable between frames, compresses well and hides most bands. Switch to Floyd-Steinberg for photos and long gradients if you accept a larger file, and to None for flat-color drawings, where dithering only adds noise.
It is in simple content such as interfaces, drawings or logos: 64 or 32 colors suffice and the file shrinks. On photos and camera video, below 128 colors the bands show even with dithering. The weight does not fall linearly, because the cost per pixel depends on the log of the color count.
Because Floyd-Steinberg noise changes from one frame to the next even in still areas, so few pixels repeat the previous frame value. In Bayer and no-dithering modes, still pixels get the same index frame after frame, and the optimization turns those stretches into transparency.
Conversion happens in your browser. The video is not sent to any server.