diff options
author | XhmikosR <xhmikosr@users.sourceforge.net> | 2010-04-09 18:12:59 +0400 |
---|---|---|
committer | XhmikosR <xhmikosr@users.sourceforge.net> | 2010-04-09 18:12:59 +0400 |
commit | efbc9d9043ff8ff92716ddd00a5f61412d535593 (patch) | |
tree | 8f3e621f756cf1f5b4d64d97964c7e7abd8aaf08 /src/subtitles/HdmvSub.h | |
parent | df6b139a6d9027156f614b68687e039e3a5854db (diff) |
revert r1783
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1785 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/subtitles/HdmvSub.h')
-rw-r--r-- | src/subtitles/HdmvSub.h | 164 |
1 files changed, 80 insertions, 84 deletions
diff --git a/src/subtitles/HdmvSub.h b/src/subtitles/HdmvSub.h index b800f8fda..950d10584 100644 --- a/src/subtitles/HdmvSub.h +++ b/src/subtitles/HdmvSub.h @@ -1,4 +1,4 @@ -/*
+/*
* $Id$
*
* (C) 2006-2010 see AUTHORS
@@ -30,99 +30,95 @@ class CHdmvSub : public CBaseSub {
public:
- static const REFERENCE_TIME INVALID_TIME = _I64_MIN;
-
- enum HDMV_SEGMENT_TYPE
- {
- NO_SEGMENT = 0xFFFF,
- PALETTE = 0x14,
- OBJECT = 0x15,
- PRESENTATION_SEG = 0x16,
- WINDOW_DEF = 0x17,
- INTERACTIVE_SEG = 0x18,
- END_OF_DISPLAY = 0x80,
- HDMV_SUB1 = 0x81,
- HDMV_SUB2 = 0x82
- };
-
-
- struct VIDEO_DESCRIPTOR
- {
- SHORT nVideoWidth;
- SHORT nVideoHeight;
- BYTE bFrameRate; // <= Frame rate here!
- };
-
- struct COMPOSITION_DESCRIPTOR
- {
- SHORT nNumber;
- BYTE bState;
- };
-
- struct SEQUENCE_DESCRIPTOR
- {
- BYTE bFirstIn : 1;
- BYTE bLastIn : 1;
- BYTE bReserved : 8;
- };
-
- CHdmvSub();
- ~CHdmvSub();
-
- HRESULT ParseSample(IMediaSample* pSample);
-
-
- POSITION GetStartPosition(REFERENCE_TIME rt, double fps);
- POSITION GetNext(POSITION pos)
- {
- m_pObjects.GetNext(pos);
- return pos;
- };
-
-
- virtual REFERENCE_TIME GetStart(POSITION nPos)
- {
- CompositionObject* pObject = m_pObjects.GetAt(nPos);
- return pObject != NULL ? pObject->m_rtStart : INVALID_TIME;
- };
- virtual REFERENCE_TIME GetStop(POSITION nPos)
- {
- CompositionObject* pObject = m_pObjects.GetAt(nPos);
- return pObject != NULL ? pObject->m_rtStop : INVALID_TIME;
- };
-
- void Render(SubPicDesc& spd, REFERENCE_TIME rt, RECT& bbox);
- HRESULT GetTextureSize(POSITION pos, SIZE& MaxTextureSize, SIZE& VideoSize, POINT& VideoTopLeft);
- void Reset();
+ static const REFERENCE_TIME INVALID_TIME = _I64_MIN;
+
+ enum HDMV_SEGMENT_TYPE
+ {
+ NO_SEGMENT = 0xFFFF,
+ PALETTE = 0x14,
+ OBJECT = 0x15,
+ PRESENTATION_SEG = 0x16,
+ WINDOW_DEF = 0x17,
+ INTERACTIVE_SEG = 0x18,
+ END_OF_DISPLAY = 0x80,
+ HDMV_SUB1 = 0x81,
+ HDMV_SUB2 = 0x82
+ };
+
+
+ struct VIDEO_DESCRIPTOR
+ {
+ SHORT nVideoWidth;
+ SHORT nVideoHeight;
+ BYTE bFrameRate; // <= Frame rate here!
+ };
+
+ struct COMPOSITION_DESCRIPTOR
+ {
+ SHORT nNumber;
+ BYTE bState;
+ };
+
+ struct SEQUENCE_DESCRIPTOR
+ {
+ BYTE bFirstIn : 1;
+ BYTE bLastIn : 1;
+ BYTE bReserved : 8;
+ };
+
+ CHdmvSub();
+ ~CHdmvSub();
+
+ HRESULT ParseSample (IMediaSample* pSample);
+
+
+ POSITION GetStartPosition(REFERENCE_TIME rt, double fps);
+ POSITION GetNext(POSITION pos) { m_pObjects.GetNext(pos); return pos; };
+
+
+ virtual REFERENCE_TIME GetStart(POSITION nPos)
+ {
+ CompositionObject* pObject = m_pObjects.GetAt(nPos);
+ return pObject!=NULL ? pObject->m_rtStart : INVALID_TIME;
+ };
+ virtual REFERENCE_TIME GetStop(POSITION nPos)
+ {
+ CompositionObject* pObject = m_pObjects.GetAt(nPos);
+ return pObject!=NULL ? pObject->m_rtStop : INVALID_TIME;
+ };
+
+ void Render(SubPicDesc& spd, REFERENCE_TIME rt, RECT& bbox);
+ HRESULT GetTextureSize (POSITION pos, SIZE& MaxTextureSize, SIZE& VideoSize, POINT& VideoTopLeft);
+ void Reset();
private :
- HDMV_SEGMENT_TYPE m_nCurSegment;
- BYTE* m_pSegBuffer;
- int m_nTotalSegBuffer;
- int m_nSegBufferPos;
- int m_nSegSize;
+ HDMV_SEGMENT_TYPE m_nCurSegment;
+ BYTE* m_pSegBuffer;
+ int m_nTotalSegBuffer;
+ int m_nSegBufferPos;
+ int m_nSegSize;
- VIDEO_DESCRIPTOR m_VideoDescriptor;
+ VIDEO_DESCRIPTOR m_VideoDescriptor;
- CompositionObject* m_pCurrentObject;
- CAtlList<CompositionObject*> m_pObjects;
+ CompositionObject* m_pCurrentObject;
+ CAtlList<CompositionObject*> m_pObjects;
- HDMV_PALETTE* m_pDefaultPalette;
- int m_nDefaultPaletteNbEntry;
+ HDMV_PALETTE* m_pDefaultPalette;
+ int m_nDefaultPaletteNbEntry;
- int m_nColorNumber;
+ int m_nColorNumber;
- int ParsePresentationSegment(CGolombBuffer* pGBuffer);
- void ParsePalette(CGolombBuffer* pGBuffer, USHORT nSize);
- void ParseObject(CGolombBuffer* pGBuffer, USHORT nUnitSize);
+ int ParsePresentationSegment(CGolombBuffer* pGBuffer);
+ void ParsePalette(CGolombBuffer* pGBuffer, USHORT nSize);
+ void ParseObject(CGolombBuffer* pGBuffer, USHORT nUnitSize);
- void ParseVideoDescriptor(CGolombBuffer* pGBuffer, VIDEO_DESCRIPTOR* pVideoDescriptor);
- void ParseCompositionDescriptor(CGolombBuffer* pGBuffer, COMPOSITION_DESCRIPTOR* pCompositionDescriptor);
- void ParseCompositionObject(CGolombBuffer* pGBuffer, CompositionObject* pCompositionObject);
+ void ParseVideoDescriptor(CGolombBuffer* pGBuffer, VIDEO_DESCRIPTOR* pVideoDescriptor);
+ void ParseCompositionDescriptor(CGolombBuffer* pGBuffer, COMPOSITION_DESCRIPTOR* pCompositionDescriptor);
+ void ParseCompositionObject(CGolombBuffer* pGBuffer, CompositionObject* pCompositionObject);
- void AllocSegment(int nSize);
+ void AllocSegment(int nSize);
- CompositionObject* FindObject(REFERENCE_TIME rt);
+ CompositionObject* FindObject(REFERENCE_TIME rt);
};
|