OSDN Git Service

Make <winnls.h> header effectively self-contained.
[mingw/mingw-org-wsl.git] / w32api / include / aviriff.h
1 #ifndef _AVIRIFF_H
2 #define _AVIRIFF_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifndef _MMSYSTEM_H
8 #include <mmsystem.h>
9 #endif
10 #ifndef _WINGDI_H
11 #include <wingdi.h>
12 #endif
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 /*--- DirectShow Reference - DirectShow Structures */
19 typedef struct _avimainheader {
20         FOURCC fcc;
21         DWORD cb;
22         DWORD dwMicroSecPerFrame;
23         DWORD dwMaxBytesPerSec;
24         DWORD dwPaddingGranularity;
25         DWORD dwFlags;
26         DWORD dwTotalFrames;
27         DWORD dwInitialFrames;
28         DWORD dwStreams;
29         DWORD dwSuggestedBufferSize;
30         DWORD dwWidth;
31         DWORD dwHeight;
32         DWORD dwReserved[4];
33 } AVIMAINHEADER;
34 #define AVIF_COPYRIGHTED 0x00020000
35 #define AVIF_HASINDEX 0x00000010
36 #define AVIF_ISINTERLEAVED 0x00000100
37 #define AVIF_MUSTUSEINDEX 0x00000020
38 #define AVIF_WASCAPTUREFILE 0x00010000
39 typedef struct _avioldindex {
40         FOURCC fcc;
41         DWORD cb;
42         struct _avioldindex_entry {
43                 DWORD dwChunkId;
44                 DWORD dwFlags;
45                 DWORD dwOffset;
46                 DWORD dwSize;
47         } aIndex[];
48 } AVIOLDINDEX;
49 #define AVIIF_LIST 0x00000001
50 #define AVIIF_KEYFRAME 0x00000010
51 #define AVIIF_NO_TIME 0x00000100
52 typedef struct {
53         BYTE bFirstEntry;
54         BYTE bNumEntries;
55         WORD wFlags;
56         PALETTEENTRY peNew[];
57 } AVIPALCHANGE;
58 typedef struct _avistreamheader {
59         FOURCC fcc;
60         DWORD cb;
61         FOURCC fccType;
62         FOURCC fccHandler;
63         DWORD dwFlags;
64         WORD wPriority;
65         WORD wLanguage;
66         DWORD dwInitialFrames;
67         DWORD dwScale;
68         DWORD dwRate;
69         DWORD dwStart;
70         DWORD dwLength;
71         DWORD dwSuggestedBufferSize;
72         DWORD dwQuality;
73         DWORD dwSampleSize;
74         struct {
75                 short int left;
76                 short int top;
77                 short int right;
78                 short int bottom;
79         } rcFrame;
80 } AVISTREAMHEADER;
81 #define AVISF_DISABLED 0x00000001
82 #define AVISF_VIDEO_PALCHANGES 0x00010000
83
84 #ifdef __cplusplus
85 }
86 #endif
87 #endif