avi.h
来自「ESS3890+SL原代码(1*16内存)」· C头文件 代码 · 共 152 行
H
152 行
/* Copyright 2002, ESS Technology, Inc. *//* SCCSID @(#)avi.h 4.1 11/05/02 *//* * AVI Header file */#ifndef _AVIFMT_H#define _AVIFMT_H/* some usefull types */typedef unsigned short WORD;typedef unsigned long DWORD;typedef signed long LONG;typedef unsigned char uCHAR;typedef signed char sCHAR;typedef DWORD FOURCC; /* Type of FOUR Character Codes */#define MAX_V_STREAM 2#define MAX_A_STREAM 2/* Macro to convert expressions of form 'F','O','U','R' to numbers of type FOURCC: */#define MAKEFOURCC(a,b,c,d) ( ((DWORD)a) | (((DWORD)b)<< 8) | \ (((DWORD)c)<<16) | (((DWORD)d)<<24) )#define UNIX#ifdef UNIX #define SWAPW(x) ((x << 8) | ((x >> 8) & 0xff))#define SWAPL(x) (((x >> 24) & 0xff) | ((x >> 8) & 0xff00) | \ ((x << 8) & 0xff0000L) | ((x << 24) & 0xff000000L))#define SWAP24(x) (((x >> 16) & 0xff) | (x & 0xff00) | ((x << 16) & 0xff0000L))#else#define SWAPW(x) (x)#define SWAPL(x) (x)#define SWAP24(x) (x)#endif/* The only FOURCCs interpreted by this program: */#define NULLtag MAKEFOURCC('0','0','0','0')#define RIFFtag MAKEFOURCC('R','I','F','F')#define LISTtag MAKEFOURCC('L','I','S','T')#define AVItag MAKEFOURCC('A','V','I',' ')#define hdrltag MAKEFOURCC('h','d','r','l')#define avihtag MAKEFOURCC('a','v','i','h')#define strltag MAKEFOURCC('s','t','r','l')#define strhtag MAKEFOURCC('s','t','r','h')#define strftag MAKEFOURCC('s','t','r','f')#define movitag MAKEFOURCC('m','o','v','i')#define Tag00db MAKEFOURCC('0','0','d','b')#define Tag00dc MAKEFOURCC('0','0','d','c')#define Tag01wb MAKEFOURCC('0','1','w','b')#define JUNKtag MAKEFOURCC('J','U','N','K')#define VIDStag MAKEFOURCC('v','i','d','s')#define AUDStag MAKEFOURCC('a','u','d','s')/* possible video formats */#define TagMJPG MAKEFOURCC('M','J','P','G')#define TagDIB MAKEFOURCC('D','I','B',' ')#define TagRGB MAKEFOURCC('R','G','B',' ')/* structs of the AVI header */typedef struct { DWORD dwMicroSecPerFrame; DWORD dwMaxBytesPerSec; DWORD dwReserved1; DWORD dwFlags; DWORD dwTotalFrames; DWORD dwInitialFrames; DWORD dwStreams; DWORD dwSuggestedBufferSize; DWORD dwWidth; DWORD dwHeight; DWORD dwReserved2;} tMainAVIHeader;typedef struct { FOURCC fccType; FOURCC fccHandler; DWORD dwFlags; DWORD dwReserved1; DWORD dwInitialFrames; DWORD dwScale; DWORD dwRate; DWORD dwStart; DWORD dwLength; DWORD dwSuggestedBufferSize; DWORD dwQuality; DWORD dwSampleSize; DWORD dwReserved2; DWORD dwReserved3;} tAVIStreamHeader;typedef struct { DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant;} tBitmapInfoHeader;typedef struct { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAlign; WORD wBitsPerSample;} tWaveFormatEx;typedef struct { WORD Width; WORD Height; DWORD Frames; DWORD MSPerFrame; DWORD vHandler; DWORD vCompression; WORD vPlanes; WORD vBitsPerPixel; WORD aFormat; WORD aChannels; DWORD aSamplesPerSec; WORD aBitsPerSample;} tGlobalInfo;typedef struct { FOURCC listId; /* 'LIST' */ DWORD dwSize; /* chunk size */ FOURCC ckId; /* chunk id */} tListHdr;typedef struct { FOURCC ckId; DWORD dwSize;} tChunkHdr;/* Function phototype */void AVI_init(void);int AVI_demux(void);void ABV_fill_up(int *);#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?