1 |
#ifndef _DSHOW_H |
2 |
#define _DSHOW_H |
3 |
#if __GNUC__ >=3 |
4 |
#pragma GCC system_header |
5 |
#endif |
6 |
|
7 |
#include <strmif.h> |
8 |
#include <amaudio.h> |
9 |
#include <amvideo.h> |
10 |
#include <evcode.h> |
11 |
#include <audevcod.h> |
12 |
#include <dvdevcod.h> |
13 |
#include <errors.h> |
14 |
#include <vptype.h> |
15 |
#include <ks.h> |
16 |
#include <vidcap.h> |
17 |
#include <bdatypes.h> |
18 |
#include <dvdmedia.h> |
19 |
#include <il21dec.h> |
20 |
#include <ddraw.h> /* DDSCAPS2, DDPIXELFORMAT */ |
21 |
#ifndef _WINGDI_H |
22 |
#include <wingdi.h> /* BITMAPINFOHEADER */ |
23 |
#endif |
24 |
|
25 |
#ifdef __cplusplus |
26 |
extern "C" { |
27 |
#endif |
28 |
|
29 |
/*--- DirectShow Reference - DirectShow Enumerated Types */ |
30 |
typedef enum _AM_ASPECT_RATIO_MODE { |
31 |
AM_ARMODE_STRETCHED, |
32 |
AM_ARMODE_LETTER_BOX, |
33 |
AM_ARMODE_CROP, |
34 |
AM_ARMODE_STRETCHED_AS_PRIMARY |
35 |
} AM_ASPECT_RATIO_MODE; |
36 |
typedef enum _AM_WST_DRAWBGMODE { |
37 |
AM_WST_DRAWBGMODE_Opaque, |
38 |
AM_WST_DRAWBGMODE_Transparent |
39 |
} AM_WST_DRAWBGMODE,*PAM_WST_DRAWBGMODE; |
40 |
typedef enum _AM_WST_LEVEL { |
41 |
AM_WST_LEVEL_1_5 = 0 |
42 |
} AM_WST_LEVEL,*PAM_WST_LEVEL; |
43 |
typedef enum _AM_WST_SERVICE { |
44 |
AM_WST_SERVICE_None = 0, |
45 |
AM_WST_SERVICE_Text, |
46 |
AM_WST_SERVICE_IDS, |
47 |
AM_WST_SERVICE_Invalid |
48 |
} AM_WST_SERVICE,*PAM_WST_SERVICE; |
49 |
typedef enum _AM_WST_STATE { |
50 |
AM_WST_STATE_Off = 0, |
51 |
AM_WST_STATE_On |
52 |
} AM_WST_STATE,*PAM_WST_STATE; |
53 |
typedef enum _AM_WST_STYLE { |
54 |
AM_WST_STYLE_None = 0, |
55 |
AM_WST_STYLE_Invers |
56 |
} AM_WST_STYLE,*PAM_WST_STYLE; |
57 |
typedef enum { |
58 |
AM_EXSEEK_CANSEEK= 1, |
59 |
AM_EXSEEK_CANSCAN = 2, |
60 |
AM_EXSEEK_MARKERSEEK = 4, |
61 |
AM_EXSEEK_SCANWITHOUTCLOCK = 8, |
62 |
AM_EXSEEK_NOSTANDARDREPAINT = 16, |
63 |
AM_EXSEEK_BUFFERING = 32, |
64 |
AM_EXSEEK_SENDS_VIDEOFRAMEREADY = 64 |
65 |
} AMExtendedSeekingCapabilities; |
66 |
/*--- DirectShow Reference - DirectShow Structures */ |
67 |
typedef struct _AM_WST_PAGE { |
68 |
DWORD dwPageNr; |
69 |
DWORD dwSubPageNr; |
70 |
BYTE *pucPageData; |
71 |
} AM_WST_PAGE,*PAM_WST_PAGE; |
72 |
typedef struct _tag_AMVABeginFrameInfo{ |
73 |
DWORD dwDestSurfaceIndex; |
74 |
LPVOID pInputData; |
75 |
DWORD dwSizeInputData; |
76 |
LPVOID pOutputData; |
77 |
DWORD dwSizeOutputData; |
78 |
} AMVABeginFrameInfo,*LPAMVABeginFrameInfo; |
79 |
typedef struct _tag_AMVACompBufferInfo{ |
80 |
DWORD dwNumCompBuffers; |
81 |
DWORD dwWidthToCreate; |
82 |
DWORD dwHeightToCreate; |
83 |
DWORD dwBytesToAllocate; |
84 |
DDSCAPS2 ddCompCaps; |
85 |
DDPIXELFORMAT ddPixelFormat; |
86 |
} AMVACompBufferInfo,*LPAMVACompBufferInfo; |
87 |
typedef struct _tag_AMVAEndFrameInfo{ |
88 |
DWORD dwSizeMiscData; |
89 |
LPVOID pMiscData; |
90 |
} AMVAEndFrameInfo,*LPAMVAEndFrameInfo; |
91 |
typedef struct _tag_AMVAInternalMemInfo{ |
92 |
DWORD dwScratchMemAlloc; |
93 |
} AMVAInternalMemInfo,*LPAMVAInternalMemInfo; |
94 |
typedef struct _tag_AMVAUncompBufferInfo{ |
95 |
DWORD dwMinNumSurfaces; |
96 |
DWORD dwMaxNumSurfaces; |
97 |
DDPIXELFORMAT ddUncompPixelFormat; |
98 |
} AMVAUncompBufferInfo,*LPAMVAUncompBufferInfo; |
99 |
typedef struct _tag_AMVAUncompDataInfo{ |
100 |
DWORD dwUncompWidth; |
101 |
DWORD dwUncompHeight; |
102 |
DDPIXELFORMAT ddUncompPixelFormat; |
103 |
} AMVAUncompDataInfo,*LPAMVAUncompDataInfo; |
104 |
|
105 |
#ifdef __cplusplus |
106 |
} |
107 |
#endif |
108 |
#endif |