HEVC Test Model (HM)  HM-16.3
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TEncGOP Class Reference

#include <TEncGOP.h>

Collaboration diagram for TEncGOP:
Collaboration graph
[legend]

Public Member Functions

Int getGOPSize ()
 
TComList< TComPic * > * getListPic ()
 
TEncSlicegetSliceEncoder ()
 

Protected Member Functions

TEncRateCtrlgetRateCtrl ()
 
Void xResetNonNestedSEIPresentFlags ()
 
Void xResetNestedSEIPresentFlags ()
 

Private Attributes

Bool m_bLongtermTestPictureHasBeenCoded
 
Bool m_bLongtermTestPictureHasBeenCoded2
 
UInt m_numLongTermRefPicSPS
 
UInt m_ltRefPicPocLsbSps [33]
 
Bool m_ltRefPicUsedByCurrPicFlag [33]
 
Int m_iLastIDR
 
Int m_iGopSize
 
Int m_iNumPicCoded
 
Bool m_bFirst
 
Int m_iLastRecoveryPicPOC
 
TEncTopm_pcEncTop
 
TEncCfgm_pcCfg
 
TEncSlicem_pcSliceEncoder
 
TComList< TComPic * > * m_pcListPic
 
TEncEntropym_pcEntropyCoder
 
TEncCavlcm_pcCavlcCoder
 
TEncSbacm_pcSbacCoder
 
TEncBinCABACm_pcBinCABAC
 
TComLoopFilterm_pcLoopFilter
 
SEIWriter m_seiWriter
 
TEncSampleAdaptiveOffsetm_pcSAO
 
TEncRateCtrlm_pcRateCtrl
 
Bool m_bSeqFirst
 
Bool m_bRefreshPending
 
Int m_pocCRA
 
NalUnitType m_associatedIRAPType
 
Int m_associatedIRAPPOC
 
std::vector< Intm_vRVM_RP
 
UInt m_lastBPSEI
 
UInt m_totalCoded
 
UInt m_cpbRemovalDelay
 
UInt m_tl0Idx
 
UInt m_rapIdx
 
Bool m_activeParameterSetSEIPresentInAU
 
Bool m_bufferingPeriodSEIPresentInAU
 
Bool m_pictureTimingSEIPresentInAU
 
Bool m_nestedBufferingPeriodSEIPresentInAU
 
Bool m_nestedPictureTimingSEIPresentInAU
 
 TEncGOP ()
 
virtual ~TEncGOP ()
 
Void create ()
 
Void destroy ()
 
Void init (TEncTop *pcTEncTop)
 
Void compressGOP (Int iPOCLast, Int iNumPicRcvd, TComList< TComPic * > &rcListPic, TComList< TComPicYuv * > &rcListPicYuvRec, std::list< AccessUnit > &accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE)
 
Void xAttachSliceDataToNalUnit (OutputNALUnit &rNalu, TComOutputBitstream *pcBitstreamRedirect)
 
Void printOutSummary (UInt uiNumAllPicCoded, Bool isField, const Bool printMSEBasedSNR, const Bool printSequenceMSE)
 
Void preLoopFilterPicAll (TComPic *pcPic, UInt64 &ruiDist)
 
NalUnitType getNalUnitType (Int pocCurr, Int lastIdr, Bool isField)
 
Void arrangeLongtermPicturesInRPS (TComSlice *, TComList< TComPic * > &)
 
Void xInitGOP (Int iPOCLast, Int iNumPicRcvd, TComList< TComPic * > &rcListPic, TComList< TComPicYuv * > &rcListPicYuvRecOut, Bool isField)
 
Void xGetBuffer (TComList< TComPic * > &rcListPic, TComList< TComPicYuv * > &rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic *&rpcPic, TComPicYuv *&rpcPicYuvRecOut, Int pocCurr, Bool isField)
 
Void xCalculateAddPSNR (TComPic *pcPic, TComPicYuv *pcPicD, const AccessUnit &, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE)
 
Void xCalculateInterlacedAddPSNR (TComPic *pcPicOrgFirstField, TComPic *pcPicOrgSecondField, TComPicYuv *pcPicRecFirstField, TComPicYuv *pcPicRecSecondField, const AccessUnit &accessUnit, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE)
 
UInt64 xFindDistortionFrame (TComPicYuv *pcPic0, TComPicYuv *pcPic1)
 
Double xCalculateRVM ()
 
