annotate loader/wine/vfw.h @ 34346:3d0c795524b0

Fix bug with wrong focus in file selector. The focus can only be set to fsFNameList after it's realized and mapped. This also removes the irritating selection of the fsPathCombo.
author ib
date Sun, 11 Dec 2011 16:02:02 +0000
parents d3182b1cd1ce
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15166
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 13182
diff changeset
1 /*
18783
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15166
diff changeset
2 * Modified for use with MPlayer, detailed changelog at
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15166
diff changeset
3 * http://svn.mplayerhq.hu/mplayer/trunk/
15166
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 13182
diff changeset
4 */
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 13182
diff changeset
5
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
6 #ifndef MPLAYER_VFW_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
7 #define MPLAYER_VFW_H
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8 //#include "pshpack1.h"
30171
837cd9762b4e Add required header #includes to satisfy 'make checkheaders'.
diego
parents: 29263
diff changeset
9 #include "windef.h"
837cd9762b4e Add required header #includes to satisfy 'make checkheaders'.
diego
parents: 29263
diff changeset
10
3131
1356a5a69073 packed attribute added
arpi
parents: 1321
diff changeset
11 typedef struct __attribute__((__packed__))
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 short bfType;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14 long bfSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 short bfReserved1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 short bfReserved2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 long bfOffBits;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 } BITMAPFILEHEADER;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19
26109
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
20 #ifndef _BITMAPINFOHEADER_
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
21 #define _BITMAPINFOHEADER_
3131
1356a5a69073 packed attribute added
arpi
parents: 1321
diff changeset
22 typedef struct __attribute__((__packed__))
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 {
13182
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
24 long biSize;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
25 long biWidth;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
26 long biHeight;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 short biPlanes;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 short biBitCount;
13182
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
29 long biCompression;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
30 long biSizeImage;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
31 long biXPelsPerMeter;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
32 long biYPelsPerMeter;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
33 long biClrUsed;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 7678
diff changeset
34 long biClrImportant;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 BITMAPINFOHEADER bmiHeader;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 int bmiColors[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 } BITMAPINFO, *LPBITMAPINFO;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 #endif
128
28091b3caff9 DLL loader updated from avifile-0.60beta4
arpi_esp
parents: 1
diff changeset
41
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26109
diff changeset
42 #define VFWAPI
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26109
diff changeset
43 #define VFWAPIV
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
44 #ifndef MPLAYER_WINDEF_H
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 typedef long (__stdcall__ *DRIVERPROC)(long,HDRVR,unsigned int,long,long);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 #ifndef mmioFOURCC
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 #define mmioFOURCC( ch0, ch1, ch2, ch3 ) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52 ( (long)(unsigned char)(ch0) | ( (long)(unsigned char)(ch1) << 8 ) | \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 ( (long)(unsigned char)(ch2) << 16 ) | ( (long)(unsigned char)(ch3) << 24 ) )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 #ifndef aviTWOCC
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 #define aviTWOCC(ch0, ch1) ((short)(unsigned char)(ch0) | ((short)(unsigned char)(ch1) << 8))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60 #define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 #define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 /* Installable Compressor M? */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66 /* HIC struct (same layout as Win95 one) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 typedef struct tagWINE_HIC {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 long magic; /* 00: 'Smag' */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69 HANDLE curthread; /* 04: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70 long type; /* 08: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 long handler; /* 0C: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72 HDRVR hdrv; /* 10: */
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
73 long driverid; /* 14:(handled by SendDriverMessage)*/
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74 DRIVERPROC driverproc; /* 18:(handled by SendDriverMessage)*/
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75 long x1; /* 1c: name? */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 short x2; /* 20: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77 long x3; /* 22: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78 /* 26: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 } WINE_HIC;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81 /* error return codes */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82 #define ICERR_OK 0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 #define ICERR_DONTDRAW 1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84 #define ICERR_NEWPALETTE 2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85 #define ICERR_GOTOKEYFRAME 3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 #define ICERR_STOPDRAWING 4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
88 #define ICERR_UNSUPPORTED -1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89 #define ICERR_BADFORMAT -2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
90 #define ICERR_MEMORY -3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91 #define ICERR_INTERNAL -4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
92 #define ICERR_BADFLAGS -5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93 #define ICERR_BADPARAM -6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94 #define ICERR_BADSIZE -7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
95 #define ICERR_BADHANDLE -8
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 #define ICERR_CANTUPDATE -9
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97 #define ICERR_ABORT -10
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98 #define ICERR_ERROR -100
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99 #define ICERR_BADBITDEPTH -200
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 #define ICERR_BADIMAGESIZE -201
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 #define ICERR_CUSTOM -400
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
104 /* ICM Messages */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 #define ICM_USER (DRV_USER+0x0000)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107 /* ICM driver message range */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
108 #define ICM_RESERVED_LOW (DRV_USER+0x1000)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109 #define ICM_RESERVED_HIGH (DRV_USER+0x2000)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
110 #define ICM_RESERVED ICM_RESERVED_LOW
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 #define ICM_GETSTATE (ICM_RESERVED+0)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
113 #define ICM_SETSTATE (ICM_RESERVED+1)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
114 #define ICM_GETINFO (ICM_RESERVED+2)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
115
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
116 #define ICM_CONFIGURE (ICM_RESERVED+10)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
117 #define ICM_ABOUT (ICM_RESERVED+11)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
118 /* */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
119
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120 #define ICM_GETDEFAULTQUALITY (ICM_RESERVED+30)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
121 #define ICM_GETQUALITY (ICM_RESERVED+31)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
122 #define ICM_SETQUALITY (ICM_RESERVED+32)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
123
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
124 #define ICM_SET (ICM_RESERVED+40)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
125 #define ICM_GET (ICM_RESERVED+41)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
126
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
127 /* 2 constant FOURCC codes */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
128 #define ICM_FRAMERATE mmioFOURCC('F','r','m','R')
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
129 #define ICM_KEYFRAMERATE mmioFOURCC('K','e','y','R')
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
130
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
131 #define ICM_COMPRESS_GET_FORMAT (ICM_USER+4)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
132 #define ICM_COMPRESS_GET_SIZE (ICM_USER+5)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
133 #define ICM_COMPRESS_QUERY (ICM_USER+6)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
134 #define ICM_COMPRESS_BEGIN (ICM_USER+7)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
135 #define ICM_COMPRESS (ICM_USER+8)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
136 #define ICM_COMPRESS_END (ICM_USER+9)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
137
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138 #define ICM_DECOMPRESS_GET_FORMAT (ICM_USER+10)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 #define ICM_DECOMPRESS_QUERY (ICM_USER+11)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
140 #define ICM_DECOMPRESS_BEGIN (ICM_USER+12)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
141 #define ICM_DECOMPRESS (ICM_USER+13)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
142 #define ICM_DECOMPRESS_END (ICM_USER+14)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143 #define ICM_DECOMPRESS_SET_PALETTE (ICM_USER+29)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
144 #define ICM_DECOMPRESS_GET_PALETTE (ICM_USER+30)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146 #define ICM_DRAW_QUERY (ICM_USER+31)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
147 #define ICM_DRAW_BEGIN (ICM_USER+15)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
148 #define ICM_DRAW_GET_PALETTE (ICM_USER+16)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
149 #define ICM_DRAW_START (ICM_USER+18)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
150 #define ICM_DRAW_STOP (ICM_USER+19)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
151 #define ICM_DRAW_END (ICM_USER+21)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152 #define ICM_DRAW_GETTIME (ICM_USER+32)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 #define ICM_DRAW (ICM_USER+33)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
154 #define ICM_DRAW_WINDOW (ICM_USER+34)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
155 #define ICM_DRAW_SETTIME (ICM_USER+35)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
156 #define ICM_DRAW_REALIZE (ICM_USER+36)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
157 #define ICM_DRAW_FLUSH (ICM_USER+37)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
158 #define ICM_DRAW_RENDERBUFFER (ICM_USER+38)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
159
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
160 #define ICM_DRAW_START_PLAY (ICM_USER+39)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
161 #define ICM_DRAW_STOP_PLAY (ICM_USER+40)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
162
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
163 #define ICM_DRAW_SUGGESTFORMAT (ICM_USER+50)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
164 #define ICM_DRAW_CHANGEPALETTE (ICM_USER+51)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
165
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
166 #define ICM_GETBUFFERSWANTED (ICM_USER+41)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
167
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
168 #define ICM_GETDEFAULTKEYFRAMERATE (ICM_USER+42)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
169
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
170 #define ICM_DECOMPRESSEX_BEGIN (ICM_USER+60)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
171 #define ICM_DECOMPRESSEX_QUERY (ICM_USER+61)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
172 #define ICM_DECOMPRESSEX (ICM_USER+62)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
173 #define ICM_DECOMPRESSEX_END (ICM_USER+63)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
174
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
175 #define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
176 #define ICM_SET_STATUS_PROC (ICM_USER+72)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
177
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
178 /* structs */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
179
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
180 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
181 long dwSize; /* 00: size */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
182 long fccType; /* 04: type 'vidc' usually */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
183 long fccHandler; /* 08: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
184 long dwVersion; /* 0c: version of compman opening you */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
185 long dwFlags; /* 10: LOshort is type specific */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
186 LRESULT dwError; /* 14: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
187 void* pV1Reserved; /* 18: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
188 void* pV2Reserved; /* 1c: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
189 long dnDevNode; /* 20: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
190 /* 24: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
191 } ICOPEN,*LPICOPEN;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
192
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
193 #define ICCOMPRESS_KEYFRAME 0x00000001L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
194
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
195 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
196 long dwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
197 LPBITMAPINFOHEADER lpbiOutput;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
198 void* lpOutput;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
199 LPBITMAPINFOHEADER lpbiInput;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
200 const void* lpInput;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
201 long* lpckid;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
202 long* lpdwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
203 long lFrameNum;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
204 long dwFrameSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
205 long dwQuality;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
206 LPBITMAPINFOHEADER lpbiPrev;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
207 void* lpPrev;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
208 } ICCOMPRESS;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
209
30651
d3182b1cd1ce Add public function VideoForWindowsVersion() to the appropriate header file.
diego
parents: 30496
diff changeset
210
d3182b1cd1ce Add public function VideoForWindowsVersion() to the appropriate header file.
diego
parents: 30496
diff changeset
211 long VFWAPI VideoForWindowsVersion(void);
d3182b1cd1ce Add public function VideoForWindowsVersion() to the appropriate header file.
diego
parents: 30496
diff changeset
212
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
213 long VFWAPIV ICCompress(
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
214 HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiOutput,void* lpData,
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
215 LPBITMAPINFOHEADER lpbiInput,void* lpBits,long* lpckid,
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
216 long* lpdwFlags,long lFrameNum,long dwFrameSize,long dwQuality,
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
217 LPBITMAPINFOHEADER lpbiPrev,void* lpPrev
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
218 );
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
219
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
220
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
221 #define ICCompressGetFormat(hic, lpbiInput, lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
222 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
223 hic,ICM_COMPRESS_GET_FORMAT,(long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
224 (long)(void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
225 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
226
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
227 #define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
228
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
229 #define ICGetDefaultKeyFrameRate(hic,lpint) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
230 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
231 hic, ICM_GETDEFAULTKEYFRAMERATE, \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
232 (long)(void*)(lpint), \
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26109
diff changeset
233 0 )
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
234
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
235 #define ICGetDefaultQuality(hic,lpint) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
236 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
237 hic, ICM_GETDEFAULTQUALITY, \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
238 (long)(void*)(lpint), \
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26109
diff changeset
239 0 )
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26109
diff changeset
240
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
241
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
242 #define ICCompressBegin(hic, lpbiInput, lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
243 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
244 hic, ICM_COMPRESS_BEGIN, (long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
245 (long)(void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
246 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
247
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
248 #define ICCompressGetSize(hic, lpbiInput, lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
249 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
250 hic, ICM_COMPRESS_GET_SIZE, (long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
251 (long)(void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
252 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
253
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
254 #define ICCompressQuery(hic, lpbiInput, lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
255 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
256 hic, ICM_COMPRESS_QUERY, (long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
257 (long)(void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
258 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
259
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
260
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
261 #define ICCompressEnd(hic) ICSendMessage(hic, ICM_COMPRESS_END, 0, 0)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
262
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
263 /* ICCOMPRESSFRAMES.dwFlags */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
264 #define ICCOMPRESSFRAMES_PADDING 0x00000001
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
265 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
266 long dwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
267 LPBITMAPINFOHEADER lpbiOutput;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
268 LPARAM lOutput;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
269 LPBITMAPINFOHEADER lpbiInput;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
270 LPARAM lInput;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
271 long lStartFrame;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
272 long lFrameCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
273 long lQuality;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
274 long lDataRate;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
275 long lKeyRate;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
276 long dwRate;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
277 long dwScale;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
278 long dwOverheadPerFrame;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
279 long dwReserved2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
280 long CALLBACK (*GetData)(LPARAM lInput,long lFrame,void* lpBits,long len);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
281 long CALLBACK (*PutData)(LPARAM lOutput,long lFrame,void* lpBits,long len);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
282 } ICCOMPRESSFRAMES;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
283
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
284 /* Values for wMode of ICOpen() */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
285 #define ICMODE_COMPRESS 1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
286 #define ICMODE_DECOMPRESS 2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
287 #define ICMODE_FASTDECOMPRESS 3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
288 #define ICMODE_QUERY 4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
289 #define ICMODE_FASTCOMPRESS 5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
290 #define ICMODE_DRAW 8
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
291
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
292 /* quality flags */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
293 #define ICQUALITY_LOW 0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
294 #define ICQUALITY_HIGH 10000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
295 #define ICQUALITY_DEFAULT -1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
296
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
297 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
298 long dwSize; /* 00: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
299 long fccType; /* 04:compressor type 'vidc' 'audc' */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
300 long fccHandler; /* 08:compressor sub-type 'rle ' 'jpeg' 'pcm '*/
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
301 long dwFlags; /* 0c:flags LOshort is type specific */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
302 long dwVersion; /* 10:version of the driver */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
303 long dwVersionICM; /* 14:version of the ICM used */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
304 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
305 * under Win32, the driver always returns UNICODE strings.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
306 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
307 WCHAR szName[16]; /* 18:short name */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
308 WCHAR szDescription[128]; /* 38:long name */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
309 WCHAR szDriver[128]; /* 138:driver that contains compressor*/
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
310 /* 238: */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
311 } ICINFO;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
312
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
313 /* ICINFO.dwFlags */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
314 #define VIDCF_QUALITY 0x0001 /* supports quality */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
315 #define VIDCF_CRUNCH 0x0002 /* supports crunching to a frame size */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
316 #define VIDCF_TEMPORAL 0x0004 /* supports inter-frame compress */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
317 #define VIDCF_COMPRESSFRAMES 0x0008 /* wants the compress all frames message */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
318 #define VIDCF_DRAW 0x0010 /* supports drawing */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
319 #define VIDCF_FASTTEMPORALC 0x0020 /* does not need prev frame on compress */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
320 #define VIDCF_FASTTEMPORALD 0x0080 /* does not need prev frame on decompress */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
321 #define VIDCF_QUALITYTIME 0x0040 /* supports temporal quality */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
322
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
323 #define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
324
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
325
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
326 /* function shortcuts */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
327 /* ICM_ABOUT */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
328 #define ICMF_ABOUT_QUERY 0x00000001
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
329
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
330 #define ICQueryAbout(hic) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
331 (ICSendMessage(hic,ICM_ABOUT,(long)-1,ICMF_ABOUT_QUERY)==ICERR_OK)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
332
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
333 #define ICAbout(hic, hwnd) ICSendMessage(hic,ICM_ABOUT,(long)(unsigned int)(hwnd),0)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
334
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
335 /* ICM_CONFIGURE */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
336 #define ICMF_CONFIGURE_QUERY 0x00000001
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
337 #define ICQueryConfigure(hic) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
338 (ICSendMessage(hic,ICM_CONFIGURE,(long)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
339
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
340 #define ICConfigure(hic,hwnd) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
341 ICSendMessage(hic,ICM_CONFIGURE,(long)(unsigned int)(hwnd),0)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
342
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
343 /* Decompression stuff */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
344 #define ICDECOMPRESS_HURRYUP 0x80000000 /* don't draw just buffer (hurry up!) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
345 #define ICDECOMPRESS_UPDATE 0x40000000 /* don't draw just update screen */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
346 #define ICDECOMPRESS_PREROL 0x20000000 /* this frame is before real start */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
347 #define ICDECOMPRESS_NULLFRAME 0x10000000 /* repeat last frame */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
348 #define ICDECOMPRESS_NOTKEYFRAME 0x08000000 /* this frame is not a key frame */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
349
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
350 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
351 long dwFlags; /* flags (from AVI index...) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
352 LPBITMAPINFOHEADER lpbiInput; /* BITMAPINFO of compressed data */
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
353 const void* lpInput; /* compressed data */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
354 LPBITMAPINFOHEADER lpbiOutput; /* DIB to decompress to */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
355 void* lpOutput;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
356 long ckid; /* ckid from AVI file */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
357 } ICDECOMPRESS;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
358
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
359 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
360 long dwFlags;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
361 LPBITMAPINFOHEADER lpbiSrc;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
362 const void* lpSrc;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
363 LPBITMAPINFOHEADER lpbiDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
364 void* lpDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
365
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
366 /* changed for ICM_DECOMPRESSEX */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
367 INT xDst; /* destination rectangle */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
368 INT yDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
369 INT dxDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
370 INT dyDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
371
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
372 INT xSrc; /* source rectangle */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
373 INT ySrc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
374 INT dxSrc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
375 INT dySrc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
376 } ICDECOMPRESSEX;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
377
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
378
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
379 long VFWAPIV ICDecompress(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,void* lpData,LPBITMAPINFOHEADER lpbi,void* lpBits);
1297
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
380 long VFWAPIV ICDecompressEx(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,void* lpData,LPBITMAPINFOHEADER lpbi,void* lpBits);
1312
cca0d2481b7e Fix two prototype warnings
jkeil
parents: 1307
diff changeset
381 long VFWAPIV ICUniversalEx(HIC hic,int command,LPBITMAPINFOHEADER lpbiFormat,LPBITMAPINFOHEADER lpbi);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
382
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
383
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
384 #define ICDecompressBegin(hic, lpbiInput, lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
385 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
386 hic, ICM_DECOMPRESS_BEGIN, (long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
387 (long)(void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
388 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
389
1297
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
390 #define ICDecompressBeginEx(hic, lpbiInput, lpbiOutput) \
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
391 ICUniversalEx( \
1321
2712e787f872 Remove some superfluous casts. Fixes a few compile warnings.
jkeil
parents: 1312
diff changeset
392 hic, ICM_DECOMPRESSEX_BEGIN, (lpbiInput), \
2712e787f872 Remove some superfluous casts. Fixes a few compile warnings.
jkeil
parents: 1312
diff changeset
393 (lpbiOutput) \
1297
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
394 )
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
395
1321
2712e787f872 Remove some superfluous casts. Fixes a few compile warnings.
jkeil
parents: 1312
diff changeset
396 #define ICDecompressQuery(hic, lpbiInput, lpbiOutput) \
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
397 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
398 hic,ICM_DECOMPRESS_QUERY, (long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
399 (long) (void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
400 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
401
1297
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
402 #define ICDecompressQueryEx(hic, lpbiInput, lpbiOutput) \
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
403 ICUniversalEx( \
1321
2712e787f872 Remove some superfluous casts. Fixes a few compile warnings.
jkeil
parents: 1312
diff changeset
404 hic,ICM_DECOMPRESSEX_QUERY, (lpbiInput), \
2712e787f872 Remove some superfluous casts. Fixes a few compile warnings.
jkeil
parents: 1312
diff changeset
405 (lpbiOutput) \
1297
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
406 )
200c03672178 VfwEx support
arpi
parents: 128
diff changeset
407
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
408 #define ICDecompressGetFormat(hic, lpbiInput, lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
409 ((long)ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
410 hic,ICM_DECOMPRESS_GET_FORMAT, (long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
411 (long)(void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
412 ))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
413
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
414 #define ICDecompressGetFormatSize(hic, lpbi) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
415 ICDecompressGetFormat(hic, lpbi, NULL)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
416
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
417 #define ICDecompressGetPalette(hic, lpbiInput, lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
418 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
419 hic, ICM_DECOMPRESS_GET_PALETTE, (long)(void*)(lpbiInput), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
420 (long)(void*)(lpbiOutput) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
421 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
422
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
423 #define ICDecompressSetPalette(hic,lpbiPalette) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
424 ICSendMessage( \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
425 hic,ICM_DECOMPRESS_SET_PALETTE, \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
426 (long)(void*)(lpbiPalette),0 \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
427 )
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
428
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
429 #define ICDecompressEnd(hic) ICSendMessage(hic, ICM_DECOMPRESS_END, 0, 0)
7678
693a19e1c98e VfwEx uninit crash fixed, bugreport by Wolfgang Thiess <wollet1@gmx.net>
arpi
parents: 7386
diff changeset
430 #define ICDecompressEndEx(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END, 0, 0)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
431
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
432 #define ICDRAW_QUERY 0x00000001L /* test for support */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
433 #define ICDRAW_FULLSCREEN 0x00000002L /* draw to full screen */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
434 #define ICDRAW_HDC 0x00000004L /* draw to a HDC/HWND */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
435
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
436
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
437 WIN_BOOL VFWAPI ICInfo(long fccType, long fccHandler, ICINFO * lpicinfo);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
438 LRESULT VFWAPI ICGetInfo(HIC hic,ICINFO *picinfo, long cb);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
439 HIC VFWAPI ICOpen(long fccType, long fccHandler, UINT wMode);
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
440 //HIC VFWAPI ICOpenFunction(long fccType, long fccHandler, unsigned int wMode, void* lpfnHandler);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
441
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
442 LRESULT VFWAPI ICClose(HIC hic);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
443 LRESULT VFWAPI ICSendMessage(HIC hic, unsigned int msg, long dw1, long dw2);
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 7257
diff changeset
444 //HIC VFWAPI ICLocate(long fccType, long fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, short wFlags);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
445
1307
d8c1b0b38edc Add prototypes to wine/loader stuff, so that we can catch __stdcall function
jkeil
parents: 1297
diff changeset
446 int VFWAPI ICDoSomething(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
447
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
448 long VFWAPIV ICDrawBegin(
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
449 HIC hic,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
450 long dwFlags,/* flags */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
451 HPALETTE hpal, /* palette to draw with */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
452 HWND hwnd, /* window to draw to */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
453 HDC hdc, /* HDC to draw to */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
454 INT xDst, /* destination rectangle */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
455 INT yDst,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
456 INT dxDst,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
457 INT dyDst,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
458 LPBITMAPINFOHEADER lpbi, /* format of frame to draw */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
459 INT xSrc, /* source rectangle */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
460 INT ySrc,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
461 INT dxSrc,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
462 INT dySrc,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
463 long dwRate, /* frames/second = (dwRate/dwScale) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
464 long dwScale
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
465 );
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
466
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
467 /* as passed to ICM_DRAW_BEGIN (FIXME: correct only for Win32?) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
468 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
469 long dwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
470 HPALETTE hpal;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
471 HWND hwnd;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
472 HDC hdc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
473 INT xDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
474 INT yDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
475 INT dxDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
476 INT dyDst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
477 LPBITMAPINFOHEADER lpbi;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
478 INT xSrc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
479 INT ySrc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
480 INT dxSrc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
481 INT dySrc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
482 long dwRate;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
483 long dwScale;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
484 } ICDRAWBEGIN;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
485
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
486 #define ICDRAW_HURRYUP 0x80000000L /* don't draw just buffer (hurry up!) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
487 #define ICDRAW_UPDATE 0x40000000L /* don't draw just update screen */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
488 #define ICDRAW_PREROLL 0x20000000L /* this frame is before real start */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
489 #define ICDRAW_NULLFRAME 0x10000000L /* repeat last frame */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
490 #define ICDRAW_NOTKEYFRAME 0x08000000L /* this frame is not a key frame */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
491
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
492 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
493 long dwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
494 void* lpFormat;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
495 void* lpData;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
496 long cbData;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
497 long lTime;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
498 } ICDRAW;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
499
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
500 long VFWAPIV ICDraw(HIC hic,long dwFlags,void* lpFormat,void* lpData,long cbData,long lTime);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
501
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
502
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
503 #define AVIGETFRAMEF_BESTDISPLAYFMT 1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
504
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 24422
diff changeset
505 typedef struct AVISTREAMINFOA {
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
506 long fccType;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
507 long fccHandler;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
508 long dwFlags; /* AVIIF_* */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
509 long dwCaps;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
510 short wPriority;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
511 short wLanguage;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
512 long dwScale;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
513 long dwRate; /* dwRate / dwScale == samples/second */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
514 long dwStart;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
515 long dwLength; /* In units above... */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
516 long dwInitialFrames;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
517 long dwSuggestedBufferSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
518 long dwQuality;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
519 long dwSampleSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
520 RECT rcFrame;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
521 long dwEditCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
522 long dwFormatChangeCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
523 char szName[64];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
524 } AVISTREAMINFOA, * LPAVISTREAMINFOA, *PAVISTREAMINFOA;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
525
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 24422
diff changeset
526 typedef struct AVISTREAMINFOW {
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
527 long fccType;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
528 long fccHandler;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
529 long dwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
530 long dwCaps;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
531 short wPriority;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
532 short wLanguage;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
533 long dwScale;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
534 long dwRate; /* dwRate / dwScale == samples/second */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
535 long dwStart;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
536 long dwLength; /* In units above... */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
537 long dwInitialFrames;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
538 long dwSuggestedBufferSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
539 long dwQuality;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
540 long dwSampleSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
541 RECT rcFrame;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
542 long dwEditCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
543 long dwFormatChangeCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
544 short szName[64];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
545 } AVISTREAMINFOW, * LPAVISTREAMINFOW, *PAVISTREAMINFOW;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
546 DECL_WINELIB_TYPE_AW(AVISTREAMINFO)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
547 DECL_WINELIB_TYPE_AW(LPAVISTREAMINFO)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
548 DECL_WINELIB_TYPE_AW(PAVISTREAMINFO)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
549
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
550 #define AVISTREAMINFO_DISABLED 0x00000001
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
551 #define AVISTREAMINFO_FORMATCHANGES 0x00010000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
552
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
553 /* AVIFILEINFO.dwFlags */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
554 #define AVIFILEINFO_HASINDEX 0x00000010
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
555 #define AVIFILEINFO_MUSTUSEINDEX 0x00000020
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
556 #define AVIFILEINFO_ISINTERLEAVED 0x00000100
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
557 #define AVIFILEINFO_WASCAPTUREFILE 0x00010000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
558 #define AVIFILEINFO_COPYRIGHTED 0x00020000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
559
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
560 /* AVIFILEINFO.dwCaps */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
561 #define AVIFILECAPS_CANREAD 0x00000001
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
562 #define AVIFILECAPS_CANWRITE 0x00000002
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
563 #define AVIFILECAPS_ALLKEYFRAMES 0x00000010
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
564 #define AVIFILECAPS_NOCOMPRESSION 0x00000020
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
565
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 24422
diff changeset
566 typedef struct AVIFILEINFOW {
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
567 long dwMaxBytesPerSec;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
568 long dwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
569 long dwCaps;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
570 long dwStreams;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
571 long dwSuggestedBufferSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
572 long dwWidth;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
573 long dwHeight;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26109
diff changeset
574 long dwScale;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
575 long dwRate;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
576 long dwLength;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
577 long dwEditCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
578 short szFileType[64];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
579 } AVIFILEINFOW, * LPAVIFILEINFOW, *PAVIFILEINFOW;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
580
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 24422
diff changeset
581 typedef struct AVIFILEINFOA {
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
582 long dwMaxBytesPerSec;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
583 long dwFlags;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
584 long dwCaps;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
585 long dwStreams;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
586 long dwSuggestedBufferSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
587 long dwWidth;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
588 long dwHeight;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26109
diff changeset
589 long dwScale;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
590 long dwRate;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
591 long dwLength;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
592 long dwEditCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
593 char szFileType[64];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
594 } AVIFILEINFOA, * LPAVIFILEINFOA, *PAVIFILEINFOA;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
595
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
596 DECL_WINELIB_TYPE_AW(AVIFILEINFO)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
597 DECL_WINELIB_TYPE_AW(PAVIFILEINFO)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
598 DECL_WINELIB_TYPE_AW(LPAVIFILEINFO)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
599
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
600 /* AVICOMPRESSOPTIONS.dwFlags. determines presence of fields in below struct */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
601 #define AVICOMPRESSF_INTERLEAVE 0x00000001
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
602 #define AVICOMPRESSF_DATARATE 0x00000002
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
603 #define AVICOMPRESSF_KEYFRAMES 0x00000004
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
604 #define AVICOMPRESSF_VALID 0x00000008
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
605
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
606 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
607 long fccType; /* stream type, for consistency */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
608 long fccHandler; /* compressor */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
609 long dwKeyFrameEvery; /* keyframe rate */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
610 long dwQuality; /* compress quality 0-10,000 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
611 long dwBytesPerSecond; /* unsigned chars per second */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
612 long dwFlags; /* flags... see below */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
613 void* lpFormat; /* save format */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
614 long cbFormat;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
615 void* lpParms; /* compressor options */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
616 long cbParms;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
617 long dwInterleaveEvery; /* for non-video streams only */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
618 } AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
619
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
620
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
621
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
622 typedef struct {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
623 long cbSize; // set to sizeof(COMPVARS) before
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
624 // calling ICCompressorChoose
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
625 long dwFlags; // see below...
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
626 HIC hic; // HIC of chosen compressor
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
627 long fccType; // basically ICTYPE_VIDEO
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
628 long fccHandler; // handler of chosen compressor or
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
629 // "" or "DIB "
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
630 LPBITMAPINFO lpbiIn; // input format
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
631 LPBITMAPINFO lpbiOut; // output format - will compress to this
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
632 void* lpBitsOut;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
633 void* lpBitsPrev;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
634 long lFrame;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
635 long lKey; // key frames how often?
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
636 long lDataRate; // desired data rate KB/Sec
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
637 long lQ; // desired quality
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
638 long lKeyCount;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
639 void* lpState; // state of compressor
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
640 long cbState; // size of the state
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
641 } COMPVARS, *PCOMPVARS;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
642
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
643 // FLAGS for dwFlags element of COMPVARS structure:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
644
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
645
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
646 #define AVIERR_OK 0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
647 #define MAKE_AVIERR(error) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+error)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
648
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
649 #define AVIERR_UNSUPPORTED MAKE_AVIERR(101)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
650 #define AVIERR_BADFORMAT MAKE_AVIERR(102)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
651 #define AVIERR_MEMORY MAKE_AVIERR(103)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
652 #define AVIERR_INTERNAL MAKE_AVIERR(104)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
653 #define AVIERR_BADFLAGS MAKE_AVIERR(105)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
654 #define AVIERR_BADPARAM MAKE_AVIERR(106)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
655 #define AVIERR_BADSIZE MAKE_AVIERR(107)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
656 #define AVIERR_BADHANDLE MAKE_AVIERR(108)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
657 #define AVIERR_FILEREAD MAKE_AVIERR(109)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
658 #define AVIERR_FILEWRITE MAKE_AVIERR(110)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
659 #define AVIERR_FILEOPEN MAKE_AVIERR(111)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
660 #define AVIERR_COMPRESSOR MAKE_AVIERR(112)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
661 #define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
662 #define AVIERR_READONLY MAKE_AVIERR(114)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
663 #define AVIERR_NODATA MAKE_AVIERR(115)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
664 #define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
665 #define AVIERR_CANTCOMPRESS MAKE_AVIERR(117)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
666 #define AVIERR_USERABORT MAKE_AVIERR(198)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
667 #define AVIERR_ERROR MAKE_AVIERR(199)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
668
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
669 #endif /* MPLAYER_VFW_H */