?? gopencoder.h
字號:
const PictureParameterSet& rcPPSLP,
const PictureParameterSet& rcPPSHP );
ErrVal uninit ();
ErrVal addParameterSetBits ( UInt uiParameterSetBits );
Bool firstGOPCoded () { return m_bFirstGOPCoded; }
ErrVal process ( AccessUnitList& rcAccessUnitList,
PicBufferList& rcPicBufferInputList,
PicBufferList& rcPicBufferOutputList,
PicBufferList& rcPicBufferUnusedList,
Double m_aaauidSeqBits[MAX_LAYERS][MAX_TEMP_LEVELS][MAX_QUALITY_LEVELS] );
ErrVal finish ( UInt& ruiNumCodedFrames,
Double& rdOutputRate,
Double* rdOutputFramerate,
Double* rdOutputBitrate,
Double aaadBits[MAX_LAYERS][MAX_TEMP_LEVELS][MAX_QUALITY_LEVELS] );
// BUG_FIX liuhui{
ErrVal SingleLayerFinish( Double aaadBits[MAX_LAYERS][MAX_TEMP_LEVELS][MAX_QUALITY_LEVELS],
Double aaadSingleBitrate[MAX_LAYERS][MAX_TEMP_LEVELS][MAX_QUALITY_LEVELS] );
// BUG_FIX liuhui}
Int getFrameWidth () { return 16*m_uiFrameWidthInMb; }
Int getFrameHeight () { return 16*m_uiFrameHeightInMb; }
ErrVal getBaseLayerStatus ( Bool& bExists,
Bool& bMotion,
Int iPoc );
ErrVal getBaseLayerData ( IntFrame*& pcFrame,
IntFrame*& pcResidual,
MbDataCtrl*& pcMbDataCtrl,
MbDataCtrl*& pcMbDataCtrlEL, // ICU/ETRI FGS_MOT_USE
Bool& bConstrainedIPredBL,
Bool& bForCopyOnly,
Int iSpatialScalability,
Int iPoc,
Bool bMotion );
ErrVal getBaseLayerSH ( SliceHeader*& rpcSliceHeader,
Int iPoc );
UInt* getGOPBitsBase () { return m_auiCurrGOPBitsBase; }
UInt* getGOPBitsFGS () { return m_auiCurrGOPBitsFGS; }
UInt* getGOPBits () { return m_auiCurrGOPBits; }
Void setScalableLayer (UInt p) { m_uiScalableLayerId = p; }
UInt getScalableLayer () const { return m_uiScalableLayerId; }
//===== ESS =====
Int getSpatialScalabilityType() { return m_pcResizeParameters->m_iSpatialScalabilityType; }
ResizeParameters* getResizeParameters() { return m_pcResizeParameters; }
Bool getUseDiscardableUnit() { return m_bUseDiscardableUnit;} //JVT-P031
Void setDiscardableUnit( Bool b) {m_bUseDiscardableUnit = b;} //JVT-P031
Void setNonRequiredWrite ( UInt ui ) {m_uiNonRequiredWrite = ui;} //NonRequired JVT-Q066 (06-04-08)
//Bug_Fix JVT-R057{
Bool getLARDOEnable( ){ return m_bLARDOEnable; }
Void setLARDOEnable(Bool bEnable){ m_bLARDOEnable= bEnable; }
//Bug_Fix JVT-R057{
//JVT-T054{
Void setLayerCGSSNR(UInt ui) { m_uiLayerCGSSNR = ui;}
Void setQualityLevelCGSSNR(UInt ui) { m_uiQualityLevelCGSSNR = ui;}
UInt getLayerCGSSNR() { return m_uiLayerCGSSNR;}
UInt getQualityLevelCGSSNR() { return m_uiQualityLevelCGSSNR;}
Void setBaseLayerCGSSNR(UInt ui) { m_uiBaseLayerCGSSNR = ui;}
Void setBaseQualityLevelCGSSNR(UInt ui) { m_uiBaseQualityLevelCGSSNR = ui;}
UInt getBaseLayerCGSSNR() { return m_uiBaseLayerCGSSNR;}
UInt getBaseQualityLevelCGSSNR() { return m_uiBaseQualityLevelCGSSNR;}
//JVT-T054}
protected:
//===== data management =====
ErrVal xCreateData ( const SequenceParameterSet& rcSPS );
ErrVal xDeleteData ();
ErrVal xInitGOP ( PicBufferList& rcPicBufferInputList );
ErrVal xFinishGOP ( PicBufferList& rcPicBufferInputList,
PicBufferList& rcPicBufferOutputList,
PicBufferList& rcPicBufferUnusedList,
Double m_aaauidSeqBits[MAX_LAYERS][MAX_TEMP_LEVELS][MAX_QUALITY_LEVELS] );
ErrVal xInitExtBinDataAccessor ( ExtBinDataAccessor& rcExtBinDataAccessor );
ErrVal xAppendNewExtBinDataAccessor ( ExtBinDataAccessorList& rcExtBinDataAccessorList,
ExtBinDataAccessor* pcExtBinDataAccessor,
Bool bModifyDataAccessor = true );
//===== decomposition / composition =====
ErrVal xMotionEstimationStage ( UInt uiBaseLevel );
ErrVal xDecompositionStage ( UInt uiBaseLevel );
ErrVal xCompositionStage ( UInt uiBaseLevel,
PicBufferList& rcPicBufferInputList );
ErrVal xStoreReconstruction ( PicBufferList& rcPicBufferOutputList );
//===== control data initialization =====
ErrVal xSetScalingFactors ( UInt uiBaseLevel );
ErrVal xSetScalingFactors ();
ErrVal xGetListSizes ( UInt uiTemporalLevel,
UInt uiFrameIdInGOP,
UInt auiPredListSize[2] );
ErrVal xSetBaseLayerData ( UInt uiFrameIdInGOP );
ErrVal xInitReordering ( UInt uiFrameIdInGOP );
ErrVal xInitSliceHeader ( UInt uiTemporalLevel,
UInt uiFrameIdInGOP );
ErrVal xClearBufferExtensions ();
ErrVal xGetPredictionLists ( RefFrameList& rcRefList0,
RefFrameList& rcRefList1,
UInt uiBaseLevel,
UInt uiFrame,
Bool bHalfPel = false );
ErrVal xGetBQPredictionLists ( RefFrameList& rcRefList0,
RefFrameList& rcRefList1,
UInt uiBaseLevel,
UInt uiFrame );
ErrVal xGetCLRecPredictionLists ( RefFrameList& rcRefList0,
RefFrameList& rcRefList1,
UInt uiBaseLevel,
UInt uiFrame,
Bool bHalfPel = false );
ErrVal xInitBaseLayerData ( ControlData& rcControlData,
UInt uiBaseLevel, //TMM_ESS
UInt uiFrame, //TMM_ESS
Bool bMotion = false );
ErrVal xInitControlDataMotion ( UInt uiBaseLevel,
UInt uiFrame,
Bool bMotionEstimation );
ErrVal xInitControlDataLowPass ( UInt uiFrameIdInGOP,
UInt uiBaseLevel, //TMM_ESS
UInt uiFrame ); //TMM_ESS
ErrVal xInitControlDataHighPass ( UInt uiFrameIdInGOP,
UInt uiBaseLevel, //TMM_ESS
UInt uiFrame ); //TMM_ESS
ErrVal xGetConnections ( Double& rdL0Rate,
Double& rdL1Rate,
Double& rdBiRate );
//===== stage encoding =====
ErrVal xEncodeLowPassPictures ( AccessUnitList& rcAccessUnitList );
ErrVal xEncodeHighPassPictures ( AccessUnitList& rcAccessUnitList,
UInt uiBaseLevel );
//===== basic encoding =====
ErrVal xEncodeLowPassSignal ( ExtBinDataAccessorList& rcOutExtBinDataAccessorList,
ControlData& rcResidualControlData,
IntFrame* pcFrame,
IntFrame* pcRecSubband,
IntFrame* pcPredSignal,
UInt& ruiBits);
ErrVal xEncodeHighPassSignal ( ExtBinDataAccessorList& rcOutExtBinDataAccessorList,
ControlData& rcControlData,
IntFrame* pcFrame,
IntFrame* pcResidual,
IntFrame* pcPredSignal,
IntFrame* pcSRFrame, // JVT-R091
UInt& ruiBits,
UInt& ruiBitsRes );
ErrVal xEncodeFGSLayer ( ExtBinDataAccessorList& rcOutExtBinDataAccessorList,
ControlData& rcControlData,
IntFrame* pcFrame,
IntFrame* pcResidual,
IntFrame* pcPredSignal,
IntFrame* pcTempFrame,
IntFrame* pcSubband,
IntFrame* pcCLRec,
UInt uiFrameIdInGOP,
IntFrame* pcOrgFrame,
IntFrame* pcHighPassPredSignal,
RefFrameList& rcRefFrameList0,
RefFrameList& rcRefFrameList1,
UInt& ruiBits );
//===== motion estimation / compensation =====
ErrVal xMotionCompensation ( IntFrame* pcMCFrame,
RefFrameList* pcRefFrameList0,
RefFrameList* pcRefFrameList1,
MbDataCtrl* pcMbDataCtrl,
SliceHeader& rcSH );
ErrVal xMotionEstimation ( RefFrameList* pcRefFrameList0,
RefFrameList* pcRefFrameList1,
const IntFrame* pcOrigFrame,
IntFrame* pcIntraRec,
ControlData& rcControlData,
Bool bBiPredOnly,
UInt uiNumMaxIter,
// JVT-S054 (REPLACE) ->
//UInt uiIterSearchRange );
UInt uiIterSearchRange,
UInt uiFrameIdInGOP );
// JVT-S054 (REPLACE) <-
//-- JVT-R091
ErrVal xFixMCPrediction ( IntFrame* pcMCFrame,
IntFrame* pcBQFrame,
ControlData& pcCtrlData );
ErrVal xFixOrgResidual ( IntFrame* pcFrame,
IntFrame* pcOrgPred,
IntFrame* pcResidual,
IntFrame* pcSRFrame,
ControlData& pcCtrlData );
//--
//===== auxiliary functions =====
ErrVal xCalculateAndAddPSNR ( PicBufferList& rcPicBufferInputList,
UInt uiStage,
Bool bOutput );
ErrVal xFillAndUpsampleFrame ( IntFrame* rcFrame );
ErrVal xFillAndExtendFrame ( IntFrame* rcFrame );
ErrVal xZeroIntraMacroblocks ( IntFrame* pcFrame,
ControlData& pcCtrlData );
ErrVal xClipIntraMacroblocks ( IntFrame* pcFrame,
ControlData& rcCtrlData,
Bool bClipAll );
ErrVal xAddBaseLayerResidual ( ControlData& rcControlData,
IntFrame* pcFrame,
Bool bSubtract );
//===== slice header =====
ErrVal xSetRplr ( RplrBuffer& rcRplrBuffer, UIntList cFrameNumList, UInt uiCurrFrameNr );
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -