This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
//
// Header file for compression library
//
#ifndef _COMPRESSORLIB_H
#define _COMPRESSORLIB_H
#ifdef __cplusplus
extern "C"
{
#endif
#if defined(LINUX)
#define _stdcall
#else
#include "Windows.h"
#endif
typedef enum
{
FORMAT_COMP_ATI2N,
FORMAT_COMP_ATI2N_DXT5,
FORMAT_COMP_TOOBIG
} COMPRESSED_FORMAT;
typedef enum
{
FORMAT_ARGB_8888,
FORMAT_ARGB_TOOBIG
} UNCOMPRESSED_FORMAT;
typedef enum
{
COMPRESSOR_ERROR_NONE,
COMPRESSOR_ERROR_NO_INPUT_DATA,
COMPRESSOR_ERROR_NO_OUTPUT_POINTER,
COMPRESSOR_ERROR_UNSUPPORTED_SOURCE_FORMAT,
COMPRESSOR_ERROR_UNSUPPORTED_DESTINATION_FORMAT,
COMPRESSOR_ERROR_UNABLE_TO_INIT_CODEC,
COMPRESSOR_ERROR_GENERIC
} COMPRESSOR_ERROR;
//
// Compressor entry point
//
// Parameters -
//
// width - width of input image in pixels
// height - height of input image in pixels
// sourceFormat - format of source texture (must be ARGB_8888 at the moment)
// destinationFormat - format of output texture (can be ATI2N or ATI2N_DXT5)
// inputData - pointer to uncompressed texture data
// dataOut - address of pointer that will point to the compressed data
// outDataSize - filled with the size of the compressed data buffer (can be NULL)
//
COMPRESSOR_ERROR _stdcall CompressTexture(DWORD width,
DWORD height,
UNCOMPRESSED_FORMAT sourceFormat,
COMPRESSED_FORMAT destinationFormat,
void *inputData,
void **dataOut,
DWORD *outDataSize);
#ifdef __cplusplus
}
#endif //__cplusplus
typedef void (*FnDeleteDataATI)(void *pData);
typedef COMPRESSOR_ERROR (*FnCompressTextureATI)(DWORD width,
DWORD height,
UNCOMPRESSED_FORMAT sourceFormat,
COMPRESSED_FORMAT destinationFormat,
void *inputData,
void **dataOut,
DWORD *outDataSize);
extern void (*DeleteDataATI)(void *pData);
extern COMPRESSOR_ERROR (*CompressTextureATI)(DWORD width,
DWORD height,
UNCOMPRESSED_FORMAT sourceFormat,
COMPRESSED_FORMAT destinationFormat,
void *inputData,
void **dataOut,
DWORD *outDataSize);
#endif // _COMPRESSORLIB_H