annotate loader/dshow/guids.h @ 10578:b9d289fd8a57

10000l, the old code was slow as hell, copying stuff extra times and actually broken -- blanking the whole screen at each 'page flip' with -dr enabled. benchmarks: before: 56% cpu for decode 56% cpu for vo with no -dr 25% cpu for vo with -dr after: 56% cpu for decode 25% cpu for vo without -dr 0% cpu for vo with -dr if vo_fbdev is going to do pageflip, it needs to do it for REAL, using vertical scroll registers (like g2), not copying a temp buffer (which will shear anyway and is super-slow).
author rfelker
date Tue, 12 Aug 2003 08:24:24 +0000
parents 9533c26c0806
children 4691811bd8c7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
1 #ifndef DS_GUIDS_H
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
2 #define DS_GUIDS_H
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
3
2069
ce45cce7f7a5 sync with avifile
arpi
parents: 1545
diff changeset
4 #include "com.h"
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
5 #include "wine/module.h"
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
6 #include "wine/windef.h"
2069
ce45cce7f7a5 sync with avifile
arpi
parents: 1545
diff changeset
7 #include "wine/vfw.h"
ce45cce7f7a5 sync with avifile
arpi
parents: 1545
diff changeset
8
8292
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
9 //#define Debug if(1)
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
10 #define Debug if(0)
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
11
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
12 typedef struct __attribute__((__packed__)) _MediaType
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
13 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
14 GUID majortype; //0x0
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
15 GUID subtype; //0x10
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
16 int bFixedSizeSamples; //0x20
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
17 int bTemporalCompression; //0x24
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
18 unsigned long lSampleSize; //0x28
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
19 GUID formattype; //0x2c
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
20 IUnknown* pUnk; //0x3c
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
21 unsigned long cbFormat; //0x40
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
22 char* pbFormat; //0x44
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
23 } AM_MEDIA_TYPE;
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
24
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
25 typedef long long REFERENCE_TIME;
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
26
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
27 typedef struct __attribute__((__packed__)) RECT32
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
28 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
29 int left, top, right, bottom;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
30 } RECT32;
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
31
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
32 typedef struct __attribute__((__packed__)) tagVIDEOINFOHEADER
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
33 {
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
34 RECT32 rcSource; // The bit we really want to use
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
35 RECT32 rcTarget; // Where the video should go
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
36 unsigned long dwBitRate; // Approximate bit data rate
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
37 unsigned long dwBitErrorRate; // Bit error rate for this stream
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
38 REFERENCE_TIME AvgTimePerFrame; // Average time per frame (100ns units)
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
39 BITMAPINFOHEADER bmiHeader;
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
40 //int reserved[3];
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
41 } VIDEOINFOHEADER;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
42
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
43 typedef GUID CLSID;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
44 typedef GUID IID;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
45
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
46 extern const GUID IID_IBaseFilter;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
47 extern const GUID IID_IEnumPins;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
48 extern const GUID IID_IEnumMediaTypes;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
49 extern const GUID IID_IMemInputPin;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
50 extern const GUID IID_IMemAllocator;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
51 extern const GUID IID_IMediaSample;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
52 extern const GUID IID_DivxHidden;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
53 extern const GUID IID_Iv50Hidden;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
54 extern const GUID CLSID_DivxDecompressorCF;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
55 extern const GUID IID_IDivxFilterInterface;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
56 extern const GUID CLSID_IV50_Decoder;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
57 extern const GUID CLSID_MemoryAllocator;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
58 extern const GUID MEDIATYPE_Video;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
59 extern const GUID GUID_NULL;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
60 extern const GUID FORMAT_VideoInfo;
8292
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
61 extern const GUID MEDIASUBTYPE_RGB1;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
62 extern const GUID MEDIASUBTYPE_RGB4;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
63 extern const GUID MEDIASUBTYPE_RGB8;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
64 extern const GUID MEDIASUBTYPE_RGB565;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
65 extern const GUID MEDIASUBTYPE_RGB555;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
66 extern const GUID MEDIASUBTYPE_RGB24;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
67 extern const GUID MEDIASUBTYPE_RGB32;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
68 extern const GUID MEDIASUBTYPE_YUYV;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
69 extern const GUID MEDIASUBTYPE_IYUV;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
70 extern const GUID MEDIASUBTYPE_YVU9;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
71 extern const GUID MEDIASUBTYPE_Y411;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
72 extern const GUID MEDIASUBTYPE_Y41P;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
73 extern const GUID MEDIASUBTYPE_YUY2;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
74 extern const GUID MEDIASUBTYPE_YVYU;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
75 extern const GUID MEDIASUBTYPE_UYVY;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
76 extern const GUID MEDIASUBTYPE_Y211;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
77 extern const GUID MEDIASUBTYPE_YV12;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
78 extern const GUID MEDIASUBTYPE_I420;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
79 extern const GUID MEDIASUBTYPE_IF09;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
80
8292
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
81 extern const GUID FORMAT_WaveFormatEx;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
82 extern const GUID MEDIATYPE_Audio;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
83 extern const GUID MEDIASUBTYPE_PCM;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
84
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
85 #endif /* DS_GUIDS_H */