annotate loader/dshow/libwin32.h @ 11619:179138947307

This patch contains bugfixes for the esd audio output driver that I uncovered while trying to send sound to a remote esd server over a wireless (11 mbs, just enough to handle to sound) link. First, the sound was full "ticking" sounds. I found a bug that prevented the "send the remainder of this block" code from ever being called - so large chunks of audio were simply being ignored. Fixing this bug removed the "ticking" from audio streams. Fixing this bug, however, uncovered another problem - when the socket buffer was full, doing a blocking write to finish the buffer would take far too long and would turn video into a chunky mess. I'd imagine this blocking write would be fine for an audio-only stream, but it turns out to hold up the video far too much. The solution in this patch is to write as much data as possible to the socket, and then return as soon as possible, reporting the number of bytes actually written accurately back to mplayer. I've tested it on both local and remote esd servers, and it works well. Patch by Benjamin Osheroff <ben@gimbo.net>
author attila
date Wed, 10 Dec 2003 12:19:13 +0000
parents 1baa35e06053
children c223d8fd4312
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
1 #ifndef __LIBWIN32_H
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
2 #define __LIBWIN32_H
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
3
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
4 #ifndef NOAVIFILE_HEADERS
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
5 #error this header file should not be used without -DNOAVIFILE_HEADERS
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
6 #endif
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
7
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
8 // this file is only included when NOAVIFILE_HEADERS are defined
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
9 // serves mainly for mplayer
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
10
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
11 #define VFW_E_NOT_RUNNING 0x80040226
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
12
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
13 #include <inttypes.h>
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
14
1558
261f5fd2c909 error handling
arpi
parents: 1555
diff changeset
15 //#define FATAL(a) // you don't need exception - if you want - just fill more code
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
16 #include "wine/mmreg.h"
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
17 #include "wine/winreg.h"
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
18 #include "wine/vfw.h"
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
19 #include "com.h"
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
20
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
21 typedef uint32_t fourcc_t;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
22
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
23 /*
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
24 typedef struct _FatalError
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
25 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
26 FatalError();
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
27 void PrintAll() {}
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
28 }FatalError;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
29 */
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
30
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
31 typedef struct _CodecInfo
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
32 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
33 char* dll;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
34 GUID* guid;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
35 }CodecInfo;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
36
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
37
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
38 typedef struct _CImage // public your_libvo_mem
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
39 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
40 char* ptr;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
41
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
42 /*char* (*Data)();
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
43 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
44 return 0;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
45 // pointer to memory block
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
46 }*/
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
47 /*int (*Supported)(fourcc_t csp, int bits);
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
48 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
49 return true;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
50 // if you support such surface
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
51 }*/
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
52 }CImage;
2069
ce45cce7f7a5 sync with avifile
arpi
parents: 1558
diff changeset
53
1558
261f5fd2c909 error handling
arpi
parents: 1555
diff changeset
54
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
55 #if 0
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
56 struct BitmapInfo : public BITMAPINFOHEADER
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
57 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
58 void SetBits(int b) { return; /*fixme*/ }
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
59 void SetSpace(int b) { return; /*fixme*/ }
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
60 };
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
61 #endif
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
62
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
63 typedef struct _IAudioDecoder
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
64 {
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
65 WAVEFORMATEX in_fmt;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
66 CodecInfo record;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
67 /*(*IAudioDecoder)( CodecInfo * r, const WAVEFORMATEX* w);
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
68 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
69 memcpy(&this->record,r,sizeof(CodecInfo));
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
70 in_fmt = *w;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
71 }*/
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
72 }IAudioDecoder;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
73
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
74 /*
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
75 struct IAudioEncoder
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
76 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
77 IAudioEncoder(const CodecInfo&, WAVEFORMATEX*) {}
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
78 // you do not need this one...
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
79 };
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
80 */
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
81
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
82 enum CAPS
1558
261f5fd2c909 error handling
arpi
parents: 1555
diff changeset
83 {
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
84 CAP_NONE = 0,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
85 CAP_YUY2 = 1,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
86 CAP_YV12 = 2,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
87 CAP_IYUV = 4,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
88 CAP_UYVY = 8,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
89 CAP_YVYU = 16,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
90 CAP_I420 = 32,
6527
1baa35e06053 yvu9 and if09 support. fixed i420,iyuv handling
alex
parents: 3063
diff changeset
91 CAP_YVU9 = 64,
1baa35e06053 yvu9 and if09 support. fixed i420,iyuv handling
alex
parents: 3063
diff changeset
92 CAP_IF09 = 128,
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
93 };
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
94 enum DecodingMode
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
95 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
96 DIRECT = 0,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
97 REALTIME,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
98 REALTIME_QUALITY_AUTO,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
99 };
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
100 enum DecodingState
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
101 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
102 STOP = 0,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
103 START,
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
104 };
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
105
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
106 typedef struct _BitmapInfo
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
107 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
108 long biSize;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
109 long biWidth;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
110 long biHeight;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
111 short biPlanes;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
112 short biBitCount;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
113 long biCompression;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
114 long biSizeImage;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
115 long biXPelsPerMeter;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
116 long biYPelsPerMeter;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
117 long biClrUsed;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
118 long biClrImportant;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
119 int colors[3];
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
120 } BitmapInfo;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
121
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
122 typedef struct _IVideoDecoder
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
123 {
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
124 int VBUFSIZE;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
125 int QMARKHI;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
126 int QMARKLO;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
127 int DMARKHI;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
128 int DMARKLO;
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
129
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
130 /*
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
131 IVideoDecoder(CodecInfo& info, const BITMAPINFOHEADER& format) : record(info)
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
132 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
133 // implement init part
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
134 }
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
135 virtual ~IVideoDecoder();
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
136 void Stop()
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
137 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
138 }
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
139 void Start()
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
140 {
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
141 }
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
142 */
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
143 const CodecInfo record;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
144 int m_Mode; // should we do precaching (or even change Quality on the fly)
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
145 int m_State;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
146 int m_iDecpos;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
147 int m_iPlaypos;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
148 float m_fQuality; // quality for the progress bar 0..1(best)
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
149 int m_bCapable16b;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
150
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
151 BITMAPINFOHEADER* m_bh; // format of input data (might be larger - e.g. huffyuv)
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
152 BitmapInfo m_decoder; // format of decoder output
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
153 BitmapInfo m_obh; // format of returned frames
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
154 }IVideoDecoder;
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
155
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
156 /*
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
157 struct IRtConfig
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
158 {
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
159 };
3063
004e3199fee0 mplayer integration
arpi
parents: 2073
diff changeset
160 */
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
161
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
162 // might be minimalized to contain just those which are needed by DS_VideoDecoder
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
163
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
164 #ifndef mmioFOURCC
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
165 #define mmioFOURCC( ch0, ch1, ch2, ch3 ) \
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
166 ( (long)(unsigned char)(ch0) | ( (long)(unsigned char)(ch1) << 8 ) | \
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
167 ( (long)(unsigned char)(ch2) << 16 ) | ( (long)(unsigned char)(ch3) << 24 ) )
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
168 #endif /* mmioFOURCC */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
169
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
170 /* OpenDivX */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
171 #define fccMP4S mmioFOURCC('M', 'P', '4', 'S')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
172 #define fccmp4s mmioFOURCC('m', 'p', '4', 's')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
173 #define fccDIVX mmioFOURCC('D', 'I', 'V', 'X')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
174 #define fccdivx mmioFOURCC('d', 'i', 'v', 'x')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
175 #define fccDIV1 mmioFOURCC('D', 'I', 'V', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
176 #define fccdiv1 mmioFOURCC('d', 'i', 'v', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
177
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
178 /* DivX codecs */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
179 #define fccDIV2 mmioFOURCC('D', 'I', 'V', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
180 #define fccdiv2 mmioFOURCC('d', 'i', 'v', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
181 #define fccDIV3 mmioFOURCC('D', 'I', 'V', '3')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
182 #define fccdiv3 mmioFOURCC('d', 'i', 'v', '3')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
183 #define fccDIV4 mmioFOURCC('D', 'I', 'V', '4')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
184 #define fccdiv4 mmioFOURCC('d', 'i', 'v', '4')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
185 #define fccDIV5 mmioFOURCC('D', 'I', 'V', '5')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
186 #define fccdiv5 mmioFOURCC('d', 'i', 'v', '5')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
187 #define fccDIV6 mmioFOURCC('D', 'I', 'V', '6')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
188 #define fccdiv6 mmioFOURCC('d', 'i', 'v', '6')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
189 #define fccMP41 mmioFOURCC('M', 'P', '4', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
190 #define fccmp41 mmioFOURCC('m', 'p', '4', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
191 #define fccMP43 mmioFOURCC('M', 'P', '4', '3')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
192 #define fccmp43 mmioFOURCC('m', 'p', '4', '3')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
193 /* old ms mpeg-4 codecs */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
194 #define fccMP42 mmioFOURCC('M', 'P', '4', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
195 #define fccmp42 mmioFOURCC('m', 'p', '4', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
196 #define fccMPG4 mmioFOURCC('M', 'P', 'G', '4')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
197 #define fccmpg4 mmioFOURCC('m', 'p', 'g', '4')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
198 /* Windows media codecs */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
199 #define fccWMV1 mmioFOURCC('W', 'M', 'V', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
200 #define fccwmv1 mmioFOURCC('w', 'm', 'v', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
201 #define fccWMV2 mmioFOURCC('W', 'M', 'V', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
202 #define fccwmv2 mmioFOURCC('w', 'm', 'v', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
203 #define fccMWV1 mmioFOURCC('M', 'W', 'V', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
204
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
205 /* Angel codecs */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
206 #define fccAP41 mmioFOURCC('A', 'P', '4', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
207 #define fccap41 mmioFOURCC('a', 'p', '4', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
208 #define fccAP42 mmioFOURCC('A', 'P', '4', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
209 #define fccap42 mmioFOURCC('a', 'p', '4', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
210
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
211 /* other codecs */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
212 #define fccIV31 mmioFOURCC('I', 'V', '3', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
213 #define fcciv31 mmioFOURCC('i', 'v', '3', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
214 #define fccIV32 mmioFOURCC('I', 'V', '3', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
215 #define fcciv32 mmioFOURCC('i', 'v', '3', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
216 #define fccIV41 mmioFOURCC('I', 'V', '4', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
217 #define fcciv41 mmioFOURCC('i', 'v', '4', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
218 #define fccIV50 mmioFOURCC('I', 'V', '5', '0')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
219 #define fcciv50 mmioFOURCC('i', 'v', '5', '0')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
220 #define fccI263 mmioFOURCC('I', '2', '6', '3')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
221 #define fcci263 mmioFOURCC('i', '2', '6', '3')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
222
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
223 #define fccMJPG mmioFOURCC('M', 'J', 'P', 'G')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
224 #define fccmjpg mmioFOURCC('m', 'j', 'p', 'g')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
225
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
226 #define fccHFYU mmioFOURCC('H', 'F', 'Y', 'U')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
227
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
228 #define fcccvid mmioFOURCC('c', 'v', 'i', 'd')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
229 #define fccdvsd mmioFOURCC('d', 'v', 's', 'd')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
230
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
231 /* Ati codecs */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
232 #define fccVCR2 mmioFOURCC('V', 'C', 'R', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
233 #define fccVCR1 mmioFOURCC('V', 'C', 'R', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
234 #define fccVYUY mmioFOURCC('V', 'Y', 'U', 'Y')
6527
1baa35e06053 yvu9 and if09 support. fixed i420,iyuv handling
alex
parents: 3063
diff changeset
235 #define fccIYU9 mmioFOURCC('I', 'Y', 'U', '9') // it was defined as fccYVU9
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
236
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
237 /* Asus codecs */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
238 #define fccASV1 mmioFOURCC('A', 'S', 'V', '1')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
239 #define fccASV2 mmioFOURCC('A', 'S', 'V', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
240
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
241 /* Microsoft video */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
242 #define fcccram mmioFOURCC('c', 'r', 'a', 'm')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
243 #define fccCRAM mmioFOURCC('C', 'R', 'A', 'M')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
244 #define fccMSVC mmioFOURCC('M', 'S', 'V', 'C')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
245
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
246
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
247 #define fccMSZH mmioFOURCC('M', 'S', 'Z', 'H')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
248
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
249 #define fccZLIB mmioFOURCC('Z', 'L', 'I', 'B')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
250
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
251 #define fccTM20 mmioFOURCC('T', 'M', '2', '0')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
252
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
253 #define fccYUV mmioFOURCC('Y', 'U', 'V', ' ')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
254 #define fccYUY2 mmioFOURCC('Y', 'U', 'Y', '2')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
255 #define fccYV12 mmioFOURCC('Y', 'V', '1', '2')/* Planar mode: Y + V + U (3 planes) */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
256 #define fccI420 mmioFOURCC('I', '4', '2', '0')
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
257 #define fccIYUV mmioFOURCC('I', 'Y', 'U', 'V')/* Planar mode: Y + U + V (3 planes) */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
258 #define fccUYVY mmioFOURCC('U', 'Y', 'V', 'Y')/* Packed mode: U0+Y0+V0+Y1 (1 plane) */
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
259 #define fccYVYU mmioFOURCC('Y', 'V', 'Y', 'U')/* Packed mode: Y0+V0+Y1+U0 (1 plane) */
6527
1baa35e06053 yvu9 and if09 support. fixed i420,iyuv handling
alex
parents: 3063
diff changeset
260 #define fccYVU9 mmioFOURCC('Y', 'V', 'U', '9')/* Planar 4:1:0 */
1baa35e06053 yvu9 and if09 support. fixed i420,iyuv handling
alex
parents: 3063
diff changeset
261 #define fccIF09 mmioFOURCC('I', 'F', '0', '9')/* Planar 4:1:0 + delta */
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
262
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
263 #endif