SEIActiveParameterSetsxCreateSEIActiveParameterSets (const TComSPS *sps)
 
SEIFramePackingxCreateSEIFramePacking ()
 
SEISegmentedRectFramePackingxCreateSEISegmentedRectFramePacking ()
 
SEIDisplayOrientationxCreateSEIDisplayOrientation ()
 
SEIToneMappingInfoxCreateSEIToneMappingInfo ()
 
SEITempMotionConstrainedTileSetsxCreateSEITempMotionConstrainedTileSets (const TComPPS *pps)
 
SEIKneeFunctionInfoxCreateSEIKneeFunctionInfo ()
 
SEIChromaSamplingFilterHintxCreateSEIChromaSamplingFilterHint (Bool bChromaLocInfoPresent, Int iHorFilterIndex, Int iVerFilterIdc)
 
Void xCreateLeadingSEIMessages (AccessUnit &accessUnit, const TComSPS *sps, const TComPPS *pps)
 
Int xGetFirstSeiLocation (AccessUnit &accessUnit)
 
Void applyDeblockingFilterMetric (TComPic *pcPic, UInt uiNumSlices)
 

Detailed Description

Definition at line 70 of file TEncGOP.h.

Constructor & Destructor Documentation

TEncGOP::TEncGOP ( )

Definition at line 76 of file TEncGOP.cpp.

TEncGOP::~TEncGOP ( )
virtual

Definition at line 111 of file TEncGOP.cpp.

Member Function Documentation

Void TEncGOP::applyDeblockingFilterMetric ( TComPic pcPic,
UInt  uiNumSlices 
)
protected

Definition at line 2666 of file TEncGOP.cpp.

Void TEncGOP::arrangeLongtermPicturesInRPS ( TComSlice pcSlice,
TComList< TComPic * > &  rcListPic 
)

Definition at line 2544 of file TEncGOP.cpp.

Void TEncGOP::compressGOP ( Int  iPOCLast,
Int  iNumPicRcvd,
TComList< TComPic * > &  rcListPic,
TComList< TComPicYuv * > &  rcListPicYuvRec,
std::list< AccessUnit > &  accessUnitsInGOP,
Bool  isField,
Bool  isTff,
const InputColourSpaceConversion  snr_conversion,
const Bool  printFrameMSE 
)

Definition at line 528 of file TEncGOP.cpp.

Void TEncGOP::create ( )

Create list to contain pointers to CTU start addresses of slice.

Definition at line 117 of file TEncGOP.cpp.

Void TEncGOP::destroy ( )

Definition at line 123 of file TEncGOP.cpp.

Int TEncGOP::getGOPSize ( )
inline

Definition at line 137 of file TEncGOP.h.

TComList<TComPic*>* TEncGOP::getListPic ( )
inline

Definition at line 139 of file TEncGOP.h.

NalUnitType TEncGOP::getNalUnitType ( Int  pocCurr,
Int  lastIDR,
Bool  isField 
)

Function for deciding the nal_unit_type.

Parameters
pocCurrPOC of the current picture
lastIDRPOC of the last IDR picture
isFieldtrue to indicate field coding
Returns
the NAL unit type of the picture This function checks the configuration and returns the appropriate nal_unit_type for the picture.

Definition at line 2422 of file TEncGOP.cpp.

TEncRateCtrl* TEncGOP::getRateCtrl ( )
inlineprotected

Definition at line 149 of file TEncGOP.h.

TEncSlice* TEncGOP::getSliceEncoder ( )
inline

Definition at line 144 of file TEncGOP.h.

Void TEncGOP::init ( TEncTop pcTEncTop)

Definition at line 127 of file TEncGOP.cpp.

Void TEncGOP::preLoopFilterPicAll ( TComPic pcPic,
UInt64 ruiDist 
)

Definition at line 2055 of file TEncGOP.cpp.

Void TEncGOP::printOutSummary ( UInt  uiNumAllPicCoded,
Bool  isField,
const Bool  printMSEBasedSNR,
const Bool  printSequenceMSE 
)

Definition at line 2002 of file TEncGOP.cpp.

Void TEncGOP::xAttachSliceDataToNalUnit ( OutputNALUnit rNalu,
TComOutputBitstream codedSliceData 
)

Attaches the input bitstream to the stream in the output NAL unit Updates rNalu to contain concatenated bitstream. rpcBitstreamRedirect is cleared at the end of this function call.

Parameters
codedSliceDatacontains the coded slice data (bitstream) to be concatenated to rNalu
rNalutarget NAL unit

Definition at line 2526 of file TEncGOP.cpp.

Void TEncGOP::xCalculateAddPSNR ( TComPic pcPic,
TComPicYuv pcPicD,
const AccessUnit accessUnit,
Double  dEncTime,
const InputColourSpaceConversion  snr_conversion,
const Bool  printFrameMSE 
)
protected

Definition at line 2199 of file TEncGOP.cpp.

Void TEncGOP::xCalculateInterlacedAddPSNR ( TComPic pcPicOrgFirstField,
TComPic pcPicOrgSecondField,
TComPicYuv pcPicRecFirstField,
TComPicYuv pcPicRecSecondField,
const AccessUnit accessUnit,
Double  dEncTime,
const InputColourSpaceConversion  snr_conversion,
const Bool  printFrameMSE 
)
protected

Definition at line 2328 of file TEncGOP.cpp.

Double TEncGOP::xCalculateRVM ( )
protected

Definition at line 2474 of file TEncGOP.cpp.

Void TEncGOP::xCreateLeadingSEIMessages ( AccessUnit accessUnit,
const TComSPS sps,
const TComPPS pps 
)
protected

Definition at line 406 of file TEncGOP.cpp.

SEIActiveParameterSets * TEncGOP::xCreateSEIActiveParameterSets ( const TComSPS sps)
protected

Definition at line 147 of file TEncGOP.cpp.

SEIChromaSamplingFilterHint * TEncGOP::xCreateSEIChromaSamplingFilterHint ( Bool  bChromaLocInfoPresent,
Int  iHorFilterIndex,
Int  iVerFilterIdc 
)
protected

Definition at line 353 of file TEncGOP.cpp.

SEIDisplayOrientation * TEncGOP::xCreateSEIDisplayOrientation ( )
protected

Definition at line 193 of file TEncGOP.cpp.

SEIFramePacking * TEncGOP::xCreateSEIFramePacking ( )
protected

Definition at line 159 of file TEncGOP.cpp.

SEIKneeFunctionInfo * TEncGOP::xCreateSEIKneeFunctionInfo ( )
protected

Definition at line 323 of file TEncGOP.cpp.

SEISegmentedRectFramePacking * TEncGOP::xCreateSEISegmentedRectFramePacking ( )
protected

Definition at line 184 of file TEncGOP.cpp.

SEITempMotionConstrainedTileSets * TEncGOP::xCreateSEITempMotionConstrainedTileSets ( const TComPPS pps)
protected

Definition at line 291 of file TEncGOP.cpp.

SEIToneMappingInfo * TEncGOP::xCreateSEIToneMappingInfo ( )
protected

Definition at line 202 of file TEncGOP.cpp.

UInt64 TEncGOP::xFindDistortionFrame ( TComPicYuv pcPic0,
TComPicYuv pcPic1 
)
protected

Definition at line 2134 of file TEncGOP.cpp.

Void TEncGOP::xGetBuffer ( TComList< TComPic * > &  rcListPic,
TComList< TComPicYuv * > &  rcListPicYuvRecOut,
Int  iNumPicRcvd,
Int  iTimeOffset,
TComPic *&  rpcPic,
TComPicYuv *&  rpcPicYuvRecOut,
Int  pocCurr,
Bool  isField 
)
protected

Definition at line 2090 of file TEncGOP.cpp.

Int TEncGOP::xGetFirstSeiLocation ( AccessUnit accessUnit)
protected

Function for finding the position to insert the first of APS and non-nested BP, PT, DU info SEI messages.

Parameters
accessUnitAccess Unit of the current picture This function finds the position to insert the first of APS and non-nested BP, PT, DU info SEI messages.

Definition at line 2651 of file TEncGOP.cpp.

Void TEncGOP::xInitGOP ( Int  iPOCLast,
Int  iNumPicRcvd,
TComList< TComPic * > &  rcListPic,
TComList< TComPicYuv * > &  rcListPicYuvRecOut,
Bool  isField 
)
protected

Definition at line 2072 of file TEncGOP.cpp.

Void TEncGOP::xResetNestedSEIPresentFlags ( )
inlineprotected

Definition at line 182 of file TEncGOP.h.

Void TEncGOP::xResetNonNestedSEIPresentFlags ( )
inlineprotected

Definition at line 176 of file TEncGOP.h.

Member Data Documentation

Bool TEncGOP::m_activeParameterSetSEIPresentInAU
private

Definition at line 119 of file TEncGOP.h.

Int TEncGOP::m_associatedIRAPPOC
private

Definition at line 111 of file TEncGOP.h.

NalUnitType TEncGOP::m_associatedIRAPType
private

Definition at line 110 of file TEncGOP.h.

Bool TEncGOP::m_bFirst
private

Definition at line 82 of file TEncGOP.h.

Bool TEncGOP::m_bLongtermTestPictureHasBeenCoded
private

Definition at line 74 of file TEncGOP.h.

Bool TEncGOP::m_bLongtermTestPictureHasBeenCoded2
private

Definition at line 75 of file TEncGOP.h.

Bool TEncGOP::m_bRefreshPending
private

Definition at line 108 of file TEncGOP.h.

Bool TEncGOP::m_bSeqFirst
private

Definition at line 105 of file TEncGOP.h.

Bool TEncGOP::m_bufferingPeriodSEIPresentInAU
private

Definition at line 120 of file TEncGOP.h.

UInt TEncGOP::m_cpbRemovalDelay
private

Definition at line 116 of file TEncGOP.h.

Int TEncGOP::m_iGopSize
private

Definition at line 80 of file TEncGOP.h.

Int TEncGOP::m_iLastIDR
private

Definition at line 79 of file TEncGOP.h.

Int TEncGOP::m_iLastRecoveryPicPOC
private

Definition at line 84 of file TEncGOP.h.

Int TEncGOP::m_iNumPicCoded
private

Definition at line 81 of file TEncGOP.h.

UInt TEncGOP::m_lastBPSEI
private

Definition at line 114 of file TEncGOP.h.

UInt TEncGOP::m_ltRefPicPocLsbSps[33]
private

Definition at line 77 of file TEncGOP.h.

Bool TEncGOP::m_ltRefPicUsedByCurrPicFlag[33]
private

Definition at line 78 of file TEncGOP.h.

Bool TEncGOP::m_nestedBufferingPeriodSEIPresentInAU
private

Definition at line 122 of file TEncGOP.h.

Bool TEncGOP::m_nestedPictureTimingSEIPresentInAU
private

Definition at line 123 of file TEncGOP.h.

UInt TEncGOP::m_numLongTermRefPicSPS
private

Definition at line 76 of file TEncGOP.h.

TEncBinCABAC* TEncGOP::m_pcBinCABAC
private

Definition at line 96 of file TEncGOP.h.

TEncCavlc* TEncGOP::m_pcCavlcCoder
private

Definition at line 94 of file TEncGOP.h.

TEncCfg* TEncGOP::m_pcCfg
private

Definition at line 89 of file TEncGOP.h.

TEncTop* TEncGOP::m_pcEncTop
private

Definition at line 88 of file TEncGOP.h.

TEncEntropy* TEncGOP::m_pcEntropyCoder
private

Definition at line 93 of file TEncGOP.h.

TComList<TComPic*>* TEncGOP::m_pcListPic
private

Definition at line 91 of file TEncGOP.h.

TComLoopFilter* TEncGOP::m_pcLoopFilter
private

Definition at line 97 of file TEncGOP.h.

TEncRateCtrl* TEncGOP::m_pcRateCtrl
private

Definition at line 103 of file TEncGOP.h.

TEncSampleAdaptiveOffset* TEncGOP::m_pcSAO
private

Definition at line 102 of file TEncGOP.h.

TEncSbac* TEncGOP::m_pcSbacCoder
private

Definition at line 95 of file TEncGOP.h.

TEncSlice* TEncGOP::m_pcSliceEncoder
private

Definition at line 90 of file TEncGOP.h.

Bool TEncGOP::m_pictureTimingSEIPresentInAU
private

Definition at line 121 of file TEncGOP.h.

Int TEncGOP::m_pocCRA
private

Definition at line 109 of file TEncGOP.h.

UInt TEncGOP::m_rapIdx
private

Definition at line 118 of file TEncGOP.h.

SEIWriter TEncGOP::m_seiWriter
private

Definition at line 99 of file TEncGOP.h.

UInt TEncGOP::m_tl0Idx
private

Definition at line 117 of file TEncGOP.h.

UInt TEncGOP::m_totalCoded
private

Definition at line 115 of file TEncGOP.h.

std::vector<Int> TEncGOP::m_vRVM_RP
private

Definition at line 113 of file TEncGOP.h.


The documentation for this class was generated from the following files: