I swore I would not make a new release this year, but some are evidently failing to bind to pngquant/libimagequant. Let's fix this!
Front-end
-
Add a new image quantizer: HexTree.
-
Update the GUI layout and tooltips.
-
Reorganized the Image quantizer option for the CLI (and GUI):
--qmode
(-q
)Quantizer Speed Quality Compressibility 0 K-Means Slow High Low 1 Pillow Turbo Low Very high 2 HexTree [fallback] Very fast Good Medium-Low 3 libimagequant/pngquant [default] Fast Best Medium-Low By default, SUPer attempts to use
-q 3
: libimagequant/pngquant (LIQ). If it fails to find either, it will fallback to HexTree.- LIQ reigns supreme to quantize gradients and glows. HexTree may struggle occasionally on those but remains a good alternative.
- Pillow is excellent for low bitrate, and can do wonders with colour effects like fades and karaoke at very low bandwidths.
- K-Means is solely for users who fail to bind SUPer to libimagequant/pngquant but still wishes to produce high quality encodes.
-
Warn user if the BDN contains PNG that are already palettized or events split across two graphics.
-
Add
--capabilities
to the CLI to display the available implementations (optimizations) of the Brule libraries. -
[Windows builds] Update the libimagequant DLL to v4.0.3.
Back-end
- Improve significantly the speed of K-Means image quantizer.
- Make palette update buffering logic more robust with HFR content.
- Fix infrequent palette corruption after a Normal Case object redefinition.
- Fix window coordinates of large overlays that were split in two pieces to fit in the coded data buffer.
- Sanitize timecode handling and BDN parser. DF 29.97 & DF 59.94 should now be supported. (NDF were already!)
- Clean-up the code and optimize a few components.
- Fix config.ini look-up in frozen executables.
Virtual environment users shall do a clean install. HexTree will be subpar if your system fails to compile the C extension.