Hi,

I'm trying to recompile Qt from Msys2, and I get the following error:
In file included from 
E:\corporate.git\qt5\qtmultimedia\src\plugins\common\evr/evrdefs.h:46,
                 from 
E:\corporate.git\qt5\qtmultimedia\src\plugins\common\evr/evrvideowindowcontrol.h:45,
                 from 
E:\corporate.git\qt5\qtmultimedia\src\plugins\directshow\player\directshowevrvideowindowcontrol.h:43,
                 from 
E:\corporate.git\qt5\qtmultimedia\src\plugins\directshow\player\directshowplayerservice.cpp:63:
E:/msys64/mingw64/x86_64-w64-mingw32/include/dxva2api.h: In function 'float 
DXVA2FixedToFloat(DXVA2_Fixed32)':
E:/msys64/mingw64/x86_64-w64-mingw32/include/dxva2api.h:1570:52: error: invalid 
conversion from 'void*' to 'DXVA2FixedToFloat(DXVA2_Fixed32)::<unnamed 
struct>*' [-fpermissive]
 1570 |   struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;
      |                                                    ^~~~~~~~~~~~
      |                                                    |
      |                                                    void*
E:/msys64/mingw64/x86_64-w64-mingw32/include/dxva2api.h: In function 
'DXVA2_Fixed32 DXVA2FloatToFixed(float)':
E:/msys64/mingw64/x86_64-w64-mingw32/include/dxva2api.h:1576:52: error: invalid 
conversion from 'void*' to 'DXVA2FloatToFixed(float)::<unnamed struct>*' 
[-fpermissive]
 1576 |   struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;
      |                                                    ^~~~~~~~~~~~
      |                                                    |
      |                                                    void*

This Change was Introduced in 6c8c2a. And I don't really see the need for the 
access through a pointer. I have changed it to:
static inline float DXVA2FixedToFloat(DXVA2_Fixed32 f32) {
  return (float)f32.Value + (float)f32.Fraction / (1 << 16);
}

static inline DXVA2_Fixed32 DXVA2FloatToFixed(float f) {
  DXVA2_Fixed32 f32;
  f32.Value    = ((ULONG) (f * (1 << 16))) >> 16;
  f32.Fraction = ((ULONG) (f * (1 << 16))) & 0xFFFF;
  return f32;
}

And at least Qt seems to compile (still ongoing).
And yes I know it's a generated file, but I just want to progress here.

Kind regards,
Björn.


__________________________________________________

MIMOT GmbH, Berner Weg 11, D-79539 Lörrach, Telefon +49-7621-9578-0, Telefax 
+49-7621-9578-10, www.mimot.com
Geschäftsführer: Jürgen Philipp • Amtsgericht Freiburg HRB 705553 • UST-ID-Nr. 
DE 272524976

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to