**Status:** Released
The 3.1 release is the second release in the 3.x series. This release gives another performance boost, typically between 5 and 25% faster than the 3.0 release, as well as further incremental improvements to image quality. A number of build system improvements make `astcenc` easier and faster to integrate into other projects as a library, including support for building universal binaries on macOS. The full change list is shown below.
Reminder for users of the library interface - the API is not designed to be binary compatible across versions, and this release is not compatible with earlier releases. Please update and rebuild your client-side code using the updated `astcenc.h` header.
* **General:**
* **Feature:** RGB color data now supports `-perceptual` operation. The current implementation is simple, weighting color channel errors by their contribution to perceived luminance. This mimics the behavior of the human visual system, which is most sensitive to green, then red, then blue.
* **Feature:** Codec supports a new low weight search mode, which is a simpler weight assignment for encodings with a low number of weights in the weight grid. The weight threshold can be overridden using the new `-lowweightmodelimit` command line option.
* **Feature:** All platform builds now support building a native binary. Native binaries automatically select the SIMD level based on the default configuration of the compiler in use. Native binaries built on one machine may use different SIMD options than native binaries build on another.
* **Feature:** macOS platform builds now support building universal binaries containing both x86_64 and arm64 target support.
* **Feature:** Building the command line can be disabled when using as a library in another project. Set `-DCLI=OFF` during the CMake configure step.
* **Feature:** A standalone minimal example of the core codec API usage has been added in the `./Utils/Example/` directory.
* **Core API:**
* **Feature:** Config flag `ASTCENC_FLG_USE_PERCEPTUAL` works for color data.
* **Feature:** Config option `tune_low_weight_count_limit` added.
* **Feature:** New heuristic added which prunes dual weight plane searches if they are unlikely to help. This heuristic is not user controllable.
* **Feature:** Image quality has been improved. In general we see significant improvements (up to 0.2dB) for high bitrate encodings (4x4, 5x4), and a smaller improvement (up to 0.1dB) for lower bitrate encodings.
* **Bug fix:** Arm "none" SIMD builds could be invariant with other builds. This fix has also been back-ported to the 2.x LTS branch.
**Performance:**
This release includes further performance optimizations which improve performance vs the 3.0 release by between 5% and 25%, depending on image and quality search preset used. High bitrate (e.g. 4x4) block sizes benefit the most for `-fast` searches, medium bitrate (e.g. 6x6) block sizes benefit the most for `-medium` and `-thorough` searches.
**Image quality:**
There are small image quality improvements of between 0.05-0.1dB for most bit rates, but larger improvements of up to 0.2 dB for high-bitrate encodings (eg. 4x4) for `-fast` and `-medium` searches.
Binary release sha256 checksums
101d013f2c5f7304be45654222ad7b31e616d1805cfb5a81fac291382f62f361 astcenc-3.1-linuxx64.zip
72c9a9c5fd2fa8eb2875e07900d7fc8fbb1ac1c657ca83705fa51262a918a19d astcenc-3.1-macosaarch64.zip
8710c23bf71d48077cb84706166fd75402b4114d0f767e637ab36499149a42e1 astcenc-3.1-macosx64.zip
d453fc8af1d971da0a375268fff6fed53c174bd154030a7188eb9046e72340f5 astcenc-3.1-windowsx64.zip