aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGravatar Jeff McGlynn <jwmcglynn@google.com>2018-06-20 11:34:20 -0700
committerGravatar Jeff McGlynn <jwmcglynn@google.com>2018-06-20 11:50:22 -0700
commitb56a50064caf2a590ba43699e0074690fcd431bf (patch)
treed81c98f2d097f9b32f23cffef7afa6725a182e66 /README.md
parentce724a5f1c94f539a6bf956fc6431c37e97961a9 (diff)
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
Diffstat (limited to 'README.md')
-rw-r--r--README.md37
1 files changed, 36 insertions, 1 deletions
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 <astc-codec/astc-codec.h>
+
+// ...
+
+std::vector<uint8_t> astc = LoadMyASTCData();
+const size_t width = 640;
+const size_t height = 480;
+
+std::vector<uint8_t> 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.