aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Fedchin <afedchin@ruswizards.com>2013-07-01 12:31:17 +0400
committerAnton Fedchin <afedchin@ruswizards.com>2013-07-01 12:31:17 +0400
commit5b0d8049e1bf6c32c5cfc41c4a35c18f9a42a07c (patch)
tree962698fcc40e68913e78391a9ba32243129713ef
parent24b90e4881445f98d079bf6c6091333e1c4fac11 (diff)
[win32] Fix best dxva deinterlacing on Intel platforms.
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
index 3f606628c1..93f3c212df 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
@@ -1287,6 +1287,14 @@ bool CProcessor::OpenProcessor()
D3DFORMAT rtFormat = D3DFMT_X8R8G8B8;
CHECK(m_service->GetVideoProcessorCaps(m_device, &m_desc, rtFormat, &m_caps))
+ /* HACK for Intel Egde Device.
+ * won't work if backward refs is equals value from the capabilities *
+ * Possible reasons are: *
+ * 1) The device capabilities are incorrectly reported *
+ * 2) The device is broken */
+ if (IsEqualGUID(m_device, DXVA2_VideoProcIntelEdgeDevice))
+ m_caps.NumBackwardRefSamples = 0;
+
if (m_caps.DeviceCaps & DXVA2_VPDev_SoftwareDevice)
CLog::Log(LOGDEBUG, "DXVA - processor is software device");