include/dxva2api.idl: Fix build error when compiled as C++
Signed-off-by: Liu Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/dxva2api.idl b/mingw-w64-headers/include/dxva2api.idl
index 04e620b..fc77f5c 100644
--- a/mingw-w64-headers/include/dxva2api.idl
+++ b/mingw-w64-headers/include/dxva2api.idl
@@ -815,13 +815,15 @@
cpp_quote("}")
cpp_quote("")
cpp_quote("static inline float DXVA2FixedToFloat(DXVA2_Fixed32 f32) {")
-cpp_quote(" struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;")
+cpp_quote(" typedef struct { USHORT Fraction; SHORT Value; } fields;")
+cpp_quote(" fields *_f32 = (fields *)(void *)&f32;")
cpp_quote(" return (float)_f32->Value + (float)_f32->Fraction / (1 << 16);")
cpp_quote("}")
cpp_quote("")
cpp_quote("static inline DXVA2_Fixed32 DXVA2FloatToFixed(float f) {")
cpp_quote(" DXVA2_Fixed32 f32;")
-cpp_quote(" struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;")
+cpp_quote(" typedef struct { USHORT Fraction; SHORT Value; } fields;")
+cpp_quote(" fields *_f32 = (fields *)(void *)&f32;")
cpp_quote(" _f32->Value = ((ULONG) (f * (1 << 16))) >> 16;")
cpp_quote(" _f32->Fraction = ((ULONG) (f * (1 << 16))) & 0xFFFF;")
cpp_quote(" return f32;")