4.2.0
Status: November 2022
The 4.2.0 release is an optimization release. There are significant performance improvements, minor image quality improvements, and library interface changes in this release.
Reminder - the codec library API is not designed to be binary compatible across versions. We always recommend rebuilding your client-side code using the updated astcenc.h
header.
- General:
- Bug-fix: Compression for RGB and RGBA base+offset encodings no longer generate endpoints with the incorrect blue-contract behavior.
- Bug-fix: Lowest channel correlation calculation now correctly ignores constant color channels for the purposes of filtering 2 plane encodings.
- Bug-fix: ISA compatibility now checked in
config_init()
as well as incontext_alloc()
. - Change: Removed the low-weight count optimization, as more recent changes had significantly reduced its performance benefit. Option removed from both command line and configuration structure.
- Feature: The
-exhaustive
mode now runs full trials on more partitioning candidates and block candidates. This improves image quality by 0.1 to 0.25 dB, but slows down compression by 3x. The-verythorough
and-thorough
modes also test more candidates. - Feature: A new preset,
-verythorough
, has been introduced to provide a standard performance point between-thorough
and the re-tuned-exhaustive
mode. This new mode is faster and higher quality than the-exhaustive
preset in the 4.1 release. - Feature: The compressor can now independently vary the number of partitionings considered for error estimation for 2/3/4 partitions. This allows heuristics to put more effort into 2 partitions, and less in to 3 and 4 partitions.
- Feature: The compressor can now run trials on a variable number of candidate partitionings, allowing high quality modes to explore more of the search space at the expense of slower compression. The number of trials is independently configurable for 2/3/4 partition cases.
- Optimization: Introduce early-out threshold for 2/3/4 partition searches based on the results after 1 of 2 trials. This significantly
improves performance for-medium
and-thorough
searches, for a minor loss in image quality. - Optimization: Reduce early-out threshold for 3/4 partition searches based on 2/3 partition results. This significantly improves performance, especially for
-thorough
searches, for a minor loss in image quality. - Optimization: Use direct vector compare to create a SIMD mask instead of a scalar compare that is broadcast to a vector mask.
- Optimization: Remove obsolete partition validity masks from the partition selection algorithm.
- Optimization: Removed obsolete channel scaling from partition
avgs_and_dirs()
calculations.
Binary release sha256 checksums
1987a3d80dac1f3022216f60234c606bd1862e4d87529651dabc1cda240cbf57 astcenc-4.2.0-linux-x64.zip
21b95c9061a5be1554b346c5b105aa0d9b26415b0d47176c3ec4ecbe5fd6d9cf astcenc-4.2.0-macos-aarch64.zip
9049f7826074e1a793d2ff0c57e20f361e5ce3256ff3c2579bf39ca42af324fc astcenc-4.2.0-macos-x64.zip
aa767ab52db3f6a3316386f4a95d98d236aca1872cda53b6b28dabe48decb21f astcenc-4.2.0-windows-x64.zip