Windows/FFmpeg: import multi-plane textures directly on D3D12/OpenGL
isPixelFormatSupportedByRhiBackend() now accepts NV12/P010 on D3D12
and OpenGL too, not just single-plane formats: importTexture()
splits the source texture via QWindowsD3D11PlaneSplitter, imports
each plane through the existing single-plane path, and combines the
results into one QVideoFrameTexturesHandles.
With that gate widened, the eager pixel-format override in
QFFmpeg::VideoRenderer and QFFmpegVideoBuffer is no longer needed
and is removed, so a frame now always declares its real decoded
pixel format.
Task-number: QTBUG-115309
Change-Id: I297cd4ae9095d3239f9e1678f21d863fe9b17d84
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
| commit | 1f963638e008fb7d30bc213869a8806c6891037f |
| parent | c8a44a0468d88fc68dbdc4fbeaa4e63303767ad0 |
| author | Tim Blechmann <tim.blechmann@qt.io> |
| committer | Tim Blechmann <tim.blechmann@qt.io> |
| commit time | Thu, 15 Oct 2026 09:19:32 +0000 |
- M src/multimedia/windows/qwindowsd3d11rhitextureimporter.cpp
- M src/multimedia/windows/qwindowsd3d11rhitextureimporter_p.h
- M src/multimedia/windows/qwindowsd3d11texturebridge.cpp
- M src/multimedia/windows/qwindowsd3d11texturebridge_p.h
- M src/plugins/multimedia/ffmpeg/playbackengine/qffmpegvideorenderer.cpp
- M src/plugins/multimedia/ffmpeg/qffmpeghwaccel_d3d11.cpp
- M src/plugins/multimedia/ffmpeg/qffmpegvideobuffer.cpp
- M src/plugins/multimedia/ffmpeg/qffmpegvideobuffer_p.h
- M src/plugins/multimedia/windows/player/qmediaenginevideobuffer.cpp
- M tests/auto/unit/multimedia/qwindowsd3d11rhitextureimporter/tst_qwindowsd3d11rhitextureimporter.cpp
- M tests/auto/unit/plugins/multimedia/ffmpeg/qffmpegd3d11textureconverter/tst_qffmpegd3d11textureconverter.cpp