From b56a50064caf2a590ba43699e0074690fcd431bf Mon Sep 17 00:00:00 2001 From: Jeff McGlynn Date: Wed, 20 Jun 2018 11:34:20 -0700 Subject: Initial version of astc-codec for open source release Contains an implementation of an ASTC decoder that is able to pass the dEQP ASTC LDR tests. astc-codec has no external dependencies for the main library, only for test code, and is licensed under the Apache license. Components: include/ - Public API that can decode ASTC LDR data into a RGBA UNORM8 buffer. src/base/ - Base library with common functionality not directly related to ASTC decoding. Contains a uint128 implementation, BitStream for reading/writing bits with a primitive (or uint128 type), Optional implementation (to not take a dependency on C++17), and more. src/decoder/ - Internal implementation of the ASTC decoder. src/base/test/, src/decoder/test/ - Unit tests (and a fuzzing test) for the astc decoder. src/decoder/testdata/ - Sample ASTC images and golden image results for testing. src/decoder/tools/ - A tool to inspect contents of an ASTC file. third_party/ - Third party libraries, only used for tests. Change-Id: Ia98e5a7dc847daa3d3a48c5e62d94b8fb1cb98bd --- README.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 41daba0..7d53cb8 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,41 @@ astc-codec is a software ASTC decoder implementation, which supports the ASTC LDR profile. +Example usage: + +``` +#include + +// ... + +std::vector astc = LoadMyASTCData(); +const size_t width = 640; +const size_t height = 480; + +std::vector result; +result.resize(width * height * 4); + +bool result = astc_codec::ASTCDecompressToRGBA( + astc.data(), astc.size(), width, height, astc_codec::FootprintType::k4x4, + result.data(), result.size(), /* stride */ width * 4); +``` + +## Building + +Install [Bazel](https://bazel.build/), and then run: + +``` +bazel build :astc_codec -c opt +``` + +astc-codec has been tested on Mac and Linux. + +## Run Tests + +``` +bazel test //... +``` + ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for important contributing requirements. @@ -12,4 +47,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for important contributing requirements. astc-codec project is licensed under the Apache License Version 2.0. You can find a copy of it in [LICENSE](LICENSE). -This is not an official Google product. +This is not an officially supported Google product. -- cgit v1.2.3