From cb694ffd8e485bfc08a05d82618ebe0f1832da14 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 11 May 2016 15:23:02 +0200 Subject: vo_opengl: d3d11egl: support full range YUV MSDN documents this as "Introduced in Windows 8.1.". I assume on Windows 7 this field will simply be ignored. Too bad for Windows 7 users. Also, I'm not using D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 and D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255, because these are apparently completely missing from the MinGW headers. (Such a damn pain.) --- video/out/opengl/hwdec_d3d11egl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/video/out/opengl/hwdec_d3d11egl.c b/video/out/opengl/hwdec_d3d11egl.c index 734229c3c5..bd4c050ac3 100644 --- a/video/out/opengl/hwdec_d3d11egl.c +++ b/video/out/opengl/hwdec_d3d11egl.c @@ -503,9 +503,8 @@ static int create_video_proc(struct gl_hwdec *hw, struct mp_image_params *params p->video_proc, 0, FALSE); - if ((params->colorspace != MP_CSP_BT_601 && - params->colorspace != MP_CSP_BT_709) || - params->colorlevels != MP_CSP_LEVELS_TV) + if (params->colorspace != MP_CSP_BT_601 && + params->colorspace != MP_CSP_BT_709) { MP_WARN(hw, "Unsupported video colorspace (%s/%s). Consider disabling " "hardware decoding, or using --hwdec=d3d11va-copy to get " @@ -516,6 +515,7 @@ static int create_video_proc(struct gl_hwdec *hw, struct mp_image_params *params D3D11_VIDEO_PROCESSOR_COLOR_SPACE csp = { .YCbCr_Matrix = params->colorspace != MP_CSP_BT_601, + .Nominal_Range = params->colorlevels == MP_CSP_LEVELS_TV ? 1 : 2, }; ID3D11VideoContext_VideoProcessorSetStreamColorSpace(p->video_ctx, p->video_proc, -- cgit v1.2.3