diff options
author | Aleksoid <aleksoid@users.sourceforge.net> | 2012-04-05 03:02:45 +0400 |
---|---|---|
committer | Aleksoid <aleksoid@users.sourceforge.net> | 2012-04-05 03:02:45 +0400 |
commit | cf9fcccf88f091b7fea6e2566eceb01ef3fdf529 (patch) | |
tree | ac812c36defcdd20aa4e71b7a523ed39ac0b5ae2 /src/Subtitles | |
parent | 0a4b4cf7c5d7ced2fdc04788b125ac7ce8ec36bf (diff) |
Fix : H.264 DXVA decoder must accept only Chroma 4:2:0 format;
Fix : DVB - don't show subtitle when Page start but Region Count = 0; but the many bugs with DVB subtitle still have :)
Change : Disable "Alt+Space" hotkey for "Activate DVD Menu" function, it's a system hotkey;
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4256 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/Subtitles')
-rw-r--r-- | src/Subtitles/CompositionObject.cpp | 2 | ||||
-rw-r--r-- | src/Subtitles/DVBSub.cpp | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/Subtitles/CompositionObject.cpp b/src/Subtitles/CompositionObject.cpp index 6ed632e59..32b27a3df 100644 --- a/src/Subtitles/CompositionObject.cpp +++ b/src/Subtitles/CompositionObject.cpp @@ -294,10 +294,12 @@ void CompositionObject::Dvb4PixelsCodeString(SubPicDesc& spd, CGolombBuffer& gb, }
}
+#if 0
if (nX+nCount > m_width) {
ASSERT (FALSE);
break;
}
+#endif
if (nCount>0) {
FillSolidRect (spd, nX, nY, nCount, 1, m_Colors[nPaletteIndex]);
diff --git a/src/Subtitles/DVBSub.cpp b/src/Subtitles/DVBSub.cpp index 5e4bdebba..cbf6e9e7a 100644 --- a/src/Subtitles/DVBSub.cpp +++ b/src/Subtitles/DVBSub.cpp @@ -261,9 +261,18 @@ HRESULT CDVBSub::ParseSample(IMediaSample* pSample) m_pCurrentPage = pPage;
m_pCurrentPage->rtStart = m_rtStart;
m_pCurrentPage->rtStop = m_pCurrentPage->rtStart + m_pCurrentPage->PageTimeOut * 1000000;
+
TRACE_DVB ("DVB - Page started %S, TimeOut = %d\n", ReftimeToString(m_rtStart), m_pCurrentPage->PageTimeOut);
} else {
TRACE_DVB ("DVB - Page update\n");
+
+ if(m_pCurrentPage && !m_pCurrentPage->RegionCount) {
+ m_pCurrentPage = pPage;
+ m_pCurrentPage->rtStart = m_rtStart;
+ m_pCurrentPage->rtStop = m_pCurrentPage->rtStart + m_pCurrentPage->PageTimeOut * 1000000;
+
+ TRACE_DVB ("DVB - Page started[update] %S, TimeOut = %d\n", ReftimeToString(m_rtStart), m_pCurrentPage->PageTimeOut);
+ }
}
}
break;
|