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 + -
显示快捷键?