diff options
author | Jeff McGlynn <jwmcglynn@google.com> | 2018-06-20 11:34:20 -0700 |
---|---|---|
committer | Jeff McGlynn <jwmcglynn@google.com> | 2018-06-20 11:50:22 -0700 |
commit | b56a50064caf2a590ba43699e0074690fcd431bf (patch) | |
tree | d81c98f2d097f9b32f23cffef7afa6725a182e66 /README.md | |
parent | ce724a5f1c94f539a6bf956fc6431c37e97961a9 (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.md | 37 |
1 files changed, 36 insertions, 1 deletions
@@ -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. |