123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583 |
- #ifndef _duck_dxl_h
- #define _duck_dxl_h
- #include "duck_bmp.h"
- #if defined(__cplusplus)
- extern "C" {
- #endif
- typedef enum BLITQUALITY {
- DXBLIT_SAME = 0,
- DXBLIT_R1,
- DXBLIT_R2,
- DXBLIT_STRETCH,
- DXBLIT_R3,
- DXBLIT_STRETCH_BRIGHT,
- DXBLIT_R4,
- DXBLIT_R5,
- DXBLIT_R6,
- DXBLIT_NONE,
- DXBLITMAX
- } dxvBlitQuality ;
- typedef enum BITDEPTH {
- DXRGBNULL = 0,
- DXRGB8 = 1,
-
- DXRGB16_555 = 2,
- DXRGB24 = 3,
- DXRGB_UNUSED = 4,
- DXRGB16VESA = 5,
- DXRGB8VESA = 6,
- DXRGB16_565 = 7,
- DXYUY2 = 8,
- DXYVU9 = 9,
- DXYV12 = 10,
- DXUYVY = 11,
-
- DXRGB32 = 12,
- DXRGB16VESA_565 = 13,
- DXHALFTONE8 =14,
- DXI420 = 15,
-
- DXYVYU = 16,
- DXMAX
- } dxvBitDepth ;
- #define DXRGB16 DXRGB16_555
- #define DXRGB24CHAR DXRGB24
- typedef enum OFFSETXY {
- DXL_ABSOLUTE = 0,
- DXL_RELATIVE
- } dxvOffsetMode;
- typedef enum IMAGETYPE {
- DXL_INTRAFRAME = 0,
- DXL_INTERFRAME,
- DXL_SPRITE
- } dxvImageType;
- typedef enum DXL_ERR{
- DXL_LOW_ERR = -32000,
- DXL_HARDWARE_ERROR = -16002,
- DXL_HARDWARE_NOT_INITED = -16001,
- DXL_HARDWARE_BUFFER_FULL = -16000,
- DXL_INVALID_REQUEST = -9,
- DXL_VERSION_CONFLICT = -8,
- DXL_INVALID_DATA = -7,
- DXL_INVALID_BLIT = -6,
- DXL_BAD_DATA = -5,
- DXL_ALLOC_FAILED = -4,
- DXL_NULL_FRAME = -3,
- DXL_NULLSOURCE = -2,
- DXL_NOTINUSE = -1,
- DXL_OK = 0,
- DXL_HOLD_FRAME = 1
- } dxvError ;
- typedef enum BGMODE
- {
- NORM = 0,
- NO_BACKGROUND = 1,
- NORM_TRANS = 2,
- RGB_OPAQUE = 3,
- RGB_TRANS = 4
- } dxvBackgroundMode ;
-
- typedef struct vScreen *DXL_VSCREEN_HANDLE;
- typedef struct tXImage *DXL_XIMAGE_HANDLE;
- int DXL_InitVideo(
- int maxScreens,
- int maxImages
- );
- void DXL_ExitVideo(void);
- unsigned long *DXL_GetFourCCList(void);
- DXL_XIMAGE_HANDLE DXL_CreateXImage(
- unsigned char *data
- );
- int DXL_SetXImageCSize(
- DXL_XIMAGE_HANDLE xImage,
- int compressedSize
- );
- DXL_XIMAGE_HANDLE DXL_CreateXImageOfType(
- unsigned char *data,
- unsigned long fccType
- );
- DXL_XIMAGE_HANDLE DXL_CreateXImageFromBMI(
- unsigned char *data,
- unsigned long biCompression,
- DK_BITMAPINFOHEADER *srcAndDst
- );
- void DXL_DestroyXImage(
- DXL_XIMAGE_HANDLE src
- );
- int DXL_AlterXImageData(
- DXL_XIMAGE_HANDLE src,
- unsigned char *ptrData
- );
- DXL_XIMAGE_HANDLE DXL_AlterXImage(
- DXL_XIMAGE_HANDLE xImage,
- unsigned char *ptrData,
- int xImType,
- dxvBitDepth bitDepth ,
- int maxWidth,
- int maxHeight
- );
- long DXL_GetXImageCSize(
- DXL_XIMAGE_HANDLE src
- );
- int DXL_GetXImageXYWH(
- DXL_XIMAGE_HANDLE src,
- int *x,int *y,int *w, int *h
- );
- int DXL_IsXImageKeyFrame(
- DXL_XIMAGE_HANDLE src
- );
- int DXL_dxImageToVScreen(
- DXL_XIMAGE_HANDLE xImage,
- DXL_VSCREEN_HANDLE dst
- );
- int DXL_CheckdxImageToVScreen(
- DXL_XIMAGE_HANDLE src,
- DXL_VSCREEN_HANDLE dst
- );
- int DXL_BlitXImageToVScreen(
- DXL_XIMAGE_HANDLE src,
- DXL_VSCREEN_HANDLE dst
- );
- DXL_VSCREEN_HANDLE DXL_CreateVScreen(
- unsigned char *addr,
- dxvBitDepth colorMode,
- short bytePitch,
- short height
- );
- int DXL_AlterVScreen(
- DXL_VSCREEN_HANDLE dst,
- unsigned char *addr,
- dxvBitDepth colorMode,
- int bytePitch,
- int height
- );
-
- void DXL_VScreenSetInfoDotsFlag(DXL_VSCREEN_HANDLE vScreen, int showDots);
-
- int DXL_AlterVScreenClip(
- DXL_VSCREEN_HANDLE dst,
- int x,int y,
- int w,int h
- );
- int DXL_AlterVScreenView(
- DXL_VSCREEN_HANDLE dst,
- int x,int y,
- int w,int h
- );
- void DXL_DestroyVScreen(
- DXL_VSCREEN_HANDLE dst
- );
-
- int DXL_SetVScreenBlitQuality(
- DXL_VSCREEN_HANDLE dest,
- dxvBlitQuality bq
- );
- dxvBlitQuality DXL_GetVScreenBlitQuality(
- DXL_VSCREEN_HANDLE
- );
- int DXL_AlterVScreenBackground(
- DXL_VSCREEN_HANDLE ,
- unsigned char *,
- dxvBitDepth bd ,int ,int ,int ,int
- );
- int DXL_AlterVScreenVESAMode(
- DXL_VSCREEN_HANDLE ,
- int vesaMode
- );
- int DXL_ActivateVScreenVESAMode(DXL_VSCREEN_HANDLE);
- int DXL_GetVScreenVESAMode(DXL_VSCREEN_HANDLE );
- int DXL_BlitVScreenToVScreen(
- DXL_VSCREEN_HANDLE fromVScreen,
- DXL_VSCREEN_HANDLE toVScreen
- );
- int DXL_GetVScreenAttributes(
- DXL_VSCREEN_HANDLE vScreen,
- void **addr,
- dxvBlitQuality *bq,
- dxvBitDepth *bd,
- short *pitch,
- short *height
- );
- char *DXL_GetXImageStats(DXL_XIMAGE_HANDLE xImage,char *storage);
-
- int DXL_GetVScreenView(
- DXL_VSCREEN_HANDLE dst,
- int *x,int *y,int *w,int *h
- );
-
- int DXL_GetVScreenClip(
- DXL_VSCREEN_HANDLE dst,
- int *x,int *y,int *w,int *h
- );
- int DXL_SetVScreenCLUTs(
- DXL_VSCREEN_HANDLE vScr,
- unsigned char *clpt,
- unsigned char *clpt2,
- int exp
- );
- int DXL_GetBitDepthPalette(dxvBitDepth colorMode,
- unsigned char **pal);
- void DXL_ResetVScreenCLUTs(
- DXL_VSCREEN_HANDLE vScr
- );
- int DXL_CheckVScreenBlit(DXL_VSCREEN_HANDLE dst,unsigned long fourcc);
- int DXL_CheckVScreenXImageBlit(DXL_VSCREEN_HANDLE dst,DXL_XIMAGE_HANDLE src);
- void DXV_Setmalloc(
- void *(*mallocFuncPtr)(unsigned int size)
- );
- void DXV_Setcalloc(
- void *(*callocFuncPtr)(unsigned int size, unsigned int number)
- );
- void DXV_Setfree(
- void (*freeFuncPtr)(void *)
- );
- void DXL_SetParameter(
- DXL_XIMAGE_HANDLE src,
- int Command,
- unsigned long Parameter
- );
- typedef enum tCPU_FEATURES
- {
- NO_FEATURES = 0,
- MMX_SUPPORTED = 1
- } CPU_FEATURES;
- CPU_FEATURES DXL_GetCPUFeatures(void);
- unsigned long DXL_GetXImageFOURCC(DXL_XIMAGE_HANDLE src);
- void DXL_SetParameter(
- DXL_XIMAGE_HANDLE src,
- int Command,
- unsigned long Parameter
- );
- typedef struct tFrameInfo
- {
- int KeyFrame;
- int Version;
- int Quality;
- int vp30Flag;
- } FrameInfo;
- typedef struct bmiChunk_t
- {
- unsigned long biCompression;
- unsigned char biBitCount;
- unsigned char biPlanes;
- dxvBitDepth bd;
- } BMIMapping;
- extern BMIMapping DXL_BMIMap[];
- #if !defined(DXL_MKFOURCC)
- #define DXL_MKFOURCC( ch0, ch1, ch2, ch3 ) \
- ( (unsigned long)(unsigned char)(ch0) | ( (unsigned long)(unsigned char)(ch1) << 8 ) | \
- ( (unsigned long)(unsigned char)(ch2) << 16 ) | ( (unsigned long)(unsigned char)(ch3) << 24 ) )
- #endif
- int DXL_ReportBestBMIMatch(DXL_XIMAGE_HANDLE src, BMIMapping** map, int *maxMaps, int doConsoleReport);
- void DXL_ReportBMIMapping(char *filename);
- void vp31_GetInfo(unsigned char * source, FrameInfo * frameInfo);
- #if defined(__cplusplus)
- }
- #endif
- #endif
|