Monday, August 31, 2026

XUBC7 Low-Level Format Document

The low-level format of the XUBC7 v1 codec (which, to my knowledge, is the first DCT-based BC7 codec) is being documented here:


More updates to this document are coming today.

It supports lossless or lossy coding of the entire BC7 format (all modes, all mode features, all partition patterns, all mode options), absolute DCT, residual DCT using dozens of predictors (like a modern image codec such as WebP), threaded decompression, all-integer deterministic decompression, and SIMD is optional (so a good fit for WASM).

XUBC7's lossless bitrate is ~3.5-5.6 bpp, and ~1.2-2.5 bpp lossy. (Plain BC7 is 8.0 bpp.) XUBC7 in lossless mode (relative to BC7) is so effective it can hold its own against lossy RDO BC7+LZ codecs, i.e. without sacrificing any quality. v2 will adaptively use 2x2-4x4 macroblocks, pushing its lossy bitrate much lower (below 1.0 bpp).

Note XUBC7 is also universal: we can transcode the BC7 latent directly to ASTC LDR 4x4's just by converting the BC7 block config to ASTC's (which is way more flexible than BC7's). In those rare cases where the BC7 partition pattern index isn't directly mappable to ASTC, we can fall back to the bc7f real-time analytical encoder running in a mode that outputs ASTC.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.