]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Win32/Media/DxMediaObjects/mod.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / Media / DxMediaObjects / mod.rs
CommitLineData
487cf647 1#[cfg_attr(windows, link(name = "windows"))]
5e7ed085 2extern "system" {
04454e1e 3 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 4 pub fn DMOEnum(guidcategory: *const ::windows_sys::core::GUID, dwflags: u32, cintypes: u32, pintypes: *const DMO_PARTIAL_MEDIATYPE, couttypes: u32, pouttypes: *const DMO_PARTIAL_MEDIATYPE, ppenum: *mut IEnumDMO) -> ::windows_sys::core::HRESULT;
04454e1e
FG
5 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
6 pub fn DMOGetName(clsiddmo: *const ::windows_sys::core::GUID, szname: ::windows_sys::core::PWSTR) -> ::windows_sys::core::HRESULT;
7 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 8 pub fn DMOGetTypes(clsiddmo: *const ::windows_sys::core::GUID, ulinputtypesrequested: u32, pulinputtypessupplied: *mut u32, pinputtypes: *mut DMO_PARTIAL_MEDIATYPE, uloutputtypesrequested: u32, puloutputtypessupplied: *mut u32, poutputtypes: *mut DMO_PARTIAL_MEDIATYPE) -> ::windows_sys::core::HRESULT;
04454e1e
FG
9 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
10 pub fn DMORegister(szname: ::windows_sys::core::PCWSTR, clsiddmo: *const ::windows_sys::core::GUID, guidcategory: *const ::windows_sys::core::GUID, dwflags: u32, cintypes: u32, pintypes: *const DMO_PARTIAL_MEDIATYPE, couttypes: u32, pouttypes: *const DMO_PARTIAL_MEDIATYPE) -> ::windows_sys::core::HRESULT;
11 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 12 pub fn DMOUnregister(clsiddmo: *const ::windows_sys::core::GUID, guidcategory: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
04454e1e 13 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn MoCopyMediaType(pmtdest: *mut DMO_MEDIA_TYPE, pmtsrc: *const DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT;
04454e1e 16 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
17 #[cfg(feature = "Win32_Foundation")]
18 pub fn MoCreateMediaType(ppmt: *mut *mut DMO_MEDIA_TYPE, cbformat: u32) -> ::windows_sys::core::HRESULT;
04454e1e 19 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
20 #[cfg(feature = "Win32_Foundation")]
21 pub fn MoDeleteMediaType(pmt: *mut DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT;
04454e1e 22 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
23 #[cfg(feature = "Win32_Foundation")]
24 pub fn MoDuplicateMediaType(ppmtdest: *mut *mut DMO_MEDIA_TYPE, pmtsrc: *const DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT;
04454e1e 25 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
26 #[cfg(feature = "Win32_Foundation")]
27 pub fn MoFreeMediaType(pmt: *mut DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT;
04454e1e 28 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
29 #[cfg(feature = "Win32_Foundation")]
30 pub fn MoInitMediaType(pmt: *mut DMO_MEDIA_TYPE, cbformat: u32) -> ::windows_sys::core::HRESULT;
31}
487cf647
FG
32pub type IDMOQualityControl = *mut ::core::ffi::c_void;
33pub type IDMOVideoOutputOptimizations = *mut ::core::ffi::c_void;
34pub type IEnumDMO = *mut ::core::ffi::c_void;
35pub type IMediaBuffer = *mut ::core::ffi::c_void;
36pub type IMediaObject = *mut ::core::ffi::c_void;
37pub type IMediaObjectInPlace = *mut ::core::ffi::c_void;
5e7ed085
FG
38pub const DMOCATEGORY_ACOUSTIC_ECHO_CANCEL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3214294400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
39pub const DMOCATEGORY_AGC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3901528992, data2: 50519, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
40pub const DMOCATEGORY_AUDIO_CAPTURE_EFFECT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4133857978, data2: 15881, data3: 18720, data4: [170, 95, 33, 152, 17, 20, 143, 9] };
41pub const DMOCATEGORY_AUDIO_DECODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1475533707, data2: 59067, data3: 17683, data4: [157, 67, 220, 210, 166, 89, 49, 37] };
42pub const DMOCATEGORY_AUDIO_EFFECT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4083166015, data2: 1426, data3: 18655, data4: [164, 205, 103, 71, 33, 231, 235, 235] };
43pub const DMOCATEGORY_AUDIO_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 869902177, data2: 37064, data3: 4560, data4: [189, 67, 0, 160, 201, 17, 206, 134] };
44pub const DMOCATEGORY_AUDIO_NOISE_SUPPRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3766456383, data2: 25341, data3: 20064, data4: [140, 221, 222, 167, 35, 102, 101, 181] };
45pub const DMOCATEGORY_VIDEO_DECODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1248441410, data2: 10430, data3: 18833, data4: [150, 156, 181, 0, 173, 245, 216, 168] };
46pub const DMOCATEGORY_VIDEO_EFFECT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3650154004, data2: 30572, data3: 18211, data4: [190, 70, 61, 162, 245, 111, 16, 185] };
47pub const DMOCATEGORY_VIDEO_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 869902176, data2: 37064, data3: 4560, data4: [189, 67, 0, 160, 201, 17, 206, 134] };
04454e1e 48#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 49pub const DMO_E_INVALIDSTREAMINDEX: ::windows_sys::core::HRESULT = -2147220991i32;
04454e1e 50#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 51pub const DMO_E_INVALIDTYPE: ::windows_sys::core::HRESULT = -2147220990i32;
04454e1e 52#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 53pub const DMO_E_NOTACCEPTING: ::windows_sys::core::HRESULT = -2147220988i32;
04454e1e 54#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 55pub const DMO_E_NO_MORE_ITEMS: ::windows_sys::core::HRESULT = -2147220986i32;
04454e1e 56#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 57pub const DMO_E_TYPE_NOT_ACCEPTED: ::windows_sys::core::HRESULT = -2147220987i32;
04454e1e 58#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 59pub const DMO_E_TYPE_NOT_SET: ::windows_sys::core::HRESULT = -2147220989i32;
04454e1e 60#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
487cf647 61pub type DMO_ENUM_FLAGS = i32;
04454e1e 62#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
487cf647 63pub const DMO_ENUMF_INCLUDE_KEYED: DMO_ENUM_FLAGS = 1i32;
04454e1e 64#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 65pub type DMO_REGISTER_FLAGS = i32;
04454e1e 66#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 67pub const DMO_REGISTERF_IS_KEYED: DMO_REGISTER_FLAGS = 1i32;
04454e1e 68#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 69pub type _DMO_INPLACE_PROCESS_FLAGS = i32;
04454e1e 70#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 71pub const DMO_INPLACE_NORMAL: _DMO_INPLACE_PROCESS_FLAGS = 0i32;
04454e1e 72#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 73pub const DMO_INPLACE_ZERO: _DMO_INPLACE_PROCESS_FLAGS = 1i32;
04454e1e 74#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 75pub type _DMO_INPUT_DATA_BUFFER_FLAGS = i32;
04454e1e 76#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 77pub const DMO_INPUT_DATA_BUFFERF_SYNCPOINT: _DMO_INPUT_DATA_BUFFER_FLAGS = 1i32;
04454e1e 78#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 79pub const DMO_INPUT_DATA_BUFFERF_TIME: _DMO_INPUT_DATA_BUFFER_FLAGS = 2i32;
04454e1e 80#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 81pub const DMO_INPUT_DATA_BUFFERF_TIMELENGTH: _DMO_INPUT_DATA_BUFFER_FLAGS = 4i32;
04454e1e 82#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 83pub const DMO_INPUT_DATA_BUFFERF_DISCONTINUITY: _DMO_INPUT_DATA_BUFFER_FLAGS = 8i32;
04454e1e 84#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 85pub type _DMO_INPUT_STATUS_FLAGS = i32;
04454e1e 86#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 87pub const DMO_INPUT_STATUSF_ACCEPT_DATA: _DMO_INPUT_STATUS_FLAGS = 1i32;
04454e1e 88#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 89pub type _DMO_INPUT_STREAM_INFO_FLAGS = i32;
04454e1e 90#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 91pub const DMO_INPUT_STREAMF_WHOLE_SAMPLES: _DMO_INPUT_STREAM_INFO_FLAGS = 1i32;
04454e1e 92#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 93pub const DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER: _DMO_INPUT_STREAM_INFO_FLAGS = 2i32;
04454e1e 94#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 95pub const DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE: _DMO_INPUT_STREAM_INFO_FLAGS = 4i32;
04454e1e 96#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 97pub const DMO_INPUT_STREAMF_HOLDS_BUFFERS: _DMO_INPUT_STREAM_INFO_FLAGS = 8i32;
04454e1e 98#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 99pub type _DMO_OUTPUT_DATA_BUFFER_FLAGS = i32;
04454e1e 100#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 101pub const DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 1i32;
04454e1e 102#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 103pub const DMO_OUTPUT_DATA_BUFFERF_TIME: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 2i32;
04454e1e 104#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 105pub const DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 4i32;
04454e1e 106#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 107pub const DMO_OUTPUT_DATA_BUFFERF_DISCONTINUITY: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 8i32;
04454e1e 108#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 109pub const DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 16777216i32;
04454e1e 110#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 111pub type _DMO_OUTPUT_STREAM_INFO_FLAGS = i32;
04454e1e 112#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 113pub const DMO_OUTPUT_STREAMF_WHOLE_SAMPLES: _DMO_OUTPUT_STREAM_INFO_FLAGS = 1i32;
04454e1e 114#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 115pub const DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER: _DMO_OUTPUT_STREAM_INFO_FLAGS = 2i32;
04454e1e 116#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 117pub const DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE: _DMO_OUTPUT_STREAM_INFO_FLAGS = 4i32;
04454e1e 118#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 119pub const DMO_OUTPUT_STREAMF_DISCARDABLE: _DMO_OUTPUT_STREAM_INFO_FLAGS = 8i32;
04454e1e 120#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 121pub const DMO_OUTPUT_STREAMF_OPTIONAL: _DMO_OUTPUT_STREAM_INFO_FLAGS = 16i32;
04454e1e 122#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 123pub type _DMO_PROCESS_OUTPUT_FLAGS = i32;
04454e1e 124#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 125pub const DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER: _DMO_PROCESS_OUTPUT_FLAGS = 1i32;
04454e1e 126#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 127pub type _DMO_QUALITY_STATUS_FLAGS = i32;
04454e1e 128#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 129pub const DMO_QUALITY_STATUS_ENABLED: _DMO_QUALITY_STATUS_FLAGS = 1i32;
04454e1e 130#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 131pub type _DMO_SET_TYPE_FLAGS = i32;
04454e1e 132#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 133pub const DMO_SET_TYPEF_TEST_ONLY: _DMO_SET_TYPE_FLAGS = 1i32;
04454e1e 134#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 135pub const DMO_SET_TYPEF_CLEAR: _DMO_SET_TYPE_FLAGS = 2i32;
04454e1e 136#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 137pub type _DMO_VIDEO_OUTPUT_STREAM_FLAGS = i32;
04454e1e 138#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
5e7ed085 139pub const DMO_VOSF_NEEDS_PREVIOUS_SAMPLE: _DMO_VIDEO_OUTPUT_STREAM_FLAGS = 1i32;
487cf647
FG
140#[repr(C)]
141#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
142#[cfg(feature = "Win32_Foundation")]
143pub struct DMO_MEDIA_TYPE {
144 pub majortype: ::windows_sys::core::GUID,
145 pub subtype: ::windows_sys::core::GUID,
146 pub bFixedSizeSamples: super::super::Foundation::BOOL,
147 pub bTemporalCompression: super::super::Foundation::BOOL,
148 pub lSampleSize: u32,
149 pub formattype: ::windows_sys::core::GUID,
150 pub pUnk: ::windows_sys::core::IUnknown,
151 pub cbFormat: u32,
152 pub pbFormat: *mut u8,
153}
154#[cfg(feature = "Win32_Foundation")]
155impl ::core::marker::Copy for DMO_MEDIA_TYPE {}
156#[cfg(feature = "Win32_Foundation")]
157impl ::core::clone::Clone for DMO_MEDIA_TYPE {
158 fn clone(&self) -> Self {
159 *self
160 }
161}
162#[repr(C)]
163#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
164pub struct DMO_OUTPUT_DATA_BUFFER {
165 pub pBuffer: IMediaBuffer,
166 pub dwStatus: u32,
167 pub rtTimestamp: i64,
168 pub rtTimelength: i64,
169}
170impl ::core::marker::Copy for DMO_OUTPUT_DATA_BUFFER {}
171impl ::core::clone::Clone for DMO_OUTPUT_DATA_BUFFER {
172 fn clone(&self) -> Self {
173 *self
174 }
175}
176#[repr(C)]
177#[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
178pub struct DMO_PARTIAL_MEDIATYPE {
179 pub r#type: ::windows_sys::core::GUID,
180 pub subtype: ::windows_sys::core::GUID,
181}
182impl ::core::marker::Copy for DMO_PARTIAL_MEDIATYPE {}
183impl ::core::clone::Clone for DMO_PARTIAL_MEDIATYPE {
184 fn clone(&self) -> Self {
185 *self
186 }
187}