📄 sei.h
字号:
UInt m_uiNumPriorityIds;
UInt m_uiPrDependencyId;
};
//SEI changes update }
class H264AVCCOMMONLIB_API NonRequiredSei : public SEIMessage
{
protected:
NonRequiredSei ();
~NonRequiredSei();
public:
static ErrVal create (NonRequiredSei*& rpcSeiMessage);
ErrVal destroy ();
ErrVal write (HeaderSymbolWriteIf* pcWriteIf);
ErrVal read (HeaderSymbolReadIf* pcReadIf);
UInt getNumInfoEntriesMinus1() const{ return m_uiNumInfoEntriesMinus1;}
UInt getEntryDependencyId(UInt uiLayer) const{ return m_uiEntryDependencyId[uiLayer];}
UInt getNumNonRequiredPicsMinus1(UInt uiLayer) const{ return m_uiNumNonRequiredPicsMinus1[uiLayer];}
UInt getNonRequiredPicDependencyId(UInt uiLayer, UInt uiNonRequiredLayer) const{ return m_uiNonRequiredPicDependencyId[uiLayer][uiNonRequiredLayer];}
UInt getNonRequiredPicQulityLevel(UInt uiLayer, UInt uiNonRequiredLayer) const{ return m_uiNonRequiredPicQulityLevel[uiLayer][uiNonRequiredLayer];}
UInt getNonRequiredPicFragmentOrder(UInt uiLayer, UInt uiNonRequiredLayer) const{ return m_uiNonRequiredPicFragmentOrder[uiLayer][uiNonRequiredLayer];}
Void setNumInfoEntriesMinus1(UInt ui) { m_uiNumInfoEntriesMinus1 = ui;}
Void setEntryDependencyId(UInt uiLayer, UInt ui) { m_uiEntryDependencyId[uiLayer] = ui;}
Void setNumNonRequiredPicsMinus1(UInt uiLayer, UInt ui) { m_uiNumNonRequiredPicsMinus1[uiLayer] = ui;}
Void setNonNonRequiredPicDependencyId(UInt uiLayer, UInt uiNonRequiredLayer, UInt ui) {m_uiNonRequiredPicDependencyId[uiLayer][uiNonRequiredLayer] = ui;}
Void setNonNonRequiredPicQulityLevel(UInt uiLayer, UInt uiNonRequiredLayer, UInt ui) {m_uiNonRequiredPicQulityLevel[uiLayer][uiNonRequiredLayer] = ui;}
Void setNonNonRequiredPicFragmentOrder(UInt uiLayer, UInt uiNonRequiredLayer, UInt ui) {m_uiNonRequiredPicFragmentOrder[uiLayer][uiNonRequiredLayer] = ui;}
private:
UInt m_uiNumInfoEntriesMinus1;
UInt m_uiEntryDependencyId[MAX_NUM_INFO_ENTRIES];
UInt m_uiNumNonRequiredPicsMinus1[MAX_NUM_INFO_ENTRIES];
UInt m_uiNonRequiredPicDependencyId[MAX_NUM_INFO_ENTRIES][MAX_NUM_NON_REQUIRED_PICS];
UInt m_uiNonRequiredPicQulityLevel[MAX_NUM_INFO_ENTRIES][MAX_NUM_NON_REQUIRED_PICS];
UInt m_uiNonRequiredPicFragmentOrder[MAX_NUM_INFO_ENTRIES][MAX_NUM_NON_REQUIRED_PICS];
};//shenqiu 05-09-15
// JVT-S080 LMI {
class H264AVCCOMMONLIB_API ScalableSeiLayersNotPresent: public SEIMessage
{
protected:
ScalableSeiLayersNotPresent ();
~ScalableSeiLayersNotPresent();
public:
static ErrVal create ( ScalableSeiLayersNotPresent*& rpcSeiMessage);
//TMM_FIX
ErrVal destroy ();
//TMM_FIX
ErrVal write ( HeaderSymbolWriteIf *pcWriteIf);
ErrVal read ( HeaderSymbolReadIf *pcReadIf);
Void setNumLayers( UInt ui ) { m_uiNumLayers = ui; }
Void setLayerId ( UInt uiLayer, UInt uiId ) { m_auiLayerId [uiLayer] = uiId; }
Void setOutputFlag ( Bool bFlag ) { m_bOutputFlag = bFlag; }
UInt getNumLayers() const {return m_uiNumLayers;}
UInt getLayerId ( UInt uiLayer ) const { return m_auiLayerId[uiLayer]; }
Bool getOutputFlag ( ) const { return m_bOutputFlag; }
static UInt m_uiLeftNumLayers;
static UInt m_auiLeftLayerId[MAX_SCALABLE_LAYERS];
private:
UInt m_uiNumLayers;
UInt m_auiLayerId[MAX_SCALABLE_LAYERS];
Bool m_bOutputFlag;
};
class H264AVCCOMMONLIB_API ScalableSeiDependencyChange: public SEIMessage
{
protected:
ScalableSeiDependencyChange ();
~ScalableSeiDependencyChange();
public:
static ErrVal create ( ScalableSeiDependencyChange*& rpcSeiMessage);
ErrVal write ( HeaderSymbolWriteIf *pcWriteIf);
ErrVal read ( HeaderSymbolReadIf *pcReadIf);
Void setNumLayersMinus1( UInt ui ) { m_uiNumLayersMinus1 = ui; }
Void setDependencyId ( UInt uiLayer, UInt uiId ) { m_auiLayerId [uiLayer] = uiId; }
Void setLayerDependencyInfoPresentFlag ( UInt uiLayer, Bool bFlag ) { m_abLayerDependencyInfoPresentFlag[uiLayer] = bFlag; }
Void setNumDirectDependentLayers ( UInt uiLayer, UInt ui ) { m_auiNumDirectDependentLayers[uiLayer] = ui; }
Void setDirectDependentLayerIdDeltaMinus1( UInt uiLayer, UInt uiDirectLayer, UInt uiIdDeltaMinus1 ) { m_auiDirectDependentLayerIdDeltaMinus1[uiLayer][uiDirectLayer] = uiIdDeltaMinus1; }
Void setLayerDependencyInfoSrcLayerIdDeltaMinus1 ( UInt uiLayer, UInt uiIdDeltaMinus1 ) { m_auiLayerDependencyInfoSrcLayerIdDeltaMinus1[uiLayer] = uiIdDeltaMinus1; }
Void setOutputFlag ( Bool bFlag ) { m_bOutputFlag = bFlag; }
UInt getNumLayersMinus1() const {return m_uiNumLayersMinus1;}
UInt getDependencyId ( UInt uiLayer ) const { return m_auiLayerId[uiLayer]; }
UInt getNumDirectDependentLayers ( UInt uiLayer ) const { return m_auiNumDirectDependentLayers[uiLayer]; }
UInt getDirectDependentLayerIdDeltaMinus1( UInt uiLayer, UInt uiDirectLayer ) const { return m_auiDirectDependentLayerIdDeltaMinus1[uiLayer][uiDirectLayer]; }
UInt getLayerDependencyInfoSrcLayerIdDeltaMinus1 ( UInt uiLayer ) const { return m_auiLayerDependencyInfoSrcLayerIdDeltaMinus1[uiLayer]; }
Bool getLayerDependencyInfoPresentFlag ( UInt uiLayer ) const { return m_abLayerDependencyInfoPresentFlag[uiLayer]; }
Bool getOutputFlag ( ) const { return m_bOutputFlag; }
private:
UInt m_uiNumLayersMinus1;
UInt m_auiLayerId[MAX_SCALABLE_LAYERS];
UInt m_auiNumDirectDependentLayers[MAX_SCALABLE_LAYERS];
UInt m_auiDirectDependentLayerIdDeltaMinus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
UInt m_auiLayerDependencyInfoSrcLayerIdDeltaMinus1[MAX_SCALABLE_LAYERS];
Bool m_abLayerDependencyInfoPresentFlag[MAX_SCALABLE_LAYERS];
Bool m_bOutputFlag;
};
// JVT-S080 LMI }
// JVT-T073 {
#define MAX_LREP_IN_ACCESS_UNIT 50
class H264AVCCOMMONLIB_API ScalableNestingSei : public SEIMessage
{
protected:
ScalableNestingSei()
: SEIMessage(SCALABLE_NESTING_SEI)
, m_bAllPicturesInAuFlag (0)
, m_uiNumPictures (0)
//, m_pcSEIMessage (NULL)
{}
public:
static ErrVal create( ScalableNestingSei*& rpcSEIMessage );
ErrVal destroy();
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
ErrVal init ( Bool m_bAllPicturesInAuFlag,
UInt m_uiNumPictures,
UInt* m_auiDependencyId,
UInt* m_auiQualityLevel
);
Bool getAllPicturesInAuFlag() const { return m_bAllPicturesInAuFlag; }
UInt getNumPictures() const { return m_uiNumPictures; }
UInt getDependencyId( UInt uiIndex ) { return m_auiDependencyId[uiIndex]; }
UInt getQualityId( UInt uiIndex ) { return m_auiQualityLevel[uiIndex]; }
Void setAllPicturesInAuFlag( Bool bFlag ) { m_bAllPicturesInAuFlag = bFlag; }
Void setNumPictures( UInt uiNum ) { m_uiNumPictures = uiNum; }
Void setDependencyId( UInt uiIndex, UInt uiValue ) { m_auiDependencyId[uiIndex] = uiValue; }
Void setQualityLevel( UInt uiIndex, UInt uiValue ) { m_auiQualityLevel[uiIndex] = uiValue; }
// JVT-V068 {
UInt getTemporalId() { return m_uiTemporalId; }
Void setTemporalId( UInt uiValue ) { m_uiTemporalId = uiValue; }
// JVT-V068 }
//JVT-W062 {
// Void setTemporalId( UInt uiValue ) { m_uiTemporalId = uiValue; }
private:
UInt m_uiTemporalId;
//JVT-W062 }
Bool m_bAllPicturesInAuFlag;
UInt m_uiNumPictures;
UInt m_auiDependencyId[MAX_LREP_IN_ACCESS_UNIT];
UInt m_auiQualityLevel[MAX_LREP_IN_ACCESS_UNIT];
// JVT-V068 {
//UInt m_uiTemporalId; //????
// JVT-V068 }
//SEIMessage *m_pcSEIMessage;
};
//scene_info is taken as en example
class H264AVCCOMMONLIB_API SceneInfoSei : public SEIMessage
{
protected:
SceneInfoSei() : SEIMessage(SCENE_INFO_SEI)
{}
public:
static ErrVal create( SceneInfoSei*& rpcSceneInfoSei );
ErrVal destroy ();
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf);
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
Bool getSceneInfoPresentFlag() const { return m_bSceneInfoPresentFlag; }
UInt getSceneId() const { return m_uiSceneId; }
UInt getSceneTransitionType() const { return m_uiSceneTransitionType; }
UInt getSecondSceneId() const { return m_uiSecondSceneId; }
Void setSceneInfoPresentFlag( Bool bFlag ) { m_bSceneInfoPresentFlag = bFlag; }
Void setSceneId( UInt uiSceneId ) { m_uiSceneId = uiSceneId; }
Void setSceneTransitionType( UInt uiTransitionType) { m_uiSceneTransitionType = uiTransitionType; }
Void setSecondSceneId( UInt uiSecondId ) { m_uiSecondSceneId = uiSecondId; }
private:
Bool m_bSceneInfoPresentFlag;
UInt m_uiSceneId;
UInt m_uiSceneTransitionType;
UInt m_uiSecondSceneId;
};
// JVT-T073 }
// JVT-V068 HRD {
class H264AVCCOMMONLIB_API BufferingPeriod :
public SEIMessage
{
public:
class H264AVCCOMMONLIB_API SchedSel
{
public:
SchedSel() : m_uiInitialCpbRemovalDelay(0), m_uiInitialCpbRemovalDelayOffset(0) {}
SchedSel& operator = (const SchedSel& rcSchedSel)
{
m_uiInitialCpbRemovalDelay = rcSchedSel.m_uiInitialCpbRemovalDelay;
m_uiInitialCpbRemovalDelayOffset = rcSchedSel.m_uiInitialCpbRemovalDelayOffset;
return *this;
}
ErrVal write( HeaderSymbolWriteIf* pcWriteIf, const HRD& rcHrd );
ErrVal read ( HeaderSymbolReadIf* pcReadIf, const HRD& rcHrd );
UInt getDelay() { return m_uiInitialCpbRemovalDelay; }
UInt getDelayOffset() { return m_uiInitialCpbRemovalDelayOffset; }
ErrVal setDelay( UInt uiInitialCpbRemovalDelay)
{
m_uiInitialCpbRemovalDelay = uiInitialCpbRemovalDelay;
return Err::m_nOK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -