| // SwiftShader Software Renderer | |
| // | |
| // Copyright(c) 2015 Google Inc. | |
| // | |
| // All rights reserved. No part of this software may be copied, distributed, transmitted, | |
| // transcribed, stored in a retrieval system, translated into any human or computer | |
| // language by any means, or disclosed to third parties without the explicit written | |
| // agreement of Google Inc. Without such an agreement, no rights or licenses, express | |
| // or implied, including but not limited to any patent rights, are granted to you. | |
| // | |
| class ETC_Decoder | |
| { | |
| public: | |
| enum InputType | |
| { | |
| ETC_R_SIGNED, | |
| ETC_R_UNSIGNED, | |
| ETC_RG_SIGNED, | |
| ETC_RG_UNSIGNED, | |
| ETC_RGB, | |
| ETC_RGB_PUNCHTHROUGH_ALPHA, | |
| ETC_RGBA | |
| }; | |
| /// ETC_Decoder::Decode - Decodes 1 to 4 channel images to 8 bit output | |
| /// @param src Pointer to ETC2 encoded image | |
| /// @param dst Pointer to BGRA, 8 bit output | |
| /// @param w src image width | |
| /// @param h src image height | |
| /// @param dstW dst image width | |
| /// @param dstH dst image height | |
| /// @param dstPitch dst image pitch (bytes per row) | |
| /// @param dstBpp dst image bytes per pixel | |
| /// @param inputType src's format | |
| /// @return true if the decoding was performed | |
| static bool Decode(const unsigned char* src, unsigned char *dst, int w, int h, int dstW, int dstH, int dstPitch, int dstBpp, InputType inputType); | |
| }; |