home *** CD-ROM | disk | FTP | other *** search
- /*
- * PECompact v2 CODEC SDK
- *
- * C/C++ include file
- *
- * Copyright (c) 2004 by Jeremy Collake and Bitsum Technologies
- * All Rights Reserved
- *
- * http://www.bitsum.com/
- */
-
- #ifndef PEC2CODECSDK_H_INCLUDED
- #define PEC2CODECSDK_H_INCLUDED
-
- #include <windows.h>
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*
- * define flags and codes
- */
- #define PEC2_CODEC_ACTION_DONE 0
- #define PEC2_CODEC_ACTION_ENCODE 1
- #define PEC2_CODEC_ACTION_ERROR (-1)
- #define PEC2_CODEC_ACTION_USER_DEFINED 10
-
- #define PEC2_CODEC_ERROR_UNSPECIFIED (-1)
- #define PEC2_CODEC_ERROR_INSUFFICIENT_BUFFER (-2)
- #define PEC2_CODEC_ERROR_ABORTED (-3)
-
- /*
- * define this SDK version
- */
- #define PEC2_CODEC_SDK_VERSION_MAJOR 1
- #define PEC2_CODEC_SDK_VERSION_MINOR 00
- #define PEC2_CODEC_SDK_VERSION ((PEC2_CODEC_SDK_VERSION_MAJOR*100)+PEC2_CODEC_SDK_VERSION_MINOR)
-
- /*
- * codec host module pointer types
- */
- typedef FARPROC (WINAPI *PFNCodecGetProcAddress)(DWORD dwCodecIndex, LPCSTR pszApi);
- typedef DWORD (WINAPI *PFNGetNumberOfCodecs)();
-
- typedef struct _PEC2_DECODE_EXTRA
- {
- FARPROC pLoadLibraryA; /* pointer to LoadLibraryA */
- FARPROC pGetProcAddress; /* pointer to GetProcAddress */
- } PEC2_DECODE_EXTRA, *PPEC2_DECODE_EXTRA;
-
- /*
- * codec callback function pointer type(s)
- */
- typedef BOOL (WINAPI *PFNCodecCallback)(DWORD dwAction, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3);
-
- /*
- * codec function pointer types
- */
- typedef DWORD (WINAPI *PFNDecodeSmall)(LPVOID lpvSource, LPVOID lpvDest, LPVOID lpExtraData);
- typedef DWORD (WINAPI *PFNDecodeFast)(LPVOID lpvSource, LPVOID lpvDest, LPVOID lpExtraData);
- typedef DWORD (WINAPI *PFNGetDecodeSmallFuncSize)();
- typedef DWORD (WINAPI *PFNGetDecodeFastFuncSize)();
- typedef DWORD (WINAPI *PFNEncode)(LPVOID lpvSource, DWORD dwSourceSize, LPVOID lpvDest,
- DWORD *pdwDestSize, DWORD dwLevel, PFNCodecCallback pCallback);
- typedef DWORD (WINAPI *PFNGetCodecVersion)(DWORD *pdwSDKVersion);
- typedef DWORD (WINAPI *PFNGetCodecName)(WCHAR *pwszBuffer, DWORD dwBufSize);
- typedef DWORD (WINAPI *PFNGetCodecAuthor)(WCHAR *pwszBuffer, DWORD dwBufSize);
- typedef DWORD (WINAPI *PFNGetMaximumEncodingLevel)();
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
- #endif /* PEC2CODECSDK_H_INCLUDED */
-