28#ifndef __OgreETCCodec_H__
29#define __OgreETCCodec_H__
51 static void flipEndian(
void * pData,
size_t size,
size_t count);
SharedPtr< CodecData > CodecDataPtr
std::pair< MemoryDataStreamPtr, CodecDataPtr > DecodeResult
Result of a decoding; both a decoded data stream and CodecData metadata.
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)
static ETCCodec * msPKMInstance
Single registered codec instance.
static void flipEndian(void *pData, size_t size)
DataStreamPtr encode(MemoryDataStreamPtr &input, CodecDataPtr &pData) const
Codes the data in the input stream and saves the result in the output stream.
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
static void flipEndian(void *pData, size_t size, size_t count)
DecodeResult decode(DataStreamPtr &input) const
Codes the data from the input chunk into the output chunk.
Codec specialized in images.
SharedPtr< DataStream > DataStreamPtr
Shared pointer to allow data streams to be passed around without worrying about deallocation.
SharedPtr< MemoryDataStream > MemoryDataStreamPtr
Shared pointer to allow memory data streams to be passed around without worrying about deallocation.