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

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2017-08-14 15:33:53 +0300
committerKacper Michajłow <kasper93@gmail.com>2017-08-15 23:23:00 +0300
commitbf13748b32a653595d290e4eaeedcf3dba4200f5 (patch)
treea1d6f1f8b360c80f3669128694354b7bb9eb55bc
parent2034ddd99b0ec26270999fbb11f1fb03202d27ae (diff)
LAV Filters: Recognize new D3D11 decoder.
-rw-r--r--src/mpc-hc/FGFilterLAV.cpp13
-rw-r--r--src/mpc-hc/MainFrm.cpp4
2 files changed, 10 insertions, 7 deletions
diff --git a/src/mpc-hc/FGFilterLAV.cpp b/src/mpc-hc/FGFilterLAV.cpp
index fe50b712a..2c147c192 100644
--- a/src/mpc-hc/FGFilterLAV.cpp
+++ b/src/mpc-hc/FGFilterLAV.cpp
@@ -558,18 +558,21 @@ void CFGFilterLAVVideo::ShowPropertyPages(CWnd* pParendWnd)
LPCTSTR CFGFilterLAVVideo::GetUserFriendlyDecoderName(const CString& decoderName)
{
- static std::pair<LPCTSTR, LPCTSTR> userFriendlyDecoderNames[] = {
+ static constexpr std::pair<LPCTSTR, LPCTSTR> userFriendlyDecoderNames[] = {
std::make_pair(_T("avcodec"), _T("FFmpeg")),
std::make_pair(_T("dxva2n"), _T("DXVA2 Native")),
std::make_pair(_T("dxva2cb"), _T("DXVA2 Copy-back")),
std::make_pair(_T("dxva2cb direct"), _T("DXVA2 Copy-back (Direct)")),
std::make_pair(_T("cuvid"), _T("NVIDIA CUVID")),
- std::make_pair(_T("quicksync"), _T("Intel QuickSync"))
+ std::make_pair(_T("quicksync"), _T("Intel QuickSync")),
+ std::make_pair(_T("d3d11 cb direct"), _T("D3D11 Copy-back (Direct)")),
+ std::make_pair(_T("d3d11 cb"), _T("D3D11 Copy-back")),
+ std::make_pair(_T("d3d11 native"), _T("D3D11 Native")),
};
- for (int i = 0; i < _countof(userFriendlyDecoderNames); i++) {
- if (decoderName == userFriendlyDecoderNames[i].first) {
- return userFriendlyDecoderNames[i].second;
+ for (const auto& name : userFriendlyDecoderNames) {
+ if (decoderName == name.first) {
+ return name.second;
}
}
diff --git a/src/mpc-hc/MainFrm.cpp b/src/mpc-hc/MainFrm.cpp
index f645c54d6..294f36bef 100644
--- a/src/mpc-hc/MainFrm.cpp
+++ b/src/mpc-hc/MainFrm.cpp
@@ -16685,14 +16685,14 @@ void CMainFrame::UpdateDXVAStatus()
// If LAV Video is in the graph, we query it since it's always more reliable than the hook.
if (CComQIPtr<ILAVVideoStatus> pLAVVideoStatus = FindFilter(GUID_LAVVideo, m_pGB)) {
CStringW decoderName = pLAVVideoStatus->GetActiveDecoderName();
- if (decoderName.Find(L"dxva") == 0 || decoderName == L"cuvid" || decoderName == L"quicksync") {
+ if (decoderName != L"avcodec") {
m_HWAccelType = CFGFilterLAVVideo::GetUserFriendlyDecoderName(decoderName);
CString LAVDXVAInfo;
LAVDXVAInfo.Format(_T("LAV Video Decoder (%s)"), m_HWAccelType);
if (!m_bUsingDXVA) { // Don't trust the hook
m_bUsingDXVA = true;
- DXVAInfo.Format(_T("DXVA2 : %s"), LAVDXVAInfo);
+ DXVAInfo.Format(_T("H/W Decoder : %s"), LAVDXVAInfo);
} else {
DXVAInfo.AppendFormat(_T(" [%s]"), LAVDXVAInfo);
}