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:
authorXhmikosR <xhmikosr@users.sourceforge.net>2013-03-31 18:30:31 +0400
committerXhmikosR <xhmikosr@users.sourceforge.net>2013-03-31 18:30:31 +0400
commit4368ca10903e2f054ef2c4daa51f494c6a4771a3 (patch)
treef3884019641c4712ab56a81e78d35d717195c5e1 /src/filters/transform/MPCVideoDec
parent4be10e6959765f2f9a95737166755b6121d6257a (diff)
Revert "MPCVideoDec: fixed playback h264 after "stop" on Intel HD Graphics (force recreate dxva decoder)."
This reverts commit 6d51fc694ab79ea51e530ba7eeab7ea3a548e9a8. This caused many issues like green screen when starting playback.
Diffstat (limited to 'src/filters/transform/MPCVideoDec')
-rw-r--r--src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp b/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp
index 1c814f612..5e24f8dbc 100644
--- a/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp
+++ b/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp
@@ -2363,15 +2363,14 @@ HRESULT CMPCVideoDecFilter::CreateDXVA2Decoder(UINT nNumRenderTargets, IDirect3D
pDecoderRenderTargets, nNumRenderTargets, &pDirectXVideoDec);
if (SUCCEEDED(hr)) {
- // need recreate dxva decoder after "stop" on Intel HD Graphics
- SAFE_DELETE (m_pDXVADecoder);
- m_pDXVADecoder = CDXVADecoder::CreateDecoder(this, pDirectXVideoDec, &m_DXVADecoderGUID, GetPicEntryNumber(), &m_DXVA2Config);
- if (m_pDXVADecoder) {
- m_pDXVADecoder->SetExtraData((BYTE*)m_pAVCtx->extradata, m_pAVCtx->extradata_size);
- m_pDXVADecoder->SetDirectXVideoDec(pDirectXVideoDec);
- } else {
- hr = E_FAIL;
+ if (!m_pDXVADecoder) {
+ m_pDXVADecoder = CDXVADecoder::CreateDecoder(this, pDirectXVideoDec, &m_DXVADecoderGUID, GetPicEntryNumber(), &m_DXVA2Config);
+ if (m_pDXVADecoder) {
+ m_pDXVADecoder->SetExtraData((BYTE*)m_pAVCtx->extradata, m_pAVCtx->extradata_size);
+ }
}
+
+ m_pDXVADecoder->SetDirectXVideoDec(pDirectXVideoDec);
}
return hr;