OSDN Git Service

Avoid an implication that the API is exclusively 32-bit.
[mingw/mingw-org-wsl.git] / wslapi / include / dvdmedia.h
1 #ifndef _DVDMEDIA_H
2 #define _DVDMEDIA_H
3 #if __GNUC__ >= 3
4 #pragma GCC system_header
5 #endif
6
7 #ifndef _STRMIF_H
8 #include <strmif.h>
9 #endif
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 /*--- DirectShow Reference - DirectShow Structures - AM_SAMPLE2_PROPERTIES Structure */
16 #define AM_VIDEO_FLAG_FIELD_MASK 0x0003
17 #define AM_VIDEO_FLAG_INTERLEAVED_FRAME 0x0000
18 #define AM_VIDEO_FLAG_FIELD1 0x0001
19 #define AM_VIDEO_FLAG_FIELD2 0x0002
20 #define AM_VIDEO_FLAG_FIELD1FIRST 0x0004
21 #define AM_VIDEO_FLAG_WEAVE 0x0008
22 #define AM_VIDEO_FLAG_REPEAT_FIELD 0x0040
23 /*--- DirectShow Reference - DirectShow Enumerated Types */
24 enum AM_MPEG2Level {
25         AM_MPEG2Level_Low = 1,
26         AM_MPEG2Level_Main,
27         AM_MPEG2Level_High1440,
28         AM_MPEG2Level_High
29 };
30 enum AM_MPEG2Profile {
31         AM_MPEG2Profile_Simple = 1,
32         AM_MPEG2Profile_Main,
33         AM_MPEG2Profile_SNRScalable,
34         AM_MPEG2Profile_SpatiallyScalable,
35         AM_MPEG2Profile_High
36 };
37 typedef enum {
38         AM_RATE_ChangeRate = 1,
39         AM_RATE_FullDataRateMax = 2,
40         AM_RATE_ReverseDecode = 3,
41         AM_RATE_DecoderPosition = 4,
42         AM_RATE_DecoderVersion = 5
43 } AM_PROPERTY_DVD_RATE_CHANGE;
44 /*--- DirectShow Reference - DirectShow Structures */
45 typedef struct tagVIDEOINFOHEADER2 {
46         RECT rcSource;
47         RECT rcTarget;
48         DWORD dwBitRate;
49         DWORD dwBitErrorRate;
50         REFERENCE_TIME AvgTimePerFrame;
51         DWORD dwInterlaceFlags;
52         DWORD dwCopyProtectFlags;
53         DWORD dwPictAspectRatioX;
54         DWORD dwPictAspectRatioY;
55         union {
56                 DWORD dwControlFlags;
57                 DWORD dwReserved1;
58         };
59         DWORD dwReserved2;
60         BITMAPINFOHEADER bmiHeader;
61 } VIDEOINFOHEADER2;
62 #define AMINTERLACE_IsInterlaced 0x00000001
63 #define AMINTERLACE_1FieldPerSample 0x00000002
64 #define AMINTERLACE_Field1First 0x00000004
65 #define AMINTERLACE_FieldPatField1Only 0x00000000
66 #define AMINTERLACE_FieldPatField2Only 0x00000010
67 #define AMINTERLACE_FieldPatBothRegular 0x00000020
68 #define AMINTERLACE_FieldPatBothIrregular 0x00000030
69 #define AMINTERLACE_DisplayModeBobOnly 0x00000000
70 #define AMINTERLACE_DisplayModeWeaveOnly 0x00000040
71 #define AMINTERLACE_DisplayModeBobOrWeave 0x00000080
72 #define AMINTERLACE_FieldPatternMask 0x00000030
73 #define AMINTERLACE_DisplayModeMask 0x000000C0
74 #define AMCONTROL_USED 0x00000001
75 #define AMCONTROL_PAD_TO_4x3 0x00000002
76 #define AMCONTROL_PAD_TO_16x9 0x00000004
77 #define AMCONTROL_COLORINFO_PRESENT 0x00000008
78 typedef struct tagMPEG2VIDEOINFO {
79         VIDEOINFOHEADER2 hdr;
80         DWORD dwStartTimeCode;
81         DWORD cbSequenceHeader;
82         DWORD dwProfile;
83         DWORD dwLevel;
84         DWORD dwFlags;
85         DWORD dwSequenceHeader[1];
86 } MPEG2VIDEOINFO;
87 #define AMMPEG2_DoPanScan 0x00000001
88 #define AMMPEG2_DVDLine21Field1 0x00000002
89 #define AMMPEG2_DVDLine21Field2 0x00000004
90 #define AMMPEG2_SourceIsLetterboxed 0x00000008
91 #define AMMPEG2_FilmCameraMode 0x00000010
92 #define AMMPEG2_LetterboxAnalogOut 0x00000020
93 #define AMMPEG2_DSS_UserData 0x00000040
94 #define AMMPEG2_DVB_UserData 0x00000080
95 #define AMMPEG2_27MhzTimebase 0x00000100
96 #define AMMPEG2_WidescreenAnalogOut 0x00000200
97
98 #ifdef __cplusplus
99 }
100 #endif
101 #endif