📄 sei.h
字号:
UInt m_sub_region_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
UInt m_roi_id[MAX_SCALABLE_LAYERS]; //
UInt m_iroi_slice_division_type[MAX_SCALABLE_LAYERS]; //
UInt m_grid_slice_width_in_mbs_minus1[MAX_SCALABLE_LAYERS]; //
UInt m_grid_slice_height_in_mbs_minus1[MAX_SCALABLE_LAYERS]; //
UInt m_num_slice_minus1[MAX_SCALABLE_LAYERS];//
// JVT-S054 (REPLACE) ->
/*
UInt m_first_mb_in_slice[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_slice_width_in_mbs_minus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_slice_height_in_mbs_minus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_slice_id[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
*/
UInt* m_first_mb_in_slice[MAX_SCALABLE_LAYERS];//
UInt* m_slice_width_in_mbs_minus1[MAX_SCALABLE_LAYERS];//
UInt* m_slice_height_in_mbs_minus1[MAX_SCALABLE_LAYERS];//
UInt* m_slice_id[MAX_SCALABLE_LAYERS];//
// JVT-S054 (REPLACE) <-
// BUG_FIX liuhui{
UInt m_num_directly_dependent_layers[MAX_SCALABLE_LAYERS];
UInt m_directly_dependent_layer_id_delta_minus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_layer_dependency_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
UInt m_num_init_seq_parameter_set_minus1[MAX_SCALABLE_LAYERS];
UInt m_init_seq_parameter_set_id_delta[MAX_SCALABLE_LAYERS][32];
UInt m_num_init_pic_parameter_set_minus1[MAX_SCALABLE_LAYERS];
UInt m_init_pic_parameter_set_id_delta[MAX_SCALABLE_LAYERS][256];
// BUG_FIX liuhui}
UInt m_init_parameter_sets_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
//JVT-S036 lsj end
UInt m_aiNumRoi[MAX_SCALABLE_LAYERS];
UInt m_aaiRoiID[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
UInt m_aaiSGID[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
UInt m_aaiSLID[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
};
class H264AVCCOMMONLIB_API SubPicSei : public SEIMessage
{
protected:
SubPicSei ();
~SubPicSei();
public:
static ErrVal create ( SubPicSei*& rpcSeiMessage );
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
UInt getLayerId () const { return m_uiLayerId; }
Void setLayerId ( UInt uiLayerId) { m_uiLayerId = uiLayerId; }
private:
UInt m_uiLayerId;
};
class H264AVCCOMMONLIB_API MotionSEI : public SEIMessage
{
protected:
MotionSEI();
~MotionSEI();
public:
UInt m_num_slice_groups_in_set_minus1;
UInt m_slice_group_id[8];
Bool m_exact_sample_value_match_flag;
Bool m_pan_scan_rect_flag;
static ErrVal create ( MotionSEI*& rpcSeiMessage );
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
ErrVal setSliceGroupId(UInt id);
UInt getSliceGroupId(){return m_slice_group_id[0];}
};
//{{Quality level estimation and modified truncation- JVTO044 and m12007
//France Telecom R&D-(nathalie.cammas@francetelecom.com)
class H264AVCCOMMONLIB_API QualityLevelSEI : public SEIMessage
{
protected:
QualityLevelSEI ();
~QualityLevelSEI();
public:
static ErrVal create ( QualityLevelSEI*& rpcSeiMessage );
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
UInt getNumLevel() { return m_uiNumLevels;}
Void setNumLevel(UInt ui) { m_uiNumLevels = ui;}
UInt getDeltaBytesRateOfLevel(UInt ui) { return m_auiDeltaBytesRateOfLevel[ui];}
Void setDeltaBytesRateOfLevel(UInt uiIndex, UInt ui) { m_auiDeltaBytesRateOfLevel[uiIndex] = ui;}
UInt getQualityLevel(UInt ui) { return m_auiQualityLevel[ui];}
Void setQualityLevel(UInt uiIndex, UInt ui) { m_auiQualityLevel[uiIndex] = ui;}
UInt getDependencyId() { return m_uiDependencyId;}
Void setDependencyId( UInt ui) { m_uiDependencyId = ui;}
private:
UInt m_auiQualityLevel[MAX_NUM_RD_LEVELS];
UInt m_auiDeltaBytesRateOfLevel[MAX_NUM_RD_LEVELS];
UInt m_uiNumLevels;
UInt m_uiDependencyId;
};
//}}Quality level estimation and modified truncation- JVTO044 and m12007
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);
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 setLayerId ( 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 getLayerId ( 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 }
typedef MyList<SEIMessage*> MessageList;
static ErrVal read ( HeaderSymbolReadIf* pcReadIf,
MessageList& rcSEIMessageList );
static ErrVal write ( HeaderSymbolWriteIf* pcWriteIf,
HeaderSymbolWriteIf* pcWriteTestIf,
MessageList* rpcSEIMessageList );
protected:
static ErrVal xRead ( HeaderSymbolReadIf* pcReadIf,
SEIMessage*& rpcSEIMessage );
static ErrVal xWrite ( HeaderSymbolWriteIf* pcWriteIf,
HeaderSymbolWriteIf* pcWriteTestIf,
SEIMessage* pcSEIMessage );
static ErrVal xWritePayloadHeader ( HeaderSymbolWriteIf* pcWriteIf,
MessageType eMessageType,
UInt uiSize );
static ErrVal xReadPayloadHeader ( HeaderSymbolReadIf* pcReadIf,
MessageType& reMessageType,
UInt& ruiSize);
static ErrVal xCreate ( SEIMessage*& rpcSEIMessage,
MessageType eMessageType,
UInt uiSize );
public:
};
#if defined( WIN32 )
# pragma warning( default: 4251 )
#endif
H264AVC_NAMESPACE_END
#endif // !defined(AFX_SEI_H__06FFFAD0_FB36_4BF0_9392_395C7389C1F4__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -