123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- /**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
- #include <winapifamily.h>
- /* The contents of this file is duplicated in vfw.h */
- #ifndef _INC_AVIFMT
- #define _INC_AVIFMT 100
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
- #ifndef mmioFOURCC
- #define mmioFOURCC(ch0, ch1, ch2, ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))
- #endif
- #ifndef aviTWOCC
- #define aviTWOCC(ch0, ch1) ((WORD) (BYTE) (ch0) | ((WORD) (BYTE) (ch1) << 8))
- #endif
- typedef WORD TWOCC;
- #define formtypeAVI mmioFOURCC('A', 'V', 'I', ' ')
- #define listtypeAVIHEADER mmioFOURCC('h', 'd', 'r', 'l')
- #define ckidAVIMAINHDR mmioFOURCC('a', 'v', 'i', 'h')
- #define listtypeSTREAMHEADER mmioFOURCC('s', 't', 'r', 'l')
- #define ckidSTREAMHEADER mmioFOURCC('s', 't', 'r', 'h')
- #define ckidSTREAMFORMAT mmioFOURCC('s', 't', 'r', 'f')
- #define ckidSTREAMHANDLERDATA mmioFOURCC('s', 't', 'r', 'd')
- #define ckidSTREAMNAME mmioFOURCC('s', 't', 'r', 'n')
- #define listtypeAVIMOVIE mmioFOURCC('m', 'o', 'v', 'i')
- #define listtypeAVIRECORD mmioFOURCC('r', 'e', 'c', ' ')
- #define ckidAVINEWINDEX mmioFOURCC('i', 'd', 'x', '1')
- #define streamtypeVIDEO mmioFOURCC('v', 'i', 'd', 's')
- #define streamtypeAUDIO mmioFOURCC('a', 'u', 'd', 's')
- #define streamtypeMIDI mmioFOURCC('m', 'i', 'd', 's')
- #define streamtypeTEXT mmioFOURCC('t', 'x', 't', 's')
- #define cktypeDIBbits aviTWOCC('d', 'b')
- #define cktypeDIBcompressed aviTWOCC('d', 'c')
- #define cktypePALchange aviTWOCC('p', 'c')
- #define cktypeWAVEbytes aviTWOCC('w', 'b')
- #define ckidAVIPADDING mmioFOURCC('J', 'U', 'N', 'K')
- #define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0'))
- #define StreamFromFOURCC(fcc) ((WORD) ((FromHex(LOBYTE(LOWORD(fcc))) << 4) + (FromHex(HIBYTE(LOWORD(fcc))))))
- #define TWOCCFromFOURCC(fcc) HIWORD(fcc)
- #define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0')))
- #define MAKEAVICKID(tcc, stream) MAKELONG((ToHex((stream) & 0xf) << 8) | (ToHex(((stream) & 0xf0) >> 4)), tcc)
- #define AVIF_HASINDEX 0x00000010
- #define AVIF_MUSTUSEINDEX 0x00000020
- #define AVIF_ISINTERLEAVED 0x00000100
- #define AVIF_TRUSTCKTYPE 0x00000800
- #define AVIF_WASCAPTUREFILE 0x00010000
- #define AVIF_COPYRIGHTED 0x00020000
- #define AVI_HEADERSIZE 2048
- typedef struct {
- DWORD dwMicroSecPerFrame;
- DWORD dwMaxBytesPerSec;
- DWORD dwPaddingGranularity;
- DWORD dwFlags;
- DWORD dwTotalFrames;
- DWORD dwInitialFrames;
- DWORD dwStreams;
- DWORD dwSuggestedBufferSize;
- DWORD dwWidth;
- DWORD dwHeight;
- DWORD dwReserved[4];
- } MainAVIHeader;
- #define AVISF_DISABLED 0x00000001
- #define AVISF_VIDEO_PALCHANGES 0x00010000
- typedef struct {
- FOURCC fccType;
- FOURCC fccHandler;
- DWORD dwFlags;
- WORD wPriority;
- WORD wLanguage;
- DWORD dwInitialFrames;
- DWORD dwScale;
- DWORD dwRate;
- DWORD dwStart;
- DWORD dwLength;
- DWORD dwSuggestedBufferSize;
- DWORD dwQuality;
- DWORD dwSampleSize;
- RECT rcFrame;
- } AVIStreamHeader;
- #define AVIIF_LIST __MSABI_LONG(0x00000001)
- #define AVIIF_KEYFRAME __MSABI_LONG(0x00000010)
- #define AVIIF_FIRSTPART __MSABI_LONG(0x00000020)
- #define AVIIF_LASTPART __MSABI_LONG(0x00000040)
- #define AVIIF_MIDPART (AVIIF_LASTPART|AVIIF_FIRSTPART)
- #define AVIIF_NOTIME __MSABI_LONG(0x00000100)
- #define AVIIF_COMPUSE __MSABI_LONG(0x0fff0000)
- typedef struct {
- DWORD ckid;
- DWORD dwFlags;
- DWORD dwChunkOffset;
- DWORD dwChunkLength;
- } AVIINDEXENTRY;
- typedef struct {
- BYTE bFirstEntry;
- BYTE bNumEntries;
- WORD wFlags;
- PALETTEENTRY peNew[];
- } AVIPALCHANGE;
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
|