-
Notifications
You must be signed in to change notification settings - Fork 0
ASTC HDR 6x6 Encoder Comparisons
ASTC 6x6 HDR: astcenc -ch ‐thorough or ‐exhaustive vs. basis universal comp_level 3
Each LDR sRGB test image was converted to linear light RGB (a standard sRGB->linear conversion), scaled to a luminance of 100 nits (typical SDR monitor brightness is 80-100 nits), saved as a standard .EXR file and then compressed with the two compressors (latest ARM astcenc command line vs. basisu ASTC HDR 6x6). Each compressor's standard ASTC HDR format output was then unpacked to half float and then converted back to SDR sRGB (by dividing by 100 nits and applying the linear to sRGB transfer function), then saved to .PNG for easy viewing on the web.
I've uploaded the first two test .EXR files (the lake image and the yellow flower image) into this repo here. (See upconverted_base.exr and upconverted_texture16.exr.) You can download these images and view them using the online OpenHDR viewer, and compress/decompress them using astcenc yourself for verification. Example command lines:
astcenc-avx2.exe -ch upconverted_base.exr base.astc 6x6 -exhaustive
astcenc-avx2.exe -dh base.astc base.exr
Note these images are not outliers: it's easy to find many others that get compressed very badly with astcenc in HDR mode. The problem isn't the ASTC HDR format, which is excellent. There is a problem in ARM's reference encoder.
ARM astcenc exhaustive:

basisu:

original image:

ARM astcenc exhaustive:

basisu comp_level=0 (fastest):

original image:

ARM astcenc exhaustive:

basisu comp_level=0 (fastest):

original image:

ARM astcenc exhaustive:

basisu:

original image:
