1 unstable release

0.1.0 Aug 29, 2015

#32 in #dds

Download history 99/week @ 2025-04-26

99 downloads per month

MIT/Apache

615KB
14K SLoC

DDS De/Encoder

A DDS decoder and encoder written in 100% safe Rust.

Features

  • Supports over 70 formats for decoding and most for encoding. See below for details.
  • Both high-level and low-level APIs for decoding and encoding.
  • Automatic multi-threading with rayon.
  • Simple mipmap generation.

Supported formats

This library supports a total of over 70 formats for decoding, including:

  • All BCn/DXT formats. E.g. BC1_UNORM, BC2_UNORM, BC3_UNORM, BC7_UNORM.
  • All LDR ASTC formats. E.g. ASTC_6x6_UNORM.
  • Over 30 uncompressed formats. E.g. R8G8B8A8_UNORM, R9G9B9E5_SHAREDEXP, R32G32B32_FLOAT.
  • Many YUV formats. E.g. AYUV, Y416, YUY2, NV12.

Most formats support encoding. Notable exceptions are the ASTC formats (#23), BC7 (#20), and BC6 (currently not planned).

For a full list of all support formats and their capabilities, see this document.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~8.5MB
~181K SLoC