Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2017-08-12 21:23:33 +0300
committerHendrik Leppkes <h.leppkes@gmail.com>2017-08-12 21:23:33 +0300
commitc35d40830a253a594fa739fb729db753cc88b41e (patch)
treeef78c9c0a507eacaf9b700ddeee19c61812d25f1
parent67e7ca139ed28a860cefd7b278e3fa69dafeddfe (diff)
d3d11: show the active decoder device
-rw-r--r--decoder/LAVVideo/decoders/d3d11va.cpp15
-rw-r--r--decoder/LAVVideo/decoders/d3d11va.h3
2 files changed, 18 insertions, 0 deletions
diff --git a/decoder/LAVVideo/decoders/d3d11va.cpp b/decoder/LAVVideo/decoders/d3d11va.cpp
index 15585654..31565d20 100644
--- a/decoder/LAVVideo/decoders/d3d11va.cpp
+++ b/decoder/LAVVideo/decoders/d3d11va.cpp
@@ -218,6 +218,10 @@ enum_adapter:
goto fail;
}
+ // store adapter info
+ ZeroMemory(&m_AdapterDesc, sizeof(m_AdapterDesc));
+ pDXGIAdapter->GetDesc(&m_AdapterDesc);
+
// done with the DXGI interface
SafeRelease(&pDXGIFactory);
SafeRelease(&pDXGIAdapter);
@@ -1034,3 +1038,14 @@ STDMETHODIMP CDecD3D11::GetPixelFormat(LAVPixelFormat *pPix, int *pBpp)
return S_OK;
}
+
+STDMETHODIMP CDecD3D11::GetHWAccelActiveDevice(BSTR *pstrDeviceName)
+{
+ CheckPointer(pstrDeviceName, E_POINTER);
+
+ if (m_AdapterDesc.Description[0] == 0)
+ return E_UNEXPECTED;
+
+ *pstrDeviceName = SysAllocString(m_AdapterDesc.Description);
+ return S_OK;
+}
diff --git a/decoder/LAVVideo/decoders/d3d11va.h b/decoder/LAVVideo/decoders/d3d11va.h
index 722c7cfc..965de0ec 100644
--- a/decoder/LAVVideo/decoders/d3d11va.h
+++ b/decoder/LAVVideo/decoders/d3d11va.h
@@ -54,6 +54,7 @@ public:
STDMETHODIMP_(const WCHAR*) GetDecoderName() { return m_bReadBackFallback ? (m_bDirect ? L"d3d11 cb direct" : L"d3d11 cb") : L"d3d11 native"; }
STDMETHODIMP HasThreadSafeBuffers() { return S_FALSE; }
STDMETHODIMP SetDirectOutput(BOOL bDirect) { m_bDirect = bDirect; return S_OK; }
+ STDMETHODIMP GetHWAccelActiveDevice(BSTR *pstrDeviceName);
// CDecBase
STDMETHODIMP Init();
@@ -122,5 +123,7 @@ private:
PFN_CREATE_DXGI_FACTORY1 mCreateDXGIFactory1;
} dx = { 0 };
+ DXGI_ADAPTER_DESC m_AdapterDesc = { 0 };
+
friend class CD3D11SurfaceAllocator;
};