📄 sei.h
字号:
};
//~JVT-W080
//SEI LSJ{
#define MAX_OPERATION_POINTS 10
class H264AVCCOMMONLIB_API ViewScalabilityInfoSei : public SEIMessage
{
protected:
ViewScalabilityInfoSei ();
~ViewScalabilityInfoSei();
public:
static ErrVal create ( ViewScalabilityInfoSei*& rpcSeiMessage);
ErrVal destroy ();
ErrVal write ( HeaderSymbolWriteIf *pcWriteIf);
ErrVal read ( HeaderSymbolReadIf *pcReadIf);
UInt getNumOperationPointsMinus1() const { return m_uiNumOperationPointsMinus1; }
UInt getOperationPointId( UInt index ) { return m_uiOperationPointId[index]; }
UInt getPriorityId( UInt index ) { return m_uiPriorityId[index]; }
UInt getTemporalId( UInt index ) { return m_uiTemporalId[index]; }
UInt getNumActiveViewsMinus1( UInt index ) { return m_uiNumActiveViewsMinus1[index]; }
UInt getViewId( UInt i, UInt j ) { return m_uiViewId[i][j]; }
Bool getProfileLevelInfoPresentFlag( UInt index ) { return m_bProfileLevelInfoPresentFlag[index]; }
Bool getBitRateInfoPresentFlag( UInt index ) { return m_bBitRateInfoPresentFlag[index]; }
Bool getFrmRateInfoPresentFlag( UInt index ) { return m_bFrmRateInfoPresentFlag[index]; }
Bool getOpDependencyInfoPresentFlag( UInt index ) { return m_bOpDependencyInfoPresentFlag[index]; }
Bool getInitParameterSetsInfoPresentFlag(UInt i) { return m_bInitParameterSetsInfoPresentFlag[i]; }
UInt getOpProfileIdc( UInt index ) { return m_uiOpProfileIdc[index]; }
Bool getOpConstraintSet0Flag( UInt index ) { return m_bOpConstraintSet0Flag[index]; }
Bool getOpConstraintSet1Flag( UInt index ) { return m_bOpConstraintSet1Flag[index]; }
Bool getOpConstraintSet2Flag( UInt index ) { return m_bOpConstraintSet2Flag[index]; }
Bool getOpConstraintSet3Flag( UInt index ) { return m_bOpConstraintSet3Flag[index]; }
UInt getOpLevelIdc( UInt index ) { return m_uiOpLevelIdc[index]; }
UInt getProfileLevelInfoSrcOpIdDelta( UInt i ) { return m_uiProfileLevelInfoSrcOpIdDelta[i]; }
UInt getAvgBitrate( UInt index ) { return m_uiAvgBitrate[index]; }
UInt getMaxBitrate( UInt index ) { return m_uiMaxBitrate[index]; }
UInt getMaxBitrateCalcWindow( UInt index ) { return m_uiMaxBitrateCalcWindow[index]; }
UInt getConstantFrmRateIdc( UInt index ) { return m_uiConstantFrmRateIdc[index]; }
UInt getAvgFrmRate( UInt index ) { return m_uiAvgFrmRate[index]; }
UInt getFrmRateInfoSrcOpIdDela( UInt index ) { return m_uiFrmRateInfoSrcOpIdDela[index]; }
UInt getNumDirectlyDependentOps( UInt index ) { return m_uiNumDirectlyDependentOps[index]; }
UInt getDirectlyDependentOpIdDeltaMinus1( UInt i, UInt j ) { return m_uiDirectlyDependentOpIdDeltaMinus1[i][j]; }
UInt getOpDependencyInfoSrcOpIdDelta( UInt index ) { return m_uiOpDependencyInfoSrcOpIdDelta[index]; }
UInt getNumInitSeqParameterSetMinus1( UInt index ) { return m_uiNumInitSeqParameterSetMinus1[index]; }
UInt getInitSeqParameterSetIdDelta( UInt i, UInt j ) { return m_uiInitSeqParameterSetIdDelta[i][j]; }
UInt getNumInitPicParameterSetMinus1( UInt index ) { return m_uiNumInitPicParameterSetMinus1[index]; }
UInt getInitPicParameterSetIdDelta( UInt i, UInt j){ return m_uiInitPicParameterSetIdDelta[i][j]; }
UInt getInitParameterSetsInfoSrcOpIdDelta( UInt index) { return m_uiInitParameterSetsInfoSrcOpIdDelta[index]; }
Void setNumOperationPointsMinus1( UInt ui ) { m_uiNumOperationPointsMinus1 = ui; }
Void setOperationPointId( UInt index, UInt ui ) { m_uiOperationPointId[index] = ui; }
Void setPriorityId( UInt index, UInt ui ) { m_uiPriorityId[index] = ui; }
Void setTemporalId( UInt index, UInt ui ) { m_uiTemporalId[index] = ui; }
// Void setNumActiveViewsMinus1( UInt index, UInt ui ) { m_uiNumActiveViewsMinus1[index] = ui; }
Void setViewId( UInt i, UInt j, UInt uiId ) { m_uiViewId[i][j] = uiId; }
Void setProfileLevelInfoPresentFlag( UInt index, Bool b ) { m_bProfileLevelInfoPresentFlag[index] = b; }
Void setBitRateInfoPresentFlag( UInt index, Bool b ) { m_bBitRateInfoPresentFlag[index] = b; }
Void setFrmRateInfoPresentFlag( UInt index, Bool b ) { m_bFrmRateInfoPresentFlag[index] = b; }
Void setOpDependencyInfoPresentFlag( UInt index, Bool b ) { m_bOpDependencyInfoPresentFlag[index] = b; }
Void setInitParameterSetsInfoPresentFlag(UInt i, Bool b ) { m_bInitParameterSetsInfoPresentFlag[i] = b; }
Void setOpProfileIdc( UInt index, UInt ui ) { m_uiOpProfileIdc[index] = ui; }
Void setOpConstraintSet0Flag( UInt index, Bool b ) { m_bOpConstraintSet0Flag[index] = b; }
Void setOpConstraintSet1Flag( UInt index, Bool b ) { m_bOpConstraintSet1Flag[index] = b; }
Void setOpConstraintSet2Flag( UInt index, Bool b ) { m_bOpConstraintSet2Flag[index] = b; }
Void setOpConstraintSet3Flag( UInt index, Bool b ) { m_bOpConstraintSet3Flag[index] = b; }
Void setOpLevelIdc( UInt index, UInt ui ) { m_uiOpLevelIdc[index] = ui; }
Void setProfileLevelInfoSrcOpIdDelta( UInt i, UInt ui ) { m_uiProfileLevelInfoSrcOpIdDelta[i] = ui; }
Void setAvgBitrate( UInt index, UInt ui ) { m_uiAvgBitrate[index] = ui; }
Void setMaxBitrate( UInt index, UInt ui ) { m_uiMaxBitrate[index] = ui; }
Void setMaxBitrateCalcWindow( UInt index, UInt ui ) { m_uiMaxBitrateCalcWindow[index] = ui; }
Void setConstantFrmRateIdc( UInt index, UInt ui ) { m_uiConstantFrmRateIdc[index] = ui; }
Void setAvgFrmRate( UInt index, UInt ui ) { m_uiAvgFrmRate[index] = ui; }
Void setFrmRateInfoSrcOpIdDela( UInt index, UInt ui ) { m_uiFrmRateInfoSrcOpIdDela[index] = ui; }
// Void setNumDirectlyDependentOps( UInt index, UInt ui ) { m_uiNumDirectlyDependentOps[index] = ui; }
Void setDirectlyDependentOpIdDeltaMinus1( UInt i, UInt j, UInt ui ) { m_uiDirectlyDependentOpIdDeltaMinus1[i][j] = ui; }
Void setOpDependencyInfoSrcOpIdDelta( UInt index, UInt ui ) { m_uiOpDependencyInfoSrcOpIdDelta[index] = ui; }
// Void setNumInitSeqParameterSetMinus1( UInt index, UInt ui ) { m_uiNumInitSeqParameterSetMinus1[index] = ui; }
Void setInitSeqParameterSetIdDelta( UInt i, UInt j, UInt ui ) { m_uiInitSeqParameterSetIdDelta[i][j] = ui; }
// Void setNumInitPicParameterSetMinus1( UInt index, UInt ui ) { m_uiNumInitPicParameterSetMinus1[index] = ui; }
Void setInitPicParameterSetIdDelta( UInt i, UInt j, UInt ui) { m_uiInitPicParameterSetIdDelta[i][j] = ui; }
Void setInitParameterSetsInfoSrcOpIdDelta( UInt index, UInt ui) { m_uiInitParameterSetsInfoSrcOpIdDelta[index] = ui; }
Void setNumActiveViewsMinus1( UInt index, UInt ui )
{
m_uiNumActiveViewsMinus1[index] = ui;
if( m_uiViewId[index] == NULL )
m_uiViewId[index] = (UInt*)malloc((ui+1)*sizeof(UInt));
}
Void setNumDirectlyDependentOps( UInt index, UInt ui )
{
m_uiNumDirectlyDependentOps[index] = ui;
if( m_uiDirectlyDependentOpIdDeltaMinus1[index] == NULL )
m_uiDirectlyDependentOpIdDeltaMinus1[index] = (UInt*)malloc(ui*sizeof(UInt));
}
Void setNumInitSeqParameterSetMinus1( UInt index, UInt ui )
{
m_uiNumInitSeqParameterSetMinus1[index] = ui;
if( m_uiInitSeqParameterSetIdDelta[index] == NULL )
m_uiInitSeqParameterSetIdDelta[index] = (UInt*)malloc((ui+1)*sizeof(UInt));
}
Void setNumInitPicParameterSetMinus1( UInt index, UInt ui )
{
m_uiNumInitPicParameterSetMinus1[index] = ui;
if( m_uiInitPicParameterSetIdDelta[index] == NULL )
m_uiInitPicParameterSetIdDelta[index] = (UInt*)malloc((ui+1)*sizeof(UInt));
}
private:
UInt m_uiNumOperationPointsMinus1;
UInt m_uiOperationPointId[MAX_OPERATION_POINTS];
UInt m_uiPriorityId[MAX_OPERATION_POINTS];
UInt m_uiTemporalId[MAX_OPERATION_POINTS];
UInt m_uiNumActiveViewsMinus1[MAX_OPERATION_POINTS];
UInt* m_uiViewId[MAX_OPERATION_POINTS];
Bool m_bProfileLevelInfoPresentFlag[MAX_OPERATION_POINTS];
Bool m_bBitRateInfoPresentFlag[MAX_OPERATION_POINTS];
Bool m_bFrmRateInfoPresentFlag[MAX_OPERATION_POINTS];
Bool m_bOpDependencyInfoPresentFlag[MAX_OPERATION_POINTS];
Bool m_bInitParameterSetsInfoPresentFlag[MAX_OPERATION_POINTS];
UInt m_uiOpProfileIdc[MAX_OPERATION_POINTS];
Bool m_bOpConstraintSet0Flag[MAX_OPERATION_POINTS];
Bool m_bOpConstraintSet1Flag[MAX_OPERATION_POINTS];
Bool m_bOpConstraintSet2Flag[MAX_OPERATION_POINTS];
Bool m_bOpConstraintSet3Flag[MAX_OPERATION_POINTS];
UInt m_uiOpLevelIdc[MAX_OPERATION_POINTS];
UInt m_uiProfileLevelInfoSrcOpIdDelta[MAX_OPERATION_POINTS];
UInt m_uiAvgBitrate[MAX_OPERATION_POINTS];
UInt m_uiMaxBitrate[MAX_OPERATION_POINTS];
UInt m_uiMaxBitrateCalcWindow[MAX_OPERATION_POINTS];
UInt m_uiConstantFrmRateIdc[MAX_OPERATION_POINTS];
UInt m_uiAvgFrmRate[MAX_OPERATION_POINTS];
UInt m_uiFrmRateInfoSrcOpIdDela[MAX_OPERATION_POINTS];
UInt m_uiNumDirectlyDependentOps[MAX_OPERATION_POINTS];
UInt* m_uiDirectlyDependentOpIdDeltaMinus1[MAX_OPERATION_POINTS];
UInt m_uiOpDependencyInfoSrcOpIdDelta[MAX_OPERATION_POINTS];
UInt m_uiNumInitSeqParameterSetMinus1[MAX_OPERATION_POINTS];
UInt* m_uiInitSeqParameterSetIdDelta[MAX_OPERATION_POINTS];
UInt m_uiNumInitPicParameterSetMinus1[MAX_OPERATION_POINTS];
UInt* m_uiInitPicParameterSetIdDelta[MAX_OPERATION_POINTS];
UInt m_uiInitParameterSetsInfoSrcOpIdDelta[MAX_OPERATION_POINTS];
};
#define MAX_PICTURES_IN_ACCESS_UNIT 50
class H264AVCCOMMONLIB_API ScalableNestingSei : public SEIMessage
{
protected:
ScalableNestingSei()
: SEIMessage(SCALABLE_NESTING_SEI)
, m_bAllPicturesInAuFlag (0)
, m_uiNumPicturesMinus1 (0)
, m_uiTemporalId (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_uiNumPicturesMinus1,
UInt m_uiTemporalId,
UInt* m_uiPicId
);
Bool getAllPicturesInAuFlag() const { return m_bAllPicturesInAuFlag; }
UInt getNumPicturesMinus1() const { return m_uiNumPicturesMinus1; }
UInt getPicId( UInt uiIndex ) { return m_uiPicId[uiIndex]; }
UInt getTemporalId() const { return m_uiTemporalId; }
SEIMessage *getSEIMessage() { return m_pcSEIMessage;}
Void setAllPicturesInAuFlag( Bool bFlag ) { m_bAllPicturesInAuFlag = bFlag; }
Void setNumPicturesMinus1( UInt uiNum ) { m_uiNumPicturesMinus1 = uiNum; }
Void setPicId( UInt uiIndex, UInt uiValue ) { m_uiPicId[uiIndex] = uiValue; }
Void setTemporalId( UInt uiValue ) { m_uiTemporalId= uiValue; }
private:
Bool m_bAllPicturesInAuFlag;
UInt m_uiNumPicturesMinus1;
UInt m_uiTemporalId;
UInt m_uiPicId[MAX_PICTURES_IN_ACCESS_UNIT];
SEIMessage *m_pcSEIMessage;
};
//full-frame snapshot SEI message is taken as en example
class H264AVCCOMMONLIB_API FullframeSnapshotSei : public SEIMessage
{
protected:
FullframeSnapshotSei() : SEIMessage(FULLFRAME_SNAPSHOT_SEI)
{}
public:
static ErrVal create( FullframeSnapshotSei*& rpcFullframeSnapshotSei );
ErrVal destroy ();
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf);
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
UInt getSnapShotId() const { return m_uiSnapShotId; }
Void setSnapShotId( UInt uiSnapShotId ) { m_uiSnapShotId = uiSnapShotId; }
private:
UInt m_uiSnapShotId;
};
#define MAX_VIEWS 100
class H264AVCCOMMONLIB_API ActiveViewInfoSei : public SEIMessage
{
protected:
ActiveViewInfoSei()
: SEIMessage(ACTIVE_VIEWINFO_SEI)
, m_bOpPresentFlag (false)
, m_uiOperationPointId (0)
, m_uiNumActiveViewsMinus1(0)
{}
public:
static ErrVal create( ActiveViewInfoSei*& rpcSeiMessage );
ErrVal destroy ();
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
Bool getOpPresentFlag() const { return m_bOpPresentFlag; }
UInt getOperationPointId() const { return m_uiOperationPointId; }
UInt getNumActiveViewsMinus1() const { return m_uiNumActiveViewsMinus1; }
UInt getViewId( UInt uiIndex ) { return m_uiViewId[uiIndex]; }
Void setOpPresentFlag( Bool bFlag ) { m_bOpPresentFlag = bFlag; }
Void setOperationPointId( UInt uiId ) { m_uiOperationPointId = uiId; }
Void setNumActiveViewsMinus1( UInt uiNum ) { m_uiNumActiveViewsMinus1 = uiNum; }
Void setViewId( UInt uiIndex, UInt uiId ) { m_uiViewId[uiIndex] = uiId; }
private:
Bool m_bOpPresentFlag;
UInt m_uiOperationPointId;
UInt m_uiNumActiveViewsMinus1;
UInt m_uiViewId[MAX_VIEWS];
};
class H264AVCCOMMONLIB_API MultiviewSceneInfoSei : public SEIMessage // SEI JVT-W060
{
protected:
MultiviewSceneInfoSei()
: SEIMessage(MULTIVIEW_SCENE_INFO_SEI)
, m_uiMaxDisparity (0)
{}
public:
static ErrVal create( MultiviewSceneInfoSei*& rpcSeiMessage );
ErrVal destroy ();
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -