Comparing sensitive data, confidential files or internal emails?

Most legal and privacy policies prohibit uploading sensitive data online. Diffchecker Desktop ensures your confidential information never leaves your computer. Work offline and compare documents securely.

Untitled diff

Created Diff never expires
12 removals
53 lines
10 additions
54 lines
/* •¶ŽšƒR[ƒh‚Í‚r‚i‚h‚r ‰üsƒR[ƒh‚Í‚b‚q‚k‚e */
/* •¶ŽšƒR[ƒh‚Í‚r‚i‚h‚r ‰üsƒR[ƒh‚Í‚b‚q‚k‚e */
/* $Id: Codec.h 731 2011-08-30 13:49:13Z umezawa $ */
/* $Id$ */


#pragma once
#pragma once


#define CBGROSSWIDTH_NATURAL ((size_t)0)
#define CBGROSSWIDTH_NATURAL ((size_t)0)
#define CBGROSSWIDTH_WINDOWS ((size_t)-1)
#define CBGROSSWIDTH_WINDOWS ((size_t)-1)


class CCodec
class CCodec
{
{
public:
public:
DLLEXPORT static CCodec *CreateInstance(utvf_t utvf, const char *pszInterfaceName);
DLLEXPORT static CCodec *CreateInstance(utvf_t utvf, const char *pszInterfaceName);
DLLEXPORT static void DeleteInstance(CCodec *pCodec);
DLLEXPORT static void DeleteInstance(CCodec *pCodec);


protected:
protected:
CCodec(void);
CCodec(void);
virtual ~CCodec(void);
virtual ~CCodec(void);


public:
public:
virtual const char *GetTinyName(void) = 0;
virtual const char *GetTinyName(void) = 0;
virtual void GetShortFriendlyName(char *pszName, size_t cchName) = 0;
virtual void GetShortFriendlyName(char *pszName, size_t cchName) = 0;
virtual void GetShortFriendlyName(wchar_t *pszName, size_t cchName) = 0;
virtual void GetShortFriendlyName(wchar_t *pszName, size_t cchName) = 0;
virtual void GetLongFriendlyName(char *pszName, size_t cchName) = 0;
virtual void GetLongFriendlyName(char *pszName, size_t cchName) = 0;
virtual void GetLongFriendlyName(wchar_t *pszName, size_t cchName) = 0;
virtual void GetLongFriendlyName(wchar_t *pszName, size_t cchName) = 0;
virtual const utvf_t *GetEncoderInputFormat(void) = 0;
virtual const utvf_t *GetEncoderInputFormat(void) = 0;
virtual const utvf_t *GetDecoderOutputFormat(void) = 0;
virtual const utvf_t *GetDecoderOutputFormat(void) = 0;
virtual const utvf_t *GetCompressedFormat(void) = 0;
virtual const utvf_t *GetCompressedFormat(void) = 0;
virtual bool IsTemporalCompressionSupported(void) = 0;
virtual bool IsTemporalCompressionSupported(void) = 0;


#ifdef _WIN32
#ifdef _WIN32
virtual INT_PTR About(HWND hwnd);
virtual INT_PTR About(HWND hwnd);
virtual INT_PTR Configure(HWND hwnd) = 0;
virtual INT_PTR Configure(HWND hwnd) = 0;
#endif
#endif


virtual size_t GetStateSize(void) = 0;
virtual size_t GetStateSize(void) = 0;
virtual int GetState(void *pState, size_t cb) = 0;
virtual int GetState(void *pState, size_t cb) = 0;
virtual int SetState(const void *pState, size_t cb) = 0;
virtual int SetState(const void *pState, size_t cb) = 0;


virtual int EncodeBegin(utvf_t infmt, unsigned int width, unsigned int height, size_t cbGrossWidth) = 0;
virtual int EncodeBegin(unsigned int width, unsigned int height) = 0;
virtual size_t EncodeFrame(void *pOutput, bool *pbKeyFrame, const void *pInput) = 0;
virtual size_t EncodeFrame(void *pOutput, bool *pbKeyFrame, const void *pInput, utvf_t infmt, size_t cbGrossWidth) = 0;
virtual int EncodeEnd(void) = 0;
virtual int EncodeEnd(void) = 0;
virtual size_t EncodeGetExtraDataSize(void) = 0;
virtual size_t EncodeGetExtraDataSize(void) = 0;
virtual int EncodeGetExtraData(void *pExtraData, size_t cb, utvf_t infmt, unsigned int width, unsigned int height, size_t cbGrossWidth) = 0;
virtual int EncodeGetExtraData(void *pExtraData, size_t cb, unsigned int width, unsigned int height) = 0;
virtual size_t EncodeGetOutputSize(utvf_t infmt, unsigned int width, unsigned int height, size_t cbGrossWidth) = 0;
virtual size_t EncodeGetOutputSize(utvf_t infmt, unsigned int width, unsigned int height) = 0;
virtual int EncodeQuery(utvf_t infmt, unsigned int width, unsigned int height, size_t cbGrossWidth) = 0;
virtual int EncodeQuery(utvf_t infmt, unsigned int width, unsigned int height) = 0;


virtual int DecodeBegin(utvf_t outfmt, unsigned int width, unsigned int height, size_t cbGrossWidth, const void *pExtraData, size_t cbExtraData) = 0;
virtual int DecodeBegin(unsigned int width, unsigned int height, const void *pExtraData, size_t cbExtraData) = 0;
virtual size_t DecodeFrame(void *pOutput, const void *pInput, bool bKeyFrame) = 0;
virtual size_t DecodeFrame(void *pOutput, const void *pInput, utvf_t outfmt, size_t cbGrossWidth) = 0;
virtual int DecodeGetFrameType(bool *pbKeyFrame, const void *pInput) = 0;
virtual int DecodeEnd(void) = 0;
virtual int DecodeEnd(void) = 0;
virtual size_t DecodeGetOutputSize(utvf_t outfmt, unsigned int width, unsigned int height, size_t cbGrossWidth) = 0;
virtual size_t DecodeGetOutputSize(utvf_t outfmt, unsigned int width, unsigned int height, size_t cbGrossWidth) = 0;
virtual int DecodeQuery(utvf_t outfmt, unsigned int width, unsigned int height, size_t cbGrossWidth, const void *pExtraData, size_t cbExtraData) = 0;
virtual int DecodeQuery(utvf_t outfmt, unsigned int width, unsigned int height, const void *pExtraData, size_t cbExtraData) = 0;
};
};