29 #ifndef INCLUDED_CODEC
30 #define INCLUDED_CODEC
32 #define CODEC_COMPUTE_CHECKSUM 1
69 virtual Status Process(
const u8* in,
size_t inSize,
u8*
out,
size_t outSize,
size_t& inConsumed,
size_t& outProduced) = 0;
94 #endif // #ifndef INCLUDED_CODEC
virtual Status Finish(u32 &checksum, size_t &outProduced)=0
Flush buffers and make sure all output has been produced.
virtual u32 UpdateChecksum(u32 checksum, const u8 *in, size_t inSize) const =0
update a checksum to reflect the contents of a buffer.
virtual Status Reset()=0
clear all previous state and prepare for reuse.
static void out(const wchar_t *fmt,...)
virtual size_t MaxOutputSize(size_t inSize) const =0
virtual Status Process(const u8 *in, size_t inSize, u8 *out, size_t outSize, size_t &inConsumed, size_t &outProduced)=0
process (i.e.
i64 Status
Error handling system.
virtual ~ICodec()
note: the implementation should not check whether any data remains - codecs are sometimes destroyed w...
shared_ptr< ICodec > PICodec