Windows: Replace IMFMediaSession/EVR backend with IMFMediaEngine


Replace the legacy Windows media player backend built on
IMFMediaSession, IMFTopology, SourceResolver and EVR Custom Presenter
(D3D9/DXVA2) with a modern implementation based on IMFMediaEngine and
D3D11.

Key advantages of the new implementation:
- Simplified architecture: the entire pipeline (source resolution,
  decoding, rendering) is handled by a single IMFMediaEngine instance,
  eliminating manual topology construction, EVR activation objects
  and the custom presenter (~4200 net lines removed).
- D3D11 instead of D3D9: native compatibility with Qt RHI, enabling
  zero-copy texture sharing between the media engine and the rendering
  backend via shared D3D11 textures with keyed mutex synchronization,
  reusing QtMultimediaPrivate::QWindowsD3D11TextureBridge.
- Multiple RHI backend support, shared with the FFmpeg backend

Requires Windows 10 or later.

[ChangeLog][Platform Specific Changes][Windows] Replaced the Windows
media player backend from IMFMediaSession/EVR/D3D9 to
IMFMediaEngine/D3D11, providing a simpler architecture, native Qt RHI
compatibility with zero-copy texture paths, and improved resource
management.

Change-Id: I7d0eaae014b0e4044175d0edc4fcf93d349e56a5
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
commitb422152f109e80b8f3e5890398ee881ad6a7c1a9
parent16f3302388fefbd11af278badbe4a4cad8256fa9
authorVladimir Belyavsky <belyavskyv@gmail.com>
committerTim Blechmann <tim.blechmann@qt.io>
commit timeWed, 14 Oct 2026 13:17:19 +0000