Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: ARM-software/astc-encoder

5.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 10:34
2727063
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Status: June 2026

The 5.5.0 release is a minor maintenance release, fixing minor functional issues and improving robustness when processing invalid images.

  • Codec library updates:
    • Bug fix: Correct vfloat8 NaN inequality comparisons for AVX2 builds, so that decompressing an invalid encoding returns the correct max magenta error color for UNORM output formats instead of black.
    • Bug fix: Add overflow detection so that the API returns errors for cases when input image size would result in integer overflow in
      calculations of total texel count, total block count, or compressed image byte size.
    • Bug fix: Fix bad offset calculation in compute_averages() when using 3D block sizes.
    • Bug fix: Add missing low-clamp when storing decompressed HDR data into a UNORM8 image. Prior to this fix, output colors would be incorrect if a HDR void-extent block contained a negative FP16 constant color component.
    • Improvement: Return standard error color when decompression requires an unavailable partitioning when using an ASTCENC_FLG_SELF_DECOMPRESS_ONLY context. Note that this is still not allowed API usage and may trigger asserts in a debug build.
  • Command line tool updates:
    • Update: Update stb_image to v2.30.
    • Update: Update Wuffs to v0.3.4.
    • Update: Update TinyEXR to v1.0.13.
    • Bug fix: Use C++ RAII to manage resource lifetime, removing resource leaks when an error condition is encountered.
    • Bug fix: Report errors for .astc, .dds, and .ktx input image sizes that would result in integer overflow in calculations of total block count or data size.
    • Bug fix: Avoid undefined behavior on NaN to int conversion triggered by atan2() calls when both inputs are zero.
    • Bug fix: Avoid undefined behavior on left shift of negative integer, that is triggered for some HDR encodings in hdr_alpha_unpack().
    • Bug fix: Redirect error logging for failed .dds and .ktx input image loading to stderr, and improve message consistency.

Binary release sha256 checksums

aee2efe79fa07ab5b341200f45b2a613b540490e64047107fbbc9bdbb3f4b179 astcenc-5.5.0-linux-arm64.zip
ecf4c6bc858ce6a3b7ac49af800c5d1268410cebaed35bc998e6eeb8b547ceca astcenc-5.5.0-linux-x64.zip
52b7c3380ac1e6afa1565c4fc86f571c510fed67f38d6e80c2f3cc3f23ae3059 astcenc-5.5.0-macos-universal.zip
e342902eed198011ef88267f081695905ad6586be25fd923a5a9e039f2dab083 astcenc-5.5.0-windows-arm64.zip
658abc1ca76990bb5a00402a122e3b8b041f0ce416fe966c484466bddf9081e7 astcenc-5.5.0-windows-x64.zip
Assets 8
Loading
reybits reacted with thumbs up emoji omasanori and EvgenijLutz reacted with hooray emoji
3 people reacted

5.4.0

Choose a tag to compare

@github-actions github-actions released this 05 May 12:11
3ee54d1
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Status: May 2026

The 5.4.0 release is a minor feature release.

This release includes changes to the public interface in the astcenc.h header. We always recommend rebuilding your client-side code using the header from the same release to avoid compatibility issues.

Thank you to the community contributors for this release cycle, who contributed the changes for astcenc.h C compliance, RISC-V backend support, and new fuzzers that significantly increase our OSS Fuzz code coverage.

  • General:
    • Improvement: The interface header astcenc.h is now C compliant to make it usable from C programs.
    • Improvement: Contexts using the same configuration can now share read-only data tables. This can significantly reduce the amount of memory needed for applications that parallelize by processing multiple images in parallel instead of slicing a single image in parallel.
    • Improvement: Decompressor (astcdec) builds, which lack compression support, now use a smaller block_size_descriptor by omitting fields that are only needed for compression. This reduces the size of a decompressor context by more than 10MB!
    • Optimization: A SIMD backend for the RISC-V Vector extensions has been added, and is auto-selected when configured with ASTCENC_ISA_NONE and a core with a 256-bit vector width. See Building.md for details.
    • Bug fix: Avoid using an undefined quant_weight value if all one partition trials return an error block.
    • Bug fix: Remove remaining instances of type aliasing through unions.
    • Bug fix: Avoid compiler double definition warning for NOMINMAX when compiling with MinGW.
    • Bug fix: Avoid compiler floating point model override warning when compiling with Clang 20.

Binary release sha256 checksums

a892b8630edfb79334fefe2a2312af934fc385f3190ca06ee882a264835ae7b4 astcenc-5.4.0-linux-arm64.zip
c98cb38b979a0d3464d1d445e7b485f7356457cdbc5d9c4bc9450f9ce45ebf73 astcenc-5.4.0-linux-x64.zip
4d02d5cad4a026e026b60f0e8dd02064858637f6f96e942d986a9e96003bf6f3 astcenc-5.4.0-macos-universal.zip
8d0ef8eb9d0b2519776ba5609a0f01249827fe730f8932de11bb6b06d9ac5f17 astcenc-5.4.0-windows-arm64.zip
1f0cbc67550caf158c3c0ac7689e8defefcd50e63f4b17d9b321c5728142e30d astcenc-5.4.0-windows-x64.zip
Loading
EvgenijLutz reacted with hooray emoji
1 person reacted

5.3.0

Choose a tag to compare

@github-actions github-actions released this 21 May 12:26

Status: March 2025

The 5.3.0 release is a minor maintenance release.

  • General:
    • Feature: Reference C builds (ASTCENC_ISA_NONE) support compiling for big-endian CPUs. Compile with -DASTCENC_BIG_ENDIAN=ON when compiling for a big-endian target; it is not auto-detected.
    • Improvement: Builds using GCC now specify -flto=auto to allow parallel link steps and remove the log warnings about not setting a CPU count parameter value.
    • Bug fix: Builds using MSVC cl.exe that do not specify an explicit ISA using the preprocessor configuration defines will now correctly default to the SSE2 backend on x86-64 and the NEON backend on Arm64. Previously they would have defaulted to the reference C implementation, which is around 3.25 times slower.

Binary release sha256 checksums

b650648f7d1b3301d773576f652f0c1de82c49a2b2acce9c8799cb8200894bb5 astcenc-5.3.0-linux-arm64.zip
495b2f0cf0357ae05728a727e3d0e81d6e7f27b242c21cb5ef6254dd56dba5ff astcenc-5.3.0-linux-x64.zip
ccccba91fe134cc8c4aa70f7d539acb3de9895b656c24e401e562cc1014e6afd astcenc-5.3.0-macos-universal.zip
280db3a8865c3c419db2aec5cc1b3a2161c1a3de10a329106a8c939036287c9c astcenc-5.3.0-windows-arm64.zip
199b2287be0264182292869798bef91c35a64791e52bfd43824d1d3ac3e7846f astcenc-5.3.0-windows-x64.zip
Loading
lvtruongbrtchip reacted with thumbs up emoji laomiLM reacted with laugh emoji EvgenijLutz, MattFiler, and miracware reacted with heart emoji
5 people reacted

5.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Feb 20:38
2319d9c
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Status: February 2025

The 5.2.0 release is a minor maintenance release.

  • General:
    • Change: Changed sRGB alpha channel endpoint expansion to match the revised Khronos Data Format Specification (v1.4.0), which reverts an unintended specification change. Compared to previous releases, this change can cause LSB bit differences in the alpha channel of compressed sRGB images.
    • Feature: Arm64 builds for Linux added to the GitHub Actions builds, and Arm64 binaries for NEON, 128-bit SVE, and 256-bit SVE added to release builds.
    • Feature: Added a new codec API, astcenc_compress_cancel(), which can be used to cancel an in-flight compression. This is designed to help make it easier to integrate the codec into an interactive user interface that can respond to user events with low latency.
    • Bug fix: Removed incorrect static variable qualifier, which could result in an incorrect tune_mse_overshoot heuristic threshold being used if a user ran multiple concurrent compressions with different settings.

Binary release sha256 checksums

9c46d5e493d000fb2334b02bb16b862bb983c7471b157ba6f99d320a2e78d359 astcenc-5.2.0-linux-arm64.zip
b8c805b3c4a32680287ad5e5fc2a8b5ddf78c80f24cc0ec7ed1e4eb03c6cc5d2 astcenc-5.2.0-linux-x64.zip
a4d1c37d1fd98db283eb3e1494cf8e727ad064c693a3aff4cc435aa30c8d5737 astcenc-5.2.0-macos-universal.zip
5d784a26439c4980cf75666dd22a93e95384e74b5caec08d5ca7af73284f6527 astcenc-5.2.0-windows-arm64.zip
24a8507eb983a9853ceb7e766580dd58c5af7e57fcaca0ca35e57f07c2a66c34 astcenc-5.2.0-windows-x64.zip
Loading

5.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Nov 11:44

Status: November 2024

The 5.1.0 release is an optimization release, giving moderate performance improvements on all platforms. There are no image quality differences.

  • General:
    • Feature: Added a new CMake build option to control use of native gathers, as they can be slower than scalar loads on some common x86 microarchitectures. Build with -DASTCENC_X86_GATHERS=OFF to disable use of native gathers in AVX2 builds.
    • Optimization: Added new gather() abstraction for gathers using byte indices, allowing implementations without gather hardware to skip the byte-to-int index conversion.
    • Optimization: Optimized compute_lowest_and_highest_weight() to pre-compute min/max outside of the main loop.
    • Optimization: Added improved intrinsics sequence for SSE and AVX2 integer hmin() and hmax().
    • Optimization: Added improved intrinsics sequence for vint4(uint8_t*) on systems implementing Arm SVE.

Binary release sha256 checksums

a9f61f954f8c6f75675b9b8187454a3b1328c172cb62747715a30937bb8fe7bb astcenc-5.1.0-linux-x64.zip
4ecb330104e05a35febfc0d83b0c128ee2f51b671577e9952ca4278b5455197b astcenc-5.1.0-macos-universal.zip
ff01a6f988aaf5d7f1a139d2cff4c1988f70252b6f53fa3ba72888cc732ba154 astcenc-5.1.0-windows-arm64.zip
c3e5954b9f263e4e13d92892a9e9ef4728abf4acffbf013bb466dd97cc2a0a15 astcenc-5.1.0-windows-x64.zip
Loading
jokosablenk, yhyu13, and lvtruongbrtchip reacted with thumbs up emoji
3 people reacted

5.0.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 21:59
2ff200e
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Status: November 2024

The 5.0.0 release is the first stable release in the 5.x series. The main new feature over the 4.x series is support for the Arm Scalable Vector Extensions (SVE) SIMD instruction set, with both 128-bit and 256-bit backends provided. This gives up to 60% performance improvement on Neoverse V2 with its 256-bit SVE implementation.

  • General:
    • Bug fix: Fixed incorrect return type in "None" vector library reference implementation.
    • Bug fix: Fixed sincos table index under/overflow.
    • Feature: Changed ASTCENC_ISA_NATIVE builds to use -march=native and -mcpu=native.
    • Feature: Added backend for Arm SVE fixed-width 256-bit builds. These can only run on hardware implementing 256-bit SVE.
    • Feature: Added backend for Arm SVE 128-bit builds. These are portable builds and can run on hardware implementing any SVE vector length, but the explicit SVE use is augmented NEON and will only use the bottom 128-bits of each SVE vector.
    • Feature: Optimized NEON mask any() and all() functions.
    • Feature: Migrated build and test to GitHub Actions pipelines.

Binary release sha256 checksums

70183c4346f9fc0f55cd8e3ca5b326cbb4675233b026c02df60657e344c44cc0 astcenc-5.0.0-linux-x64.zip
b8e450250932f07765d868318709964da2a36d41be0538f5c018d8fc72a41e70 astcenc-5.0.0-macos-universal.zip
dbaf1a1329f6fd909457b43e7872092e979ba8ebd9bdf9dbbd950069fa533124 astcenc-5.0.0-windows-arm64.zip
6c22b89f3d437d457c45036c8297ce9cec400f8bdfa019eed71e3b8d343f5ebb astcenc-5.0.0-windows-x64.zip
Loading
jokosablenk, richard-viney, and ghishadow reacted with thumbs up emoji
3 people reacted

4.8.0

Choose a tag to compare

@solidpixel solidpixel released this 07 May 14:09

Status: May 2024

The 4.8.0 release is a minor maintenance 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: Native builds on macOS will now correctly build for arm64 when run outside of Rosetta on an Apple silicon device.
    • Bug fix: Multiple small improvements to remove use of undefined language behavior, to improve support for deployment using Emscripten.
    • Feature: Builds using Clang can now build with undefined behavior sanitizer by setting -DASTCENC_UBSAN=ON on the CMake configure line.
    • Feature: Updated to Wuffs library 0.3.4, which ignores tRNS alpha chunks for type 4 (LA) and 6 (RGBA) PNGs, to improve compatibility with libpng.

Binary release sha256 checksums

dfd7fb8056aeb1c9fa19d8c101f9a6a710ffa2000e62d5a536d4a7ca06c81c8d astcenc-4.8.0-linux-x64.zip
26b82cac7a41c99c4a5789df5025d1bc42a02067be4670a5f4639e176083cee2 astcenc-4.8.0-macos-universal.zip
cdf073b42c86e766959e0c363b84b16ca4908b0d1a6304eafa6ae8d32b2dd393 astcenc-4.8.0-windows-arm64.zip
a821d4c58fa5bb5ecf421aabbdb514f0083baea0c0bc0e6d10fba65fe3ceb7b2 astcenc-4.8.0-windows-x64.zip
Loading

4.7.0

Choose a tag to compare

@solidpixel solidpixel released this 11 Jan 21:54

Status: January 2024

The 4.7.0 release is a major maintenance release, fixing rounding behavior in the decompressor to match the Khronos specification. This fix includes the addition of explicit support for optimizing for decode_unorm8 rounding.

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: sRGB LDR decompression now uses the correct endpoint expansion method to create the 16-bit RGB endpoint colors, and removes the previous correction code from the interpolation function. This bug could result in LSB bit flips relative to the standard specification.
    • Bug fix: Decompressing to an 8-bit per component output image now matches the decode_unorm8 extension rounding rules. This bug could result in LSB bit flips relative to the standard specification.
    • Bug fix: Code now avoids using alignas() in the reference C implementation, as the default alignas(16) is narrower than the native minimum alignment requirement on some CPU architectures.
    • Feature: Library configuration supports a new flag, ASTCENC_FLG_USE_DECODE_UNORM8. This flag indicates that the image will be used with the decode_unorm8 decode mode. When set during compression this allows the compressor to use the correct rounding when determining the best encoding.
    • Feature: Command line tool supports a new option, -decode_unorm8. This option indicates that the image will be used with the decode_unorm8 decode mode. This option will automatically be set for decompression (-d*) and trial (-t*) tool operation if the decompressed output image is stored to an 8-bit per component file format. This option must be set manually for compression (-c*) tool operation, as the desired decode mode cannot be reliably determined.
    • Feature: Library configuration supports a new optional progress reporting callback to be specified. This is called during compression to to allow interactive tooling use cases to display incremental progress. The command line tool uses this feature to show compression progress unless -silent is used.
    • Feature: Prebuilt Linux binary releases updated to use Clang 14 (previously Clang 9) which gives a small performance improvement.

Binary release sha256 checksums

4f596546808c58f2b7e0271302d05df40159cdc7c47645cc96f331229d22ab66 astcenc-4.7.0-linux-x64.zip
176b2c0bf2673d15eb1ba11c1e2691ccb041b79e4076fccd6cd0ece3f75aa2bc astcenc-4.7.0-macos-universal.zip
092bc9023195c9ccef811c97f1e0746e0f803a5397e5a18773566615b077914d astcenc-4.7.0-windows-arm64.zip
deb20ea0cb4ef522ca1eecee82358bfc9cdafd8d4101bc22f28502a0165180bd astcenc-4.7.0-windows-x64.zip
Loading
Avokadoen, ghishadow, Chubercik, hmfann, and XAKER200 reacted with hooray emoji
5 people reacted

4.6.1

Choose a tag to compare

@solidpixel solidpixel released this 24 Nov 20:04
aeece2f
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Status: November 2023

The 4.6.1 release is a minor maintenance release to fix a performance scaling issue on large core count Windows systems. No other performance or image changes are expected for this release.

  • General:
    • Optimization: Windows builds of the astcenc command line tool can now use more than 64 cores on large core count systems. This change doubles command line performance for -exhastive compression when testing on an 96 core/192 thread system.
    • Feature: Windows Arm64 native builds of the astcenc command line tool are now included in the prebuilt release binaries.

Binary release sha256 checksums

e360aeabf3b5aeda6a7cfabddc49af8b204e28befa04ab8e8942c85620ba071a astcenc-4.6.1-linux-x64.zip
40f19df27799f6f2ad6890c147165f8e077ff6547be57b02d7949677d3f1ea9e astcenc-4.6.1-macos-universal.zip
92cd085b6a2f8f748fd384f2dc8e3c977756ffbe13e263729695cd18233b55a8 astcenc-4.6.1-windows-arm64.zip
0c4ba7af8b5ec22e9bd4f4173866985d2d10b5be137753171481b9629054e38e astcenc-4.6.1-windows-x64.zip
Loading

4.6.0

Choose a tag to compare

@solidpixel solidpixel released this 07 Nov 12:30

Status: November 2023

The 4.6.0 release is a minor release with a few code quality improvements, and a small performance boost.

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: Fixed context allocation for contexts allocated with the ASTCENC_FLG_DECOMPRESS_ONLY flag.
    • Bug-fix: Reduced use of reinterpret_cast in the core codec to avoid strict aliasing violations.
    • Optimization: -medium search quality no longer tests 4 partition encodings for block sizes between 25 and 83 texels (inclusive). This improves performance for a tiny drop in image quality.
    • Optimization: -thorough and higher search qualities no longer test the mode0 first search for block sizes between 25 and 83 texels (inclusive). This improves performance for a tiny drop in image quality.
    • Optimization: TUNE_MAX_PARTITIONING_CANDIDATES reduced from 32 to 8 to reduce the size of stack allocated data structures. This causes a tiny drop in image quality for the -verythorough and -exhaustive presets.

Binary release sha256 checksums

321229025183e9f8f1cdb766b1a036da33a192d56e46bdf8b44295759c36fc9e astcenc-4.6.0-linux-x64.zip
19adae19a7a46b05739fe9285dbac6c960e08504780890bbef4f8eca6663e0d7 astcenc-4.6.0-macos-universal.zip
a140454aa6c2dee29e85a1dc162430a6914123aea62546bfad9885ca336bff24 astcenc-4.6.0-windows-x64.zip
Loading
yhyu13 reacted with laugh emoji Dorlerd and XAKER200 reacted with eyes emoji
3 people reacted
Previous 1 3 4
Previous

AltStyle によって変換されたページ (->オリジナル) /