From 2a0de96015947d2eed869a45e78c029a59e0af64 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 21 Jul 2020 23:44:03 +0900 Subject: [PATCH] d3d11window: Disable d3d11 video processor for HDR10 stream. d3d11 video processor is showing buggy behaviors in various cases. And this HDR10 is one case of them. Part-of: --- sys/d3d11/gstd3d11window.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/d3d11/gstd3d11window.cpp b/sys/d3d11/gstd3d11window.cpp index a6561ee574..ab98419466 100644 --- a/sys/d3d11/gstd3d11window.cpp +++ b/sys/d3d11/gstd3d11window.cpp @@ -668,7 +668,15 @@ gst_d3d11_window_prepare (GstD3D11Window * window, guint display_width, /* FIXME: need to verify video processor on Xbox * https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1312 */ - if (gst_d3d11_get_device_vendor (window->device) != + + /* XXX: Depending on driver/vendor, d3d11 video processor might not support + * HDR10 metadata. Even worse thing here is, + * although the d3d11 video processor's capability flag indicated that + * HDR10 metadata is supported, it would result to black screen when HDR10 + * metadata is passed to d3d11 video processor. (without any error message). + * Let's disable d3d11 video processor. + */ + if (!have_hdr10 && gst_d3d11_get_device_vendor (window->device) != GST_D3D11_DEVICE_VENDOR_XBOX) { window->processor = gst_d3d11_video_processor_new (window->device,