evr9.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. /*** Autogenerated by WIDL 7.7 from include/evr9.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __evr9_h__
  14. #define __evr9_h__
  15. /* Forward declarations */
  16. #ifndef __IMFVideoMixerBitmap_FWD_DEFINED__
  17. #define __IMFVideoMixerBitmap_FWD_DEFINED__
  18. typedef interface IMFVideoMixerBitmap IMFVideoMixerBitmap;
  19. #ifdef __cplusplus
  20. interface IMFVideoMixerBitmap;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IMFVideoProcessor_FWD_DEFINED__
  24. #define __IMFVideoProcessor_FWD_DEFINED__
  25. typedef interface IMFVideoProcessor IMFVideoProcessor;
  26. #ifdef __cplusplus
  27. interface IMFVideoProcessor;
  28. #endif /* __cplusplus */
  29. #endif
  30. /* Headers for imported files */
  31. #include <unknwn.h>
  32. #include <evr.h>
  33. #include <dxva2api.h>
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37. typedef struct MFVideoAlphaBitmapParams {
  38. DWORD dwFlags;
  39. COLORREF clrSrcKey;
  40. RECT rcSrc;
  41. MFVideoNormalizedRect nrcDest;
  42. FLOAT fAlpha;
  43. DWORD dwFilterMode;
  44. } MFVideoAlphaBitmapParams;
  45. typedef struct MFVideoAlphaBitmap {
  46. WINBOOL GetBitmapFromDC;
  47. union {
  48. HDC hdc;
  49. IDirect3DSurface9 *pDDS;
  50. } bitmap;
  51. MFVideoAlphaBitmapParams params;
  52. } MFVideoAlphaBitmap;
  53. typedef enum __WIDL_evr9_generated_name_00000030 {
  54. MFVideoAlphaBitmap_EntireDDS = 0x1,
  55. MFVideoAlphaBitmap_SrcColorKey = 0x2,
  56. MFVideoAlphaBitmap_SrcRect = 0x4,
  57. MFVideoAlphaBitmap_DestRect = 0x8,
  58. MFVideoAlphaBitmap_FilterMode = 0x10,
  59. MFVideoAlphaBitmap_Alpha = 0x20,
  60. MFVideoAlphaBitmap_BitMask = 0x3f
  61. } MFVideoAlphaBitmapFlags;
  62. /*****************************************************************************
  63. * IMFVideoMixerBitmap interface
  64. */
  65. #ifndef __IMFVideoMixerBitmap_INTERFACE_DEFINED__
  66. #define __IMFVideoMixerBitmap_INTERFACE_DEFINED__
  67. DEFINE_GUID(IID_IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc);
  68. #if defined(__cplusplus) && !defined(CINTERFACE)
  69. MIDL_INTERFACE("814c7b20-0fdb-4eec-af8f-f957c8f69edc")
  70. IMFVideoMixerBitmap : public IUnknown
  71. {
  72. virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
  73. const MFVideoAlphaBitmap *bitmap) = 0;
  74. virtual HRESULT STDMETHODCALLTYPE ClearAlphaBitmap(
  75. ) = 0;
  76. virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
  77. const MFVideoAlphaBitmapParams *params) = 0;
  78. virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
  79. MFVideoAlphaBitmapParams *params) = 0;
  80. };
  81. #ifdef __CRT_UUID_DECL
  82. __CRT_UUID_DECL(IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc)
  83. #endif
  84. #else
  85. typedef struct IMFVideoMixerBitmapVtbl {
  86. BEGIN_INTERFACE
  87. /*** IUnknown methods ***/
  88. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  89. IMFVideoMixerBitmap *This,
  90. REFIID riid,
  91. void **ppvObject);
  92. ULONG (STDMETHODCALLTYPE *AddRef)(
  93. IMFVideoMixerBitmap *This);
  94. ULONG (STDMETHODCALLTYPE *Release)(
  95. IMFVideoMixerBitmap *This);
  96. /*** IMFVideoMixerBitmap methods ***/
  97. HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)(
  98. IMFVideoMixerBitmap *This,
  99. const MFVideoAlphaBitmap *bitmap);
  100. HRESULT (STDMETHODCALLTYPE *ClearAlphaBitmap)(
  101. IMFVideoMixerBitmap *This);
  102. HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)(
  103. IMFVideoMixerBitmap *This,
  104. const MFVideoAlphaBitmapParams *params);
  105. HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)(
  106. IMFVideoMixerBitmap *This,
  107. MFVideoAlphaBitmapParams *params);
  108. END_INTERFACE
  109. } IMFVideoMixerBitmapVtbl;
  110. interface IMFVideoMixerBitmap {
  111. CONST_VTBL IMFVideoMixerBitmapVtbl* lpVtbl;
  112. };
  113. #ifdef COBJMACROS
  114. #ifndef WIDL_C_INLINE_WRAPPERS
  115. /*** IUnknown methods ***/
  116. #define IMFVideoMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  117. #define IMFVideoMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
  118. #define IMFVideoMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
  119. /*** IMFVideoMixerBitmap methods ***/
  120. #define IMFVideoMixerBitmap_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap)
  121. #define IMFVideoMixerBitmap_ClearAlphaBitmap(This) (This)->lpVtbl->ClearAlphaBitmap(This)
  122. #define IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(This,params) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,params)
  123. #define IMFVideoMixerBitmap_GetAlphaBitmapParameters(This,params) (This)->lpVtbl->GetAlphaBitmapParameters(This,params)
  124. #else
  125. /*** IUnknown methods ***/
  126. static FORCEINLINE HRESULT IMFVideoMixerBitmap_QueryInterface(IMFVideoMixerBitmap* This,REFIID riid,void **ppvObject) {
  127. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  128. }
  129. static FORCEINLINE ULONG IMFVideoMixerBitmap_AddRef(IMFVideoMixerBitmap* This) {
  130. return This->lpVtbl->AddRef(This);
  131. }
  132. static FORCEINLINE ULONG IMFVideoMixerBitmap_Release(IMFVideoMixerBitmap* This) {
  133. return This->lpVtbl->Release(This);
  134. }
  135. /*** IMFVideoMixerBitmap methods ***/
  136. static FORCEINLINE HRESULT IMFVideoMixerBitmap_SetAlphaBitmap(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmap *bitmap) {
  137. return This->lpVtbl->SetAlphaBitmap(This,bitmap);
  138. }
  139. static FORCEINLINE HRESULT IMFVideoMixerBitmap_ClearAlphaBitmap(IMFVideoMixerBitmap* This) {
  140. return This->lpVtbl->ClearAlphaBitmap(This);
  141. }
  142. static FORCEINLINE HRESULT IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmapParams *params) {
  143. return This->lpVtbl->UpdateAlphaBitmapParameters(This,params);
  144. }
  145. static FORCEINLINE HRESULT IMFVideoMixerBitmap_GetAlphaBitmapParameters(IMFVideoMixerBitmap* This,MFVideoAlphaBitmapParams *params) {
  146. return This->lpVtbl->GetAlphaBitmapParameters(This,params);
  147. }
  148. #endif
  149. #endif
  150. #endif
  151. #endif /* __IMFVideoMixerBitmap_INTERFACE_DEFINED__ */
  152. /*****************************************************************************
  153. * IMFVideoProcessor interface
  154. */
  155. #ifndef __IMFVideoProcessor_INTERFACE_DEFINED__
  156. #define __IMFVideoProcessor_INTERFACE_DEFINED__
  157. DEFINE_GUID(IID_IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e);
  158. #if defined(__cplusplus) && !defined(CINTERFACE)
  159. MIDL_INTERFACE("6ab0000c-fece-4d1f-a2ac-a9573530656e")
  160. IMFVideoProcessor : public IUnknown
  161. {
  162. virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoProcessorModes(
  163. UINT *count,
  164. GUID **modes) = 0;
  165. virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
  166. GUID *mode,
  167. DXVA2_VideoProcessorCaps *caps) = 0;
  168. virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorMode(
  169. GUID *mode) = 0;
  170. virtual HRESULT STDMETHODCALLTYPE SetVideoProcessorMode(
  171. GUID *mode) = 0;
  172. virtual HRESULT STDMETHODCALLTYPE GetProcAmpRange(
  173. DWORD prop,
  174. DXVA2_ValueRange *range) = 0;
  175. virtual HRESULT STDMETHODCALLTYPE GetProcAmpValues(
  176. DWORD flags,
  177. DXVA2_ProcAmpValues *values) = 0;
  178. virtual HRESULT STDMETHODCALLTYPE SetProcAmpValues(
  179. DWORD flags,
  180. DXVA2_ProcAmpValues *values) = 0;
  181. virtual HRESULT STDMETHODCALLTYPE GetFilteringRange(
  182. DWORD prop,
  183. DXVA2_ValueRange *range) = 0;
  184. virtual HRESULT STDMETHODCALLTYPE GetFilteringValue(
  185. DWORD prop,
  186. DXVA2_Fixed32 *value) = 0;
  187. virtual HRESULT STDMETHODCALLTYPE SetFilteringValue(
  188. DWORD prop,
  189. DXVA2_Fixed32 *value) = 0;
  190. virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
  191. COLORREF *color) = 0;
  192. virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
  193. COLORREF color) = 0;
  194. };
  195. #ifdef __CRT_UUID_DECL
  196. __CRT_UUID_DECL(IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e)
  197. #endif
  198. #else
  199. typedef struct IMFVideoProcessorVtbl {
  200. BEGIN_INTERFACE
  201. /*** IUnknown methods ***/
  202. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  203. IMFVideoProcessor *This,
  204. REFIID riid,
  205. void **ppvObject);
  206. ULONG (STDMETHODCALLTYPE *AddRef)(
  207. IMFVideoProcessor *This);
  208. ULONG (STDMETHODCALLTYPE *Release)(
  209. IMFVideoProcessor *This);
  210. /*** IMFVideoProcessor methods ***/
  211. HRESULT (STDMETHODCALLTYPE *GetAvailableVideoProcessorModes)(
  212. IMFVideoProcessor *This,
  213. UINT *count,
  214. GUID **modes);
  215. HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
  216. IMFVideoProcessor *This,
  217. GUID *mode,
  218. DXVA2_VideoProcessorCaps *caps);
  219. HRESULT (STDMETHODCALLTYPE *GetVideoProcessorMode)(
  220. IMFVideoProcessor *This,
  221. GUID *mode);
  222. HRESULT (STDMETHODCALLTYPE *SetVideoProcessorMode)(
  223. IMFVideoProcessor *This,
  224. GUID *mode);
  225. HRESULT (STDMETHODCALLTYPE *GetProcAmpRange)(
  226. IMFVideoProcessor *This,
  227. DWORD prop,
  228. DXVA2_ValueRange *range);
  229. HRESULT (STDMETHODCALLTYPE *GetProcAmpValues)(
  230. IMFVideoProcessor *This,
  231. DWORD flags,
  232. DXVA2_ProcAmpValues *values);
  233. HRESULT (STDMETHODCALLTYPE *SetProcAmpValues)(
  234. IMFVideoProcessor *This,
  235. DWORD flags,
  236. DXVA2_ProcAmpValues *values);
  237. HRESULT (STDMETHODCALLTYPE *GetFilteringRange)(
  238. IMFVideoProcessor *This,
  239. DWORD prop,
  240. DXVA2_ValueRange *range);
  241. HRESULT (STDMETHODCALLTYPE *GetFilteringValue)(
  242. IMFVideoProcessor *This,
  243. DWORD prop,
  244. DXVA2_Fixed32 *value);
  245. HRESULT (STDMETHODCALLTYPE *SetFilteringValue)(
  246. IMFVideoProcessor *This,
  247. DWORD prop,
  248. DXVA2_Fixed32 *value);
  249. HRESULT (STDMETHODCALLTYPE *GetBackgroundColor)(
  250. IMFVideoProcessor *This,
  251. COLORREF *color);
  252. HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
  253. IMFVideoProcessor *This,
  254. COLORREF color);
  255. END_INTERFACE
  256. } IMFVideoProcessorVtbl;
  257. interface IMFVideoProcessor {
  258. CONST_VTBL IMFVideoProcessorVtbl* lpVtbl;
  259. };
  260. #ifdef COBJMACROS
  261. #ifndef WIDL_C_INLINE_WRAPPERS
  262. /*** IUnknown methods ***/
  263. #define IMFVideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  264. #define IMFVideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
  265. #define IMFVideoProcessor_Release(This) (This)->lpVtbl->Release(This)
  266. /*** IMFVideoProcessor methods ***/
  267. #define IMFVideoProcessor_GetAvailableVideoProcessorModes(This,count,modes) (This)->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes)
  268. #define IMFVideoProcessor_GetVideoProcessorCaps(This,mode,caps) (This)->lpVtbl->GetVideoProcessorCaps(This,mode,caps)
  269. #define IMFVideoProcessor_GetVideoProcessorMode(This,mode) (This)->lpVtbl->GetVideoProcessorMode(This,mode)
  270. #define IMFVideoProcessor_SetVideoProcessorMode(This,mode) (This)->lpVtbl->SetVideoProcessorMode(This,mode)
  271. #define IMFVideoProcessor_GetProcAmpRange(This,prop,range) (This)->lpVtbl->GetProcAmpRange(This,prop,range)
  272. #define IMFVideoProcessor_GetProcAmpValues(This,flags,values) (This)->lpVtbl->GetProcAmpValues(This,flags,values)
  273. #define IMFVideoProcessor_SetProcAmpValues(This,flags,values) (This)->lpVtbl->SetProcAmpValues(This,flags,values)
  274. #define IMFVideoProcessor_GetFilteringRange(This,prop,range) (This)->lpVtbl->GetFilteringRange(This,prop,range)
  275. #define IMFVideoProcessor_GetFilteringValue(This,prop,value) (This)->lpVtbl->GetFilteringValue(This,prop,value)
  276. #define IMFVideoProcessor_SetFilteringValue(This,prop,value) (This)->lpVtbl->SetFilteringValue(This,prop,value)
  277. #define IMFVideoProcessor_GetBackgroundColor(This,color) (This)->lpVtbl->GetBackgroundColor(This,color)
  278. #define IMFVideoProcessor_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
  279. #else
  280. /*** IUnknown methods ***/
  281. static FORCEINLINE HRESULT IMFVideoProcessor_QueryInterface(IMFVideoProcessor* This,REFIID riid,void **ppvObject) {
  282. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  283. }
  284. static FORCEINLINE ULONG IMFVideoProcessor_AddRef(IMFVideoProcessor* This) {
  285. return This->lpVtbl->AddRef(This);
  286. }
  287. static FORCEINLINE ULONG IMFVideoProcessor_Release(IMFVideoProcessor* This) {
  288. return This->lpVtbl->Release(This);
  289. }
  290. /*** IMFVideoProcessor methods ***/
  291. static FORCEINLINE HRESULT IMFVideoProcessor_GetAvailableVideoProcessorModes(IMFVideoProcessor* This,UINT *count,GUID **modes) {
  292. return This->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes);
  293. }
  294. static FORCEINLINE HRESULT IMFVideoProcessor_GetVideoProcessorCaps(IMFVideoProcessor* This,GUID *mode,DXVA2_VideoProcessorCaps *caps) {
  295. return This->lpVtbl->GetVideoProcessorCaps(This,mode,caps);
  296. }
  297. static FORCEINLINE HRESULT IMFVideoProcessor_GetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
  298. return This->lpVtbl->GetVideoProcessorMode(This,mode);
  299. }
  300. static FORCEINLINE HRESULT IMFVideoProcessor_SetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
  301. return This->lpVtbl->SetVideoProcessorMode(This,mode);
  302. }
  303. static FORCEINLINE HRESULT IMFVideoProcessor_GetProcAmpRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
  304. return This->lpVtbl->GetProcAmpRange(This,prop,range);
  305. }
  306. static FORCEINLINE HRESULT IMFVideoProcessor_GetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
  307. return This->lpVtbl->GetProcAmpValues(This,flags,values);
  308. }
  309. static FORCEINLINE HRESULT IMFVideoProcessor_SetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
  310. return This->lpVtbl->SetProcAmpValues(This,flags,values);
  311. }
  312. static FORCEINLINE HRESULT IMFVideoProcessor_GetFilteringRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
  313. return This->lpVtbl->GetFilteringRange(This,prop,range);
  314. }
  315. static FORCEINLINE HRESULT IMFVideoProcessor_GetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
  316. return This->lpVtbl->GetFilteringValue(This,prop,value);
  317. }
  318. static FORCEINLINE HRESULT IMFVideoProcessor_SetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
  319. return This->lpVtbl->SetFilteringValue(This,prop,value);
  320. }
  321. static FORCEINLINE HRESULT IMFVideoProcessor_GetBackgroundColor(IMFVideoProcessor* This,COLORREF *color) {
  322. return This->lpVtbl->GetBackgroundColor(This,color);
  323. }
  324. static FORCEINLINE HRESULT IMFVideoProcessor_SetBackgroundColor(IMFVideoProcessor* This,COLORREF color) {
  325. return This->lpVtbl->SetBackgroundColor(This,color);
  326. }
  327. #endif
  328. #endif
  329. #endif
  330. #endif /* __IMFVideoProcessor_INTERFACE_DEFINED__ */
  331. /* Begin additional prototypes for all interfaces */
  332. /* End additional prototypes */
  333. #ifdef __cplusplus
  334. }
  335. #endif
  336. #endif /* __evr9_h__ */