1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <!--
3+ // Copyright (c) 2010-2014 SharpDX - Alexandre Mutel
4+ //
5+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6+ // of this software and associated documentation files (the "Software"), to deal
7+ // in the Software without restriction, including without limitation the rights
8+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+ // copies of the Software, and to permit persons to whom the Software is
10+ // furnished to do so, subject to the following conditions:
11+ //
12+ // The above copyright notice and this permission notice shall be included in
13+ // all copies or substantial portions of the Software.
14+ //
15+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+ // THE SOFTWARE.
22+ -->
23+ <config id =" sharpdx-mediafoundation-directx" xmlns =" urn:SharpGen.Config" >
24+ <dependency >sharpdx-core</dependency >
25+ <dependency >sharpdx-direct3d9</dependency >
26+
27+ <namespace >SharpDX.MediaFoundation.DirectX</namespace >
28+ <assembly >SharpDX.MediaFoundation</assembly >
29+
30+ <include file =" dxva2api.h" attach =" true" output =" DirectX" >
31+ <pre >
32+ #define __AUDIODEFS_INCLUDED__
33+ </pre >
34+ </include >
35+ <include file =" dxvahd.h" attach =" true" output =" DirectX" />
36+
37+ <context-set id =" mediafoundation-directx-all" >
38+ <context >sharpdx-mediafoundation-directx</context >
39+ <context >sharpdx-mediafoundation-directx-ext</context >
40+ <context >dxva2api</context >
41+ <context >dxvahd</context >
42+ </context-set >
43+
44+ <extension >
45+ <context id =" mediafoundation-directx-all" />
46+
47+ <create class =" DXVAFactory" />
48+ <context-clear />
49+ </extension >
50+
51+ <mapping >
52+ <context id =" mediafoundation-directx-all" />
53+ <!--
54+ // *****************************************************************
55+ // MediaFoundation-DirectX Enumerations
56+ // *****************************************************************
57+ -->
58+ <map enum =" DXVA2(.*)" name-tmp =" $1" />
59+ <map enum =" DXVAHD(.*)" name-tmp =" $1" />
60+
61+ <remove enum-item =" .*_Mask" />
62+
63+ <!-- Use special character # to reference parent of an enum-item, when an enum is anonymous-->
64+ <map enum =" #DXVA2_DeinterlaceTech_Unknown" name =" DeinterlaceTechnology" />
65+ <map enum-item =" DXVA2_DeinterlaceTech_(.*)" name-tmp =" $1" />
66+
67+ <map enum =" #DXVA2_NoiseFilterLumaLevel" name =" NoiseDetailFilter" />
68+ <map enum-item =" DXVA2_NoiseFilter(.*)" name-tmp =" Noise_$1" />
69+ <map enum-item =" DXVA2_DetailFilter(.*)" name-tmp =" Detail_$1" />
70+
71+ <map enum =" #DXVA2_NoiseFilterTech_Unsupported" name =" NoiseFilterTechnology" />
72+ <map enum-item =" DXVA2_NoiseFilterTech_(.*)" name-tmp =" $1" />
73+
74+ <map enum =" #DXVA2_DetailFilterTech_Unsupported" name =" DetailFilterTechnology" />
75+ <map enum-item =" DXVA2_NoiseFilterTech_(.*)" name-tmp =" $1" />
76+
77+ <map enum =" #DXVA2_ProcAmp_None" name =" VideoProcessorSettings" />
78+ <map enum-item =" DXVA2_ProcAmp_(.*)" name-tmp =" $1" />
79+
80+ <map enum =" #DXVA2_VideoProcess_None" name =" VideoProcessorOperations" />
81+ <map enum-item =" DXVA2_VideoProcess_(.*)" name-tmp =" $1" />
82+
83+ <map enum =" #DXVA2_VPDev_HardwareDevice" name =" VideoDeviceCapabilities" />
84+ <map enum-item =" DXVA2_VPDev_(.*)" name-tmp =" $1" />
85+
86+ <map enum =" #DXVA2_SampleData_RFF" name =" SampleData" />
87+ <map enum-item =" DXVA2_SampleData_RFF" name =" RepeatFirstFieldBit" />
88+ <map enum-item =" DXVA2_SampleData_TFF" name =" TopFieldFirstBit" />
89+ <map enum-item =" DXVA2_SampleData_RFF_TFF_Present" name =" Both" />
90+
91+ <!-- Remove unused-->
92+ <remove enum =" #DXVA2_DestData_RFF" />
93+
94+ <map enum =" #DXVA2_PictureParametersBufferType" name =" CompressedBufferType" />
95+ <map enum-item =" DXVA2_(.*)BufferType" name =" $1" />
96+
97+ <map enum =" #DXVA2_VideoDecoderRenderTarget" name =" RenderTargetType" />
98+ <map enum-item =" DXVA2_(.*)RenderTarget" name =" $1" />
99+
100+ <map enum-item =" DXVA2_NominalRange_0_255" name =" Range0_255" />
101+ <map enum-item =" DXVA2_NominalRange_16_235" name =" Range16_235" />
102+ <map enum-item =" DXVA2_NominalRange_48_208" name =" Range48_208" />
103+ <map enum-item =" DXVAHD_ITELECINE_CAPS_(.*)" name =" Reverse$1" />
104+
105+ <map enum =" DXVAHD_SURFACE_TYPE" name =" SurfaceTypeHD" />
106+
107+ <!--
108+ // *****************************************************************
109+ // MediaFoundation-DirectX Structures
110+ // *****************************************************************
111+ -->
112+ <map struct =" DXVA2(.*)" name-tmp =" $1" />
113+ <map struct =" DXVAHD(.*)" name-tmp =" $1" />
114+ <map field =" DXVAHD_STREAM_STATE_PALETTE_DATA::pEntries" type =" void" />
115+
116+ <!--
117+ // *****************************************************************
118+ // MediaFoundation-DirectX Interfaces
119+ // *****************************************************************
120+ -->
121+ <map interface =" IDirectX(.*)" name =" $1" />
122+ <map interface =" IDXVAHD_(.*)" name =" HD$1" />
123+ <map interface =" IDirect3DDeviceManager9" name =" Direct3DDeviceManager" />
124+
125+ <!--
126+ // *****************************************************************
127+ // MediaFoundation-DirectX Functions
128+ // *****************************************************************
129+ -->
130+ <map function =" DXVA2(.*)" name-tmp =" $1" dll =' "Dxva2.dll"' group =" SharpDX.MediaFoundation.DirectX.DXVAFactory" />
131+ <map function =" DXVAHD(.*)" name-tmp =" $1" dll =' "Dxva2.dll"' group =" SharpDX.MediaFoundation.DirectX.DXVAFactory" />
132+ <map param =" DXVA2CreateDirect3DDeviceManager9::ppDeviceManager" attribute =" out fast" />
133+ <map param =" DXVAHD_CreateDevice::ppDevice" attribute =" out fast" />
134+
135+ <context-clear />
136+ </mapping >
137+ </config >