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:
authorCasimir666 <casimir666@users.sourceforge.net>2008-06-08 14:06:03 +0400
committerCasimir666 <casimir666@users.sourceforge.net>2008-06-08 14:06:03 +0400
commit23837a927853e3875051b32b92085b6bec6e2fa8 (patch)
tree497520ac647789fa3129d7101324efd772a9c3a5 /src/filters/transform/mpcvideodec/DXVADecoderH264.cpp
parente69abd2b5d479fb3ec0dc9093508a74f8c785b60 (diff)
FIXED : Macroblocking on some DXVA files
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@556 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/transform/mpcvideodec/DXVADecoderH264.cpp')
-rw-r--r--src/filters/transform/mpcvideodec/DXVADecoderH264.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/filters/transform/mpcvideodec/DXVADecoderH264.cpp b/src/filters/transform/mpcvideodec/DXVADecoderH264.cpp
index 3cc5c352c..ff23913db 100644
--- a/src/filters/transform/mpcvideodec/DXVADecoderH264.cpp
+++ b/src/filters/transform/mpcvideodec/DXVADecoderH264.cpp
@@ -174,7 +174,7 @@ HRESULT CDXVADecoderH264::DecodeFrame (BYTE* pDataIn, UINT nSize, REFERENCE_TIME
pSliceShort[nSlices].SliceBytesInBuffer = Nalu.GetDataLength();
pSliceShort[nSlices].wBadSliceChopping = 0;
nSlices++;
- break;
+// break;
case NALU_TYPE_PPS :
case NALU_TYPE_SPS :
@@ -186,9 +186,8 @@ HRESULT CDXVADecoderH264::DecodeFrame (BYTE* pDataIn, UINT nSize, REFERENCE_TIME
m_nMaxWaiting = min (max (m_DXVAPicParams.num_ref_frames, 3), 8);
- // Parse slice header and set DX destination surface
- CHECK_HR (FFH264ReadSlideHeader (&m_DXVAPicParams, &m_DXVAScalingMatrix, m_pFilter->GetAVCtx(),
- (BYTE*) (pSliceShort[0].BSNALunitDataLocation + pDataIn), pSliceShort[0].SliceBytesInBuffer, m_pFilter->GetPCIVendor()));
+ // Parse ffmpeg context and fill m_DXVAPicParams structure
+ CHECK_HR (FFH264BuildPicParams (&m_DXVAPicParams, &m_DXVAScalingMatrix, m_pFilter->GetAVCtx(), m_pFilter->GetPCIVendor()));
// Wait I frame after a flush
if (m_bFlushed && !m_DXVAPicParams.IntraPicFlag)
return S_FALSE;