diff --git a/mingw-w64-headers/include/dxva2api.h b/mingw-w64-headers/include/dxva2api.h
index 8329082..22f8bc9 100644
--- a/mingw-w64-headers/include/dxva2api.h
+++ b/mingw-w64-headers/include/dxva2api.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 5.16 from include/dxva2api.idl - Do not edit ***/
+/*** Autogenerated by WIDL 5.8 from dxva2api.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -1567,13 +1567,15 @@
 }
 
 static inline float DXVA2FixedToFloat(DXVA2_Fixed32 f32) {
-  struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;
+  typedef struct { USHORT Fraction; SHORT Value; } fields;
+  fields *_f32 = (fields *)(void *)&f32;
   return (float)_f32->Value + (float)_f32->Fraction / (1 << 16);
 }
 
 static inline DXVA2_Fixed32 DXVA2FloatToFixed(float f) {
   DXVA2_Fixed32 f32;
-  struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;
+  typedef struct { USHORT Fraction; SHORT Value; } fields;
+  fields *_f32 = (fields *)(void *)&f32;
   _f32->Value    = ((ULONG) (f * (1 << 16))) >> 16;
   _f32->Fraction = ((ULONG) (f * (1 << 16))) & 0xFFFF;
   return f32;
