28#ifndef __OgreETCCodec_H__
29#define __OgreETCCodec_H__
std::pair< MemoryDataStreamPtr, CodecDataPtr > DecodeResult
Result of a decoding; both a decoded data stream and CodecData metadata.
Codec specialized in loading ETC (Ericsson Texture Compression) images.
static void startup(void)
Static method to startup and register the ETC codec.
virtual String getType() const
Returns the type of the codec as a String.
bool decodeKTX(DataStreamPtr &input, DecodeResult &result) const
static void shutdown(void)
Static method to shutdown and unregister the ETC codec.
void encodeToFile(MemoryDataStreamPtr &input, const String &outFileName, CodecDataPtr &pData) const
Codes the data in the input chunk and saves the result in the output filename provided.
ETCCodec(const String &type)
void flipEndian(void *pData, size_t size) const
static ETCCodec * msPKMInstance
Single registered codec instance.
DataStreamPtr encode(MemoryDataStreamPtr &input, CodecDataPtr &pData) const
Codes the data in the input stream and saves the result in the output stream.
void flipEndian(void *pData, size_t size, size_t count) const
static ETCCodec * msKTXInstance
String magicNumberToFileExt(const char *magicNumberPtr, size_t maxbytes) const
Maps a magic number header to a file extension, if this codec recognises it.
bool decodePKM(DataStreamPtr &input, DecodeResult &result) const
DecodeResult decode(DataStreamPtr &input) const
Codes the data from the input chunk into the output chunk.
Codec specialized in images.
Reference-counted shared pointer, used for objects where implicit destruction is required.