diff --git a/mingw-w64-headers/include/dxva2api.h b/mingw-w64-headers/include/dxva2api.h
index 3ab4842..c75474e 100644
--- a/mingw-w64-headers/include/dxva2api.h
+++ b/mingw-w64-headers/include/dxva2api.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 1.5.25 from include/dxva2api.idl - Do not edit ***/
+/*** Autogenerated by WIDL 1.5.19 from include/dxva2api.idl - Do not edit ***/
 
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
@@ -278,6 +278,7 @@
   DXVA2_Fixed32 StepSize;
 } DXVA2_ValueRange;
 
+#ifdef _D3D9_H
 typedef struct _DXVA2_VideoDesc {
   UINT                 SampleWidth;
   UINT                 SampleHeight;
@@ -288,6 +289,7 @@
   UINT                 UABProtectionLevel;
   UINT                 Reserved;
 } DXVA2_VideoDesc;
+#endif
 
 /* DeviceCaps
 DXVA2_VPDev_EmulatedDXVA1
@@ -357,6 +359,7 @@
   DWORD                DestData;
 } DXVA2_VideoProcessBltParams;
 
+#ifdef _D3D9_H
 typedef struct _DXVA2_VideoProcessorCaps {
   UINT    DeviceCaps;
   D3DPOOL InputPool;
@@ -369,6 +372,7 @@
   UINT    NoiseFilterTechnology;
   UINT    DetailFilterTechnology;
 } DXVA2_VideoProcessorCaps;
+#endif
 
 /* SampleData
 DXVA2_SampleData_RFF
@@ -376,6 +380,7 @@
 DXVA2_SampleData_RFF_TFF_Present
 */
 
+#ifdef _D3D9_H
 typedef struct _DXVA2_VideoSample {
   REFERENCE_TIME       Start;
   REFERENCE_TIME       End;
@@ -387,6 +392,7 @@
   DXVA2_Fixed32        PlanarAlpha;
   DWORD                SampleData;
 } DXVA2_VideoSample;
+#endif
 
 /* Constants */
 
@@ -428,6 +434,7 @@
   return f32;
 }
 
+#ifdef _D3D9_H
 HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9(UINT *pResetToken,IDirect3DDeviceManager9 **ppDXVAManager);
 HRESULT WINAPI DXVA2CreateVideoService(IDirect3DDevice9 *pDD,REFIID riid,void **ppService);
 /*****************************************************************************
@@ -726,6 +733,7 @@
 
     END_INTERFACE
 };
+#endif
 #ifdef COBJMACROS
 #define IDirectXVideoDecoderService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 #define IDirectXVideoDecoderService_AddRef(This) (This)->lpVtbl->AddRef(This)
diff --git a/mingw-w64-headers/include/dxva2api.idl b/mingw-w64-headers/include/dxva2api.idl
index c0fd3b0..038d6b6 100644
--- a/mingw-w64-headers/include/dxva2api.idl
+++ b/mingw-w64-headers/include/dxva2api.idl
@@ -257,6 +257,7 @@
 cpp_quote("  DXVA2_Fixed32 StepSize;")
 cpp_quote("} DXVA2_ValueRange;")
 cpp_quote("")
+cpp_quote("#ifdef _D3D9_H")
 cpp_quote("typedef struct _DXVA2_VideoDesc {")
 cpp_quote("  UINT                 SampleWidth;")
 cpp_quote("  UINT                 SampleHeight;")
@@ -267,6 +268,7 @@
 cpp_quote("  UINT                 UABProtectionLevel;")
 cpp_quote("  UINT                 Reserved;")
 cpp_quote("} DXVA2_VideoDesc;")
+cpp_quote("#endif")
 cpp_quote("")
 cpp_quote("/* DeviceCaps")
 cpp_quote("DXVA2_VPDev_EmulatedDXVA1")
@@ -336,6 +338,7 @@
 cpp_quote("  DWORD                DestData;")
 cpp_quote("} DXVA2_VideoProcessBltParams;")
 cpp_quote("")
+cpp_quote("#ifdef _D3D9_H")
 cpp_quote("typedef struct _DXVA2_VideoProcessorCaps {")
 cpp_quote("  UINT    DeviceCaps;")
 cpp_quote("  D3DPOOL InputPool;")
@@ -348,6 +351,7 @@
 cpp_quote("  UINT    NoiseFilterTechnology;")
 cpp_quote("  UINT    DetailFilterTechnology;")
 cpp_quote("} DXVA2_VideoProcessorCaps;")
+cpp_quote("#endif")
 cpp_quote("")
 cpp_quote("/* SampleData")
 cpp_quote("DXVA2_SampleData_RFF")
@@ -355,6 +359,7 @@
 cpp_quote("DXVA2_SampleData_RFF_TFF_Present")
 cpp_quote("*/")
 cpp_quote("")
+cpp_quote("#ifdef _D3D9_H")
 cpp_quote("typedef struct _DXVA2_VideoSample {")
 cpp_quote("  REFERENCE_TIME       Start;")
 cpp_quote("  REFERENCE_TIME       End;")
@@ -366,6 +371,7 @@
 cpp_quote("  DXVA2_Fixed32        PlanarAlpha;")
 cpp_quote("  DWORD                SampleData;")
 cpp_quote("} DXVA2_VideoSample;")
+cpp_quote("#endif")
 cpp_quote("")
 cpp_quote("/* Constants */")
 cpp_quote("")
@@ -407,6 +413,7 @@
 cpp_quote("  return f32;")
 cpp_quote("}")
 cpp_quote("")
+cpp_quote("#ifdef _D3D9_H")
 cpp_quote("HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9(UINT *pResetToken,IDirect3DDeviceManager9 **ppDXVAManager);")
 cpp_quote("HRESULT WINAPI DXVA2CreateVideoService(IDirect3DDevice9 *pDD,REFIID riid,void **ppService);")
 
@@ -506,6 +513,7 @@
 cpp_quote("")
 cpp_quote("    END_INTERFACE")
 cpp_quote("};")
+cpp_quote("#endif")
 cpp_quote("#ifdef COBJMACROS")
 cpp_quote("#define IDirectXVideoDecoderService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
 cpp_quote("#define IDirectXVideoDecoderService_AddRef(This) (This)->lpVtbl->AddRef(This)")
