HEVC Test Model (HM)
HM-16.18
|
CU data structure class. More...
#include <TComDataCU.h>
Private Attributes | |
TComPic * | m_pcPic |
picture class pointer More... | |
TComSlice * | m_pcSlice |
slice header pointer More... | |
UInt | m_ctuRsAddr |
CTU (also known as LCU) address in a slice (Raster-scan address, as opposed to tile-scan/encoding order). More... | |
UInt | m_absZIdxInCtu |
absolute address in a CTU. It's Z scan order More... | |
UInt | m_uiCUPelX |
CU position in a pixel (X) More... | |
UInt | m_uiCUPelY |
CU position in a pixel (Y) More... | |
UInt | m_uiNumPartition |
total number of minimum partitions in a CU More... | |
UChar * | m_puhWidth |
array of widths More... | |
UChar * | m_puhHeight |
array of heights More... | |
UChar * | m_puhDepth |
array of depths More... | |
Int | m_unitSize |
size of a "minimum partition" More... | |
Bool * | m_skipFlag |
array of skip flags More... | |
SChar * | m_pePartSize |
array of partition sizes More... | |
SChar * | m_pePredMode |
array of prediction modes More... | |
SChar * | m_crossComponentPredictionAlpha [MAX_NUM_COMPONENT] |
array of cross-component prediction alpha values More... | |
Bool * | m_CUTransquantBypass |
array of cu_transquant_bypass flags More... | |
SChar * | m_phQP |
array of QP values More... | |
UChar * | m_ChromaQpAdj |
array of chroma QP adjustments (indexed). when value = 0, cu_chroma_qp_offset_flag=0; when value>0, indicates cu_chroma_qp_offset_flag=1 and cu_chroma_qp_offset_idx=value-1 More... | |
UInt | m_codedChromaQpAdj |
UChar * | m_puhTrIdx |
array of transform indices More... | |
UChar * | m_puhTransformSkip [MAX_NUM_COMPONENT] |
array of transform skipping flags More... | |
UChar * | m_puhCbf [MAX_NUM_COMPONENT] |
array of coded block flags (CBF) More... | |
TComCUMvField | m_acCUMvField [NUM_REF_PIC_LIST_01] |
array of motion vectors. More... | |
TCoeff * | m_pcTrCoeff [MAX_NUM_COMPONENT] |
array of transform coefficient buffers (0->Y, 1->Cb, 2->Cr) More... | |
TCoeff * | m_pcArlCoeff [MAX_NUM_COMPONENT] |
ARL coefficient buffer (0->Y, 1->Cb, 2->Cr) More... | |
Bool | m_ArlCoeffIsAliasedAllocation |
ARL coefficient buffer is an alias of the global buffer and must not be free()'d. More... | |
Pel * | m_pcIPCMSample [MAX_NUM_COMPONENT] |
PCM sample buffer (0->Y, 1->Cb, 2->Cr) More... | |
TComDataCU * | m_pCtuAboveLeft |
pointer of above-left CTU. More... | |
TComDataCU * | m_pCtuAboveRight |
pointer of above-right CTU. More... | |
TComDataCU * | m_pCtuAbove |
pointer of above CTU. More... | |
TComDataCU * | m_pCtuLeft |
pointer of left CTU More... | |
TComMvField | m_cMvFieldA |
motion vector of position A More... | |
TComMvField | m_cMvFieldB |
motion vector of position B More... | |
TComMvField | m_cMvFieldC |
motion vector of position C More... | |
TComMv | m_cMvPred |
motion vector predictor More... | |
Bool * | m_pbMergeFlag |
array of merge flags More... | |
UChar * | m_puhMergeIndex |
array of merge candidate indices More... | |
Bool | m_bIsMergeAMP |
UChar * | m_puhIntraDir [MAX_NUM_CHANNEL_TYPE] |
UChar * | m_puhInterDir |
array of inter directions More... | |
SChar * | m_apiMVPIdx [NUM_REF_PIC_LIST_01] |
array of motion vector predictor candidates More... | |
SChar * | m_apiMVPNum [NUM_REF_PIC_LIST_01] |
array of number of possible motion vectors predictors More... | |
Bool * | m_pbIPCMFlag |
array of intra_pcm flags More... | |
Bool | m_tMctsMvpIsValid |
Bool | m_bDecSubCu |
indicates decoder-mode More... | |
Double | m_dTotalCost |
sum of partition RD costs More... | |
Distortion | m_uiTotalDistortion |
sum of partition distortion More... | |
UInt | m_uiTotalBits |
sum of partition bits More... | |
UInt | m_uiTotalBins |
sum of partition bins More... | |
SChar | m_codedQP |
UChar * | m_explicitRdpcmMode [MAX_NUM_COMPONENT] |
Stores the explicit RDPCM mode for all TUs belonging to this CU. More... | |
Bool | xAddMVPCandUnscaled (AMVPInfo &info, const RefPicList eRefPicList, const Int iRefIdx, const UInt uiPartUnitIdx, const MVP_DIR eDir) const |
adds a single possible motion vector predictor candidate More... | |
Bool | xAddMVPCandWithScaling (AMVPInfo &info, const RefPicList eRefPicList, const Int iRefIdx, const UInt uiPartUnitIdx, const MVP_DIR eDir) const |
Void | deriveRightBottomIdx (UInt uiPartIdx, UInt &ruiPartIdxRB) const |
Bool | xGetColMVP (const RefPicList eRefPicList, const Int ctuRsAddr, const Int partUnitIdx, TComMv &rcMv, const Int refIdx) const |
Void | xDeriveCenterIdx (UInt uiPartIdx, UInt &ruiPartIdxCenter) const |
static Int | xGetDistScaleFactor (Int iCurrPOC, Int iCurrRefPOC, Int iColPOC, Int iColRefPOC) |
compute scaling factor from POC difference More... | |
TComDataCU () | |
virtual | ~TComDataCU () |
Void | create (ChromaFormat chromaFormatIDC, UInt uiNumPartition, UInt uiWidth, UInt uiHeight, Bool bDecSubCu, Int unitSize, TCoeff *pParentARLBuffer=0) |
Void | destroy () |
Void | initCtu (TComPic *pcPic, UInt ctuRsAddr) |
Void | initEstData (const UInt uiDepth, const Int qp, const Bool bTransquantBypass) |
Void | initSubCU (TComDataCU *pcCU, UInt uiPartUnitIdx, UInt uiDepth, Int qp) |
Void | setOutsideCUPart (UInt uiAbsPartIdx, UInt uiDepth) |
Void | copySubCU (TComDataCU *pcCU, UInt uiPartUnitIdx) |
Void | copyInterPredInfoFrom (TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefPicList) |
Void | copyPartFrom (TComDataCU *pcCU, UInt uiPartUnitIdx, UInt uiDepth) |
Void | copyToPic (UChar uiDepth) |
Void | setDepthSubParts (UInt uiDepth, UInt uiAbsPartIdx) |
Bool | isLastColumnCTUInTile () const |
Void | setPartSizeSubParts (PartSize eMode, UInt uiAbsPartIdx, UInt uiDepth) |
Void | setCUTransquantBypassSubParts (Bool flag, UInt uiAbsPartIdx, UInt uiDepth) |
Void | setSkipFlagSubParts (Bool skip, UInt absPartIdx, UInt depth) |
Void | setPredModeSubParts (PredMode eMode, UInt uiAbsPartIdx, UInt uiDepth) |
Void | setSizeSubParts (UInt uiWidth, UInt uiHeight, UInt uiAbsPartIdx, UInt uiDepth) |
Void | setQPSubParts (Int qp, UInt uiAbsPartIdx, UInt uiDepth) |
Int | getLastValidPartIdx (Int iAbsPartIdx) const |
SChar | getLastCodedQP (UInt uiAbsPartIdx) const |
Void | setQPSubCUs (Int qp, UInt absPartIdx, UInt depth, Bool &foundNonZeroCbf) |
Void | setChromaQpAdjSubParts (UChar val, Int absPartIdx, Int depth) |
Bool | isLosslessCoded (UInt absPartIdx) const |
Void | setTrIdxSubParts (UInt uiTrIdx, UInt uiAbsPartIdx, UInt uiDepth) |
Void | setTransformSkipSubParts (UInt useTransformSkip, ComponentID compID, UInt uiAbsPartIdx, UInt uiDepth) |
Void | setTransformSkipSubParts (const UInt useTransformSkip[MAX_NUM_COMPONENT], UInt uiAbsPartIdx, UInt uiDepth) |
Void | setExplicitRdpcmModePartRange (UInt rdpcmMode, ComponentID compID, UInt uiAbsPartIdx, UInt uiCoveredPartIdxes) |
Void | setCrossComponentPredictionAlphaPartRange (SChar alphaValue, ComponentID compID, UInt uiAbsPartIdx, UInt uiCoveredPartIdxes) |
Void | setTransformSkipPartRange (UInt useTransformSkip, ComponentID compID, UInt uiAbsPartIdx, UInt uiCoveredPartIdxes) |
UInt | getQuadtreeTULog2MinSizeInCU (UInt uiIdx) const |
Void | clearCbf (UInt uiIdx, ComponentID eType, UInt uiNumParts) |
UChar | getQtRootCbf (UInt uiIdx) const |
Void | setCbfSubParts (const UInt uiCbf[MAX_NUM_COMPONENT], UInt uiAbsPartIdx, UInt uiDepth) |
Void | setCbfSubParts (UInt uiCbf, ComponentID compID, UInt uiAbsPartIdx, UInt uiDepth) |
Void | setCbfSubParts (UInt uiCbf, ComponentID compID, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth) |
Void | setCbfPartRange (UInt uiCbf, ComponentID compID, UInt uiAbsPartIdx, UInt uiCoveredPartIdxes) |
Void | bitwiseOrCbfPartRange (UInt uiCbf, ComponentID compID, UInt uiAbsPartIdx, UInt uiCoveredPartIdxes) |
Void | setMergeFlagSubParts (Bool bMergeFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth) |
Void | setMergeIndexSubParts (UInt uiMergeIndex, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth) |
template<typename T > | |
Void | setSubPart (T bParameter, T *pbBaseCtu, UInt uiCUAddr, UInt uiCUDepth, UInt uiPUIdx) |
Void | setIntraDirSubParts (const ChannelType channelType, const UInt uiDir, const UInt uiAbsPartIdx, const UInt uiDepth) |
Void | setInterDirSubParts (UInt uiDir, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth) |
Void | setIPCMFlagSubParts (Bool bIpcmFlag, UInt uiAbsPartIdx, UInt uiDepth) |
Void | getPartIndexAndSize (UInt uiPartIdx, UInt &ruiPartAddr, Int &riWidth, Int &riHeight) const |
UChar | getNumPartitions (const UInt uiAbsPartIdx=0) const |
Bool | isFirstAbsZorderIdxInDepth (UInt uiAbsPartIdx, UInt uiDepth) const |
Void | fillMvpCand (const UInt uiPartIdx, const UInt uiPartAddr, const RefPicList eRefPicList, const Int iRefIdx, AMVPInfo *pInfo) const |
Bool | isDiffMER (Int xN, Int yN, Int xP, Int yP) const |
Void | getPartPosition (UInt partIdx, Int &xP, Int &yP, Int &nPSW, Int &nPSH) const |
Void | setMVPIdxSubParts (Int iMVPIdx, RefPicList eRefPicList, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth) |
Void | setMVPNumSubParts (Int iMVPNum, RefPicList eRefPicList, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth) |
Void | clipMv (TComMv &rcMv) const |
Void | compressMV () |
Bool | CUIsFromSameTile (const TComDataCU *pCU) const |
Bool | CUIsFromSameSliceAndTile (const TComDataCU *pCU) const |
Bool | CUIsFromSameSliceTileAndWavefrontRow (const TComDataCU *pCU) const |
Bool | isLastSubCUOfCtu (const UInt absPartIdx) const |
const TComDataCU * | getPULeft (UInt &uiLPartUnitIdx, UInt uiCurrPartUnitIdx, Bool bEnforceSliceRestriction=true, Bool bEnforceTileRestriction=true) const |
const TComDataCU * | getPUAbove (UInt &uiAPartUnitIdx, UInt uiCurrPartUnitIdx, Bool bEnforceSliceRestriction=true, Bool planarAtCTUBoundary=false, Bool bEnforceTileRestriction=true) const |
const TComDataCU * | getPUAboveLeft (UInt &uiALPartUnitIdx, UInt uiCurrPartUnitIdx, Bool bEnforceSliceRestriction=true) const |
const TComDataCU * | getQpMinCuLeft (UInt &uiLPartUnitIdx, UInt uiCurrAbsIdxInCtu) const |
const TComDataCU * | getQpMinCuAbove (UInt &uiAPartUnitIdx, UInt uiCurrAbsIdxInCtu) const |
const TComDataCU * | getPUAboveRight (UInt &uiARPartUnitIdx, UInt uiCurrPartUnitIdx, UInt uiPartUnitOffset=1, Bool bEnforceSliceRestriction=true) const |
returns CU and part index of the PU above the top row of the current uiCurrPartUnitIdx of the CU, at a horizontal offset (to the right) of uiPartUnitOffset (in parts) More... | |
const TComDataCU * | getPUBelowLeft (UInt &uiBLPartUnitIdx, UInt uiCurrPartUnitIdx, UInt uiPartUnitOffset=1, Bool bEnforceSliceRestriction=true) const |
returns CU and part index of the PU left of the lefthand column of the current uiCurrPartUnitIdx of the CU, at a vertical offset (below) of uiPartUnitOffset (in parts) More... | |
SChar | getRefQP (UInt uiCurrAbsIdxInCtu) const |
Void | deriveLeftRightTopIdx (UInt uiPartIdx, UInt &ruiPartIdxLT, UInt &ruiPartIdxRT) const |
Void | deriveLeftBottomIdx (UInt uiPartIdx, UInt &ruiPartIdxLB) const |
Bool | hasEqualMotion (UInt uiAbsPartIdx, const TComDataCU *pcCandCU, UInt uiCandAbsPartIdx) const |
Void | getInterMergeCandidates (UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField *pcMFieldNeighbours, UChar *puhInterDirNeighbours, Int &numValidMergeCand, UInt &numSpatialMergeCandidates, Int mrgCandIdx=-1) const |
Construct a list of merging candidates. More... | |
Void | deriveLeftRightTopIdxGeneral (UInt uiAbsPartIdx, UInt uiPartIdx, UInt &ruiPartIdxLT, UInt &ruiPartIdxRT) const |
Void | deriveLeftBottomIdxGeneral (UInt uiAbsPartIdx, UInt uiPartIdx, UInt &ruiPartIdxLB) const |
Bool | isSkipped (UInt uiPartIdx) const |
returns true, if the partiton is skipped More... | |
Bool | isBipredRestriction (UInt puIdx) const |
UInt | getIntraSizeIdx (UInt uiAbsPartIdx) const |
Void | getAllowedChromaDir (UInt uiAbsPartIdx, UInt *uiModeList) const |
Void | getIntraDirPredictor (UInt uiAbsPartIdx, Int uiIntraDirPred[NUM_MOST_PROBABLE_MODES], const ComponentID compID, Int *piMode=0) const |
UInt | getCtxSplitFlag (UInt uiAbsPartIdx, UInt uiDepth) const |
UInt | getCtxQtCbf (TComTU &rTu, const ChannelType chType) const |
UInt | getCtxSkipFlag (UInt uiAbsPartIdx) const |
UInt | getCtxInterDir (UInt uiAbsPartIdx) const |
UInt | getCoefScanIdx (const UInt uiAbsPartIdx, const UInt uiWidth, const UInt uiHeight, const ComponentID compID) const |
static Void | getMvField (const TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefPicList, TComMvField &rcMvField) |
CU data structure class.
Definition at line 64 of file TComDataCU.h.
|
virtual |
Definition at line 105 of file TComDataCU.cpp.
Void TComDataCU::bitwiseOrCbfPartRange | ( | UInt | uiCbf, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiCoveredPartIdxes | ||
) |
Definition at line 1568 of file TComDataCU.cpp.
Void TComDataCU::clearCbf | ( | UInt | uiIdx, |
ComponentID | eType, | ||
UInt | uiNumParts | ||
) |
Definition at line 2806 of file TComDataCU.cpp.
Definition at line 2775 of file TComDataCU.cpp.
Void TComDataCU::compressMV | ( | ) |
Definition at line 3125 of file TComDataCU.cpp.
Void TComDataCU::copyInterPredInfoFrom | ( | TComDataCU * | pcCU, |
UInt | uiAbsPartIdx, | ||
RefPicList | eRefPicList | ||
) |
Definition at line 782 of file TComDataCU.cpp.
Void TComDataCU::copyPartFrom | ( | TComDataCU * | pcCU, |
UInt | uiPartUnitIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 821 of file TComDataCU.cpp.
Void TComDataCU::copySubCU | ( | TComDataCU * | pcCU, |
UInt | uiPartUnitIdx | ||
) |
Definition at line 700 of file TComDataCU.cpp.
Definition at line 906 of file TComDataCU.cpp.
Void TComDataCU::create | ( | ChromaFormat | chromaFormatIDC, |
UInt | uiNumPartition, | ||
UInt | uiWidth, | ||
UInt | uiHeight, | ||
Bool | bDecSubCu, | ||
Int | unitSize, | ||
TCoeff * | pParentARLBuffer = 0 |
||
) |
Definition at line 109 of file TComDataCU.cpp.
|
inline |
Definition at line 403 of file TComDataCU.h.
Bool TComDataCU::CUIsFromSameSliceAndTile | ( | const TComDataCU * | pCU | ) | const |
Definition at line 378 of file TComDataCU.cpp.
Bool TComDataCU::CUIsFromSameSliceTileAndWavefrontRow | ( | const TComDataCU * | pCU | ) | const |
Definition at line 387 of file TComDataCU.cpp.
Bool TComDataCU::CUIsFromSameTile | ( | const TComDataCU * | pCU | ) | const |
Definition at line 371 of file TComDataCU.cpp.
Definition at line 2043 of file TComDataCU.cpp.
Void TComDataCU::deriveLeftBottomIdxGeneral | ( | UInt | uiAbsPartIdx, |
UInt | uiPartIdx, | ||
UInt & | ruiPartIdxLB | ||
) | const |
Definition at line 1956 of file TComDataCU.cpp.
Void TComDataCU::deriveLeftRightTopIdx | ( | UInt | uiPartIdx, |
UInt & | ruiPartIdxLT, | ||
UInt & | ruiPartIdxRT | ||
) | const |
Definition at line 2003 of file TComDataCU.cpp.
Void TComDataCU::deriveLeftRightTopIdxGeneral | ( | UInt | uiAbsPartIdx, |
UInt | uiPartIdx, | ||
UInt & | ruiPartIdxLT, | ||
UInt & | ruiPartIdxRT | ||
) | const |
Definition at line 1907 of file TComDataCU.cpp.
Derive the partition index of neighbouring bottom right block
[in] | uiPartIdx | current partition index |
[out] | ruiPartIdxRB | partition index of neighbouring bottom right block |
Definition at line 2083 of file TComDataCU.cpp.
Void TComDataCU::destroy | ( | ) |
Definition at line 208 of file TComDataCU.cpp.
Void TComDataCU::fillMvpCand | ( | const UInt | partIdx, |
const UInt | partAddr, | ||
const RefPicList | eRefPicList, | ||
const Int | refIdx, | ||
AMVPInfo * | pInfo | ||
) | const |
Constructs a list of candidates for AMVP (See specification, section "Derivation process for motion vector predictor candidates")
uiPartIdx | |
uiPartAddr | |
eRefPicList | |
iRefIdx | |
pInfo |
variable name from specification; true when the PUs below left or left are available (availableA0 || availableA1).
Definition at line 2614 of file TComDataCU.cpp.
Get allowed chroma intra modes
[in] | uiAbsPartIdx | |
[out] | uiModeList | pointer to chroma intra modes array |
Definition at line 1334 of file TComDataCU.cpp.
|
inline |
Definition at line 303 of file TComDataCU.h.
|
inline |
Definition at line 307 of file TComDataCU.h.
|
inline |
Definition at line 308 of file TComDataCU.h.
|
inline |
Definition at line 309 of file TComDataCU.h.
|
inline |
array of chroma QP adjustments (indexed). when value = 0, cu_chroma_qp_offset_flag=0; when value>0, indicates cu_chroma_qp_offset_flag=1 and cu_chroma_qp_offset_idx=value-1
Definition at line 268 of file TComDataCU.h.
When value = 0, cu_chroma_qp_offset_flag=0; when value>0, indicates cu_chroma_qp_offset_flag=1 and cu_chroma_qp_offset_idx=value-1.
Definition at line 269 of file TComDataCU.h.
|
inline |
Definition at line 273 of file TComDataCU.h.
|
inline |
Definition at line 266 of file TComDataCU.h.
|
inline |
Definition at line 300 of file TComDataCU.h.
UInt TComDataCU::getCoefScanIdx | ( | const UInt | uiAbsPartIdx, |
const UInt | uiWidth, | ||
const UInt | uiHeight, | ||
const ComponentID | compID | ||
) | const |
Definition at line 3150 of file TComDataCU.cpp.
|
inline |
Definition at line 242 of file TComDataCU.h.
|
inline |
Definition at line 243 of file TComDataCU.h.
|
inline |
Definition at line 400 of file TComDataCU.h.
|
inline |
Definition at line 401 of file TComDataCU.h.
|
inline |
Definition at line 402 of file TComDataCU.h.
|
inline |
Definition at line 399 of file TComDataCU.h.
|
inline |
Definition at line 204 of file TComDataCU.h.
|
inline |
Definition at line 205 of file TComDataCU.h.
Definition at line 1522 of file TComDataCU.cpp.
UInt TComDataCU::getCtxQtCbf | ( | TComTU & | rTu, |
const ChannelType | chType | ||
) | const |
Definition at line 1463 of file TComDataCU.cpp.
Definition at line 1505 of file TComDataCU.cpp.
Definition at line 1447 of file TComDataCU.cpp.
|
inline |
Definition at line 297 of file TComDataCU.h.
|
inline |
Definition at line 298 of file TComDataCU.h.
|
inline |
Definition at line 207 of file TComDataCU.h.
|
inline |
Definition at line 208 of file TComDataCU.h.
|
inline |
Definition at line 245 of file TComDataCU.h.
Definition at line 246 of file TComDataCU.h.
|
inline |
Definition at line 210 of file TComDataCU.h.
Definition at line 211 of file TComDataCU.h.
|
inline |
Definition at line 286 of file TComDataCU.h.
|
inline |
Definition at line 287 of file TComDataCU.h.
|
inline |
Definition at line 252 of file TComDataCU.h.
Definition at line 253 of file TComDataCU.h.
|
inline |
Definition at line 350 of file TComDataCU.h.
Definition at line 351 of file TComDataCU.h.
Void TComDataCU::getInterMergeCandidates | ( | UInt | uiAbsPartIdx, |
UInt | uiPUIdx, | ||
TComMvField * | pcMFieldNeighbours, | ||
UChar * | puhInterDirNeighbours, | ||
Int & | numValidMergeCand, | ||
UInt & | numSpatialMergeCandidates, | ||
Int | mrgCandIdx = -1 |
||
) | const |
Construct a list of merging candidates.
Definition at line 2143 of file TComDataCU.cpp.
|
inline |
Definition at line 342 of file TComDataCU.h.
|
inline |
Definition at line 343 of file TComDataCU.h.
Void TComDataCU::getIntraDirPredictor | ( | UInt | uiAbsPartIdx, |
Int | uiIntraDirPred[NUM_MOST_PROBABLE_MODES], | ||
const ComponentID | compID, | ||
Int * | piMode = 0 |
||
) | const |
Get most probable intra modes
uiAbsPartIdx | partition index |
uiIntraDirPred | pointer to the array for MPM storage |
compID | colour component ID |
piMode | it is set with MPM mode in case both MPM are equal. It is used to restrict RD search at encode side. |
Definition at line 1362 of file TComDataCU.cpp.
Definition at line 2791 of file TComDataCU.cpp.
|
inline |
Definition at line 354 of file TComDataCU.h.
Definition at line 355 of file TComDataCU.h.
Definition at line 1282 of file TComDataCU.cpp.
Definition at line 1270 of file TComDataCU.cpp.
|
inline |
Definition at line 339 of file TComDataCU.h.
|
inline |
Definition at line 325 of file TComDataCU.h.
Definition at line 326 of file TComDataCU.h.
|
inline |
Definition at line 330 of file TComDataCU.h.
Definition at line 331 of file TComDataCU.h.
|
static |
Definition at line 1894 of file TComDataCU.cpp.
|
inline |
Definition at line 378 of file TComDataCU.h.
|
inline |
Definition at line 379 of file TComDataCU.h.
|
inline |
Definition at line 382 of file TComDataCU.h.
|
inline |
Definition at line 383 of file TComDataCU.h.
Definition at line 390 of file TComDataCU.h.
Definition at line 391 of file TComDataCU.h.
Definition at line 389 of file TComDataCU.h.
Definition at line 1832 of file TComDataCU.cpp.
Void TComDataCU::getPartIndexAndSize | ( | UInt | uiPartIdx, |
UInt & | ruiPartAddr, | ||
Int & | riWidth, | ||
Int & | riHeight | ||
) | const |
Definition at line 1853 of file TComDataCU.cpp.
|
inline |
Definition at line 226 of file TComDataCU.h.
Definition at line 227 of file TComDataCU.h.
Calculate the location of upper-left corner pixel and size of the current PU.
partIdx | PU index within a CU |
xP,yP | location of the upper-left corner pixel of the current PU |
nPSW,nPSH | size of the current PU |
Definition at line 2546 of file TComDataCU.cpp.
|
inline |
Definition at line 305 of file TComDataCU.h.
|
inline |
Definition at line 200 of file TComDataCU.h.
|
inline |
Definition at line 201 of file TComDataCU.h.
|
inline |
Definition at line 237 of file TComDataCU.h.
Definition at line 238 of file TComDataCU.h.
const TComDataCU * TComDataCU::getPUAbove | ( | UInt & | uiAPartUnitIdx, |
UInt | uiCurrPartUnitIdx, | ||
Bool | bEnforceSliceRestriction = true , |
||
Bool | planarAtCTUBoundary = false , |
||
Bool | bEnforceTileRestriction = true |
||
) | const |
Definition at line 1017 of file TComDataCU.cpp.
const TComDataCU * TComDataCU::getPUAboveLeft | ( | UInt & | uiALPartUnitIdx, |
UInt | uiCurrPartUnitIdx, | ||
Bool | bEnforceSliceRestriction = true |
||
) | const |
Definition at line 1055 of file TComDataCU.cpp.
const TComDataCU * TComDataCU::getPUAboveRight | ( | UInt & | uiARPartUnitIdx, |
UInt | uiCurrPartUnitIdx, | ||
UInt | uiPartUnitOffset = 1 , |
||
Bool | bEnforceSliceRestriction = true |
||
) | const |
returns CU and part index of the PU above the top row of the current uiCurrPartUnitIdx of the CU, at a horizontal offset (to the right) of uiPartUnitOffset (in parts)
Definition at line 1146 of file TComDataCU.cpp.
const TComDataCU * TComDataCU::getPUBelowLeft | ( | UInt & | uiBLPartUnitIdx, |
UInt | uiCurrPartUnitIdx, | ||
UInt | uiPartUnitOffset = 1 , |
||
Bool | bEnforceSliceRestriction = true |
||
) | const |
returns CU and part index of the PU left of the lefthand column of the current uiCurrPartUnitIdx of the CU, at a vertical offset (below) of uiPartUnitOffset (in parts)
Definition at line 1102 of file TComDataCU.cpp.
const TComDataCU * TComDataCU::getPULeft | ( | UInt & | uiLPartUnitIdx, |
UInt | uiCurrPartUnitIdx, | ||
Bool | bEnforceSliceRestriction = true , |
||
Bool | bEnforceTileRestriction = true |
||
) | const |
Definition at line 985 of file TComDataCU.cpp.
|
inline |
Definition at line 258 of file TComDataCU.h.
Definition at line 259 of file TComDataCU.h.
const TComDataCU * TComDataCU::getQpMinCuAbove | ( | UInt & | uiAPartUnitIdx, |
UInt | uiCurrAbsIdxInCtu | ||
) | const |
Get Above QpMinCu
uiAPartUnitIdx | |
uiCurrAbsIdxInCtu |
Definition at line 1233 of file TComDataCU.cpp.
const TComDataCU * TComDataCU::getQpMinCuLeft | ( | UInt & | uiLPartUnitIdx, |
UInt | uiCurrAbsIdxInCtu | ||
) | const |
Get left QpMinCu
uiLPartUnitIdx | |
uiCurrAbsIdxInCtu |
Definition at line 1206 of file TComDataCU.cpp.
Definition at line 1528 of file TComDataCU.cpp.
Definition at line 1478 of file TComDataCU.cpp.
Get reference QP from left QpMinCu or latest coded QP
uiCurrAbsIdxInCtu |
Definition at line 1261 of file TComDataCU.cpp.
|
inline |
Definition at line 232 of file TComDataCU.h.
Definition at line 233 of file TComDataCU.h.
|
inline |
Definition at line 202 of file TComDataCU.h.
|
inline |
Definition at line 203 of file TComDataCU.h.
|
inline |
Definition at line 218 of file TComDataCU.h.
|
inline |
Definition at line 474 of file TComDataCU.h.
|
inline |
Definition at line 481 of file TComDataCU.h.
|
inline |
Definition at line 479 of file TComDataCU.h.
|
inline |
Definition at line 480 of file TComDataCU.h.
|
inline |
Definition at line 482 of file TComDataCU.h.
|
inline |
Definition at line 277 of file TComDataCU.h.
Definition at line 278 of file TComDataCU.h.
|
inline |
Definition at line 281 of file TComDataCU.h.
|
inline |
Definition at line 282 of file TComDataCU.h.
|
inline |
Definition at line 248 of file TComDataCU.h.
Definition at line 249 of file TComDataCU.h.
|
inline |
Definition at line 206 of file TComDataCU.h.
Bool TComDataCU::hasEqualMotion | ( | UInt | uiAbsPartIdx, |
const TComDataCU * | pcCandCU, | ||
UInt | uiCandAbsPartIdx | ||
) | const |
Definition at line 2119 of file TComDataCU.cpp.
Initialize top-level CU: create internal buffers and set initial values before encoding the CTU.
pcPic | picture (TComPic) class pointer |
ctuRsAddr | CTU address in raster scan order |
Definition at line 422 of file TComDataCU.cpp.
Initialize prediction data with enabling sub-CTU-level delta QP.
uiDepth | depth of the current CU |
qp | qp for the current CU |
bTransquantBypass | true for transquant bypass |
Definition at line 525 of file TComDataCU.cpp.
Void TComDataCU::initSubCU | ( | TComDataCU * | pcCU, |
UInt | uiPartUnitIdx, | ||
UInt | uiDepth, | ||
Int | qp | ||
) |
Definition at line 596 of file TComDataCU.cpp.
Definition at line 2760 of file TComDataCU.cpp.
Check whether the current PU and a spatial neighboring PU are in a same ME region.
xN,yN | location of the upper-left corner pixel of a neighboring PU |
xP,yP | location of the upper-left corner pixel of the current PU |
Definition at line 2526 of file TComDataCU.cpp.
Definition at line 1584 of file TComDataCU.cpp.
Definition at line 451 of file TComDataCU.h.
Definition at line 450 of file TComDataCU.h.
Bool TComDataCU::isLastColumnCTUInTile | ( | ) | const |
Definition at line 3210 of file TComDataCU.cpp.
Definition at line 393 of file TComDataCU.cpp.
Check whether the CU is coded in lossless coding mode.
absPartIdx |
Definition at line 1322 of file TComDataCU.cpp.
Definition at line 290 of file TComDataCU.h.
returns true, if the partiton is skipped
Test whether the block at uiPartIdx is skipped.
uiPartIdx | Partition index |
Definition at line 2828 of file TComDataCU.cpp.
|
inline |
Definition at line 310 of file TComDataCU.h.
Void TComDataCU::setCbfPartRange | ( | UInt | uiCbf, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiCoveredPartIdxes | ||
) |
Definition at line 1563 of file TComDataCU.cpp.
Void TComDataCU::setCbfSubParts | ( | const UInt | uiCbf[MAX_NUM_COMPONENT], |
UInt | uiAbsPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1536 of file TComDataCU.cpp.
Void TComDataCU::setCbfSubParts | ( | UInt | uiCbf, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1545 of file TComDataCU.cpp.
Void TComDataCU::setCbfSubParts | ( | UInt | uiCbf, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiPartIdx, | ||
UInt | uiDepth | ||
) |
Sets a coded block flag for all sub-partitions of a partition
uiCbf | The value of the coded block flag to be set |
compID | |
uiAbsPartIdx | |
uiPartIdx | |
uiDepth |
Definition at line 1558 of file TComDataCU.cpp.
When val = 0, cu_chroma_qp_offset_flag=0; when val>0, indicates cu_chroma_qp_offset_flag=1 and cu_chroma_qp_offset_idx=val-1.
Definition at line 270 of file TComDataCU.h.
Definition at line 1613 of file TComDataCU.cpp.
Definition at line 272 of file TComDataCU.h.
Definition at line 265 of file TComDataCU.h.
Void TComDataCU::setCrossComponentPredictionAlphaPartRange | ( | SChar | alphaValue, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiCoveredPartIdxes | ||
) |
Definition at line 1814 of file TComDataCU.cpp.
Definition at line 1596 of file TComDataCU.cpp.
Definition at line 212 of file TComDataCU.h.
Definition at line 1578 of file TComDataCU.cpp.
Void TComDataCU::setExplicitRdpcmModePartRange | ( | UInt | rdpcmMode, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiCoveredPartIdxes | ||
) |
Definition at line 1819 of file TComDataCU.cpp.
Definition at line 254 of file TComDataCU.h.
Definition at line 352 of file TComDataCU.h.
Void TComDataCU::setInterDirSubParts | ( | UInt | uiDir, |
UInt | uiAbsPartIdx, | ||
UInt | uiPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1769 of file TComDataCU.cpp.
Void TComDataCU::setIntraDirSubParts | ( | const ChannelType | channelType, |
const UInt | uiDir, | ||
const UInt | uiAbsPartIdx, | ||
const UInt | uiDepth | ||
) |
Definition at line 1654 of file TComDataCU.cpp.
Definition at line 356 of file TComDataCU.h.
Set a I_PCM flag for all sub-partitions of a partition.
bIpcmFlag | I_PCM flag |
uiAbsPartIdx | patition index |
uiDepth | CU depth |
Definition at line 2817 of file TComDataCU.cpp.
Definition at line 338 of file TComDataCU.h.
Definition at line 327 of file TComDataCU.h.
Void TComDataCU::setMergeFlagSubParts | ( | Bool | bMergeFlag, |
UInt | uiAbsPartIdx, | ||
UInt | uiPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1759 of file TComDataCU.cpp.
Definition at line 332 of file TComDataCU.h.
Void TComDataCU::setMergeIndexSubParts | ( | UInt | uiMergeIndex, |
UInt | uiAbsPartIdx, | ||
UInt | uiPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1764 of file TComDataCU.cpp.
|
inline |
Definition at line 377 of file TComDataCU.h.
Void TComDataCU::setMVPIdxSubParts | ( | Int | iMVPIdx, |
RefPicList | eRefPicList, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1774 of file TComDataCU.cpp.
|
inline |
Definition at line 381 of file TComDataCU.h.
Void TComDataCU::setMVPNumSubParts | ( | Int | iMVPNum, |
RefPicList | eRefPicList, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1779 of file TComDataCU.cpp.
Definition at line 684 of file TComDataCU.cpp.
Definition at line 228 of file TComDataCU.h.
Definition at line 1590 of file TComDataCU.cpp.
Definition at line 239 of file TComDataCU.h.
Definition at line 1607 of file TComDataCU.cpp.
Definition at line 260 of file TComDataCU.h.
Definition at line 1619 of file TComDataCU.cpp.
Definition at line 1648 of file TComDataCU.cpp.
Definition at line 1824 of file TComDataCU.cpp.
Definition at line 234 of file TComDataCU.h.
Definition at line 1601 of file TComDataCU.cpp.
Void TComDataCU::setSubPart | ( | T | bParameter, |
T * | pbBaseCtu, | ||
UInt | uiCUAddr, | ||
UInt | uiCUDepth, | ||
UInt | uiPUIdx | ||
) |
Definition at line 1661 of file TComDataCU.cpp.
Definition at line 217 of file TComDataCU.h.
Void TComDataCU::setTransformSkipPartRange | ( | UInt | useTransformSkip, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiCoveredPartIdxes | ||
) |
Definition at line 1809 of file TComDataCU.cpp.
Void TComDataCU::setTransformSkipSubParts | ( | UInt | useTransformSkip, |
ComponentID | compID, | ||
UInt | uiAbsPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1802 of file TComDataCU.cpp.
Void TComDataCU::setTransformSkipSubParts | ( | const UInt | useTransformSkip[MAX_NUM_COMPONENT], |
UInt | uiAbsPartIdx, | ||
UInt | uiDepth | ||
) |
Definition at line 1792 of file TComDataCU.cpp.
Definition at line 1785 of file TComDataCU.cpp.
Definition at line 250 of file TComDataCU.h.
|
protected |
adds a single possible motion vector predictor candidate
Definition at line 2837 of file TComDataCU.cpp.
|
protected |
pInfo | |
eRefPicList | |
iRefIdx | |
uiPartUnitIdx | |
eDir |
Definition at line 2905 of file TComDataCU.cpp.
Definition at line 3112 of file TComDataCU.cpp.
|
protected |
Definition at line 2992 of file TComDataCU.cpp.
|
staticprotected |
compute scaling factor from POC difference
Definition at line 3093 of file TComDataCU.cpp.
|
private |
absolute address in a CTU. It's Z scan order
Definition at line 80 of file TComDataCU.h.
|
private |
array of motion vectors.
Definition at line 104 of file TComDataCU.h.
|
private |
array of motion vector predictor candidates
Definition at line 137 of file TComDataCU.h.
|
private |
array of number of possible motion vectors predictors
Definition at line 138 of file TComDataCU.h.
|
private |
ARL coefficient buffer is an alias of the global buffer and must not be free()'d.
Definition at line 108 of file TComDataCU.h.
|
private |
indicates decoder-mode
Definition at line 148 of file TComDataCU.h.
|
private |
Definition at line 133 of file TComDataCU.h.
|
private |
array of chroma QP adjustments (indexed). when value = 0, cu_chroma_qp_offset_flag=0; when value>0, indicates cu_chroma_qp_offset_flag=1 and cu_chroma_qp_offset_idx=value-1
Definition at line 99 of file TComDataCU.h.
|
private |
motion vector of position A
Definition at line 121 of file TComDataCU.h.
|
private |
motion vector of position B
Definition at line 122 of file TComDataCU.h.
|
private |
motion vector of position C
Definition at line 123 of file TComDataCU.h.
|
private |
motion vector predictor
Definition at line 124 of file TComDataCU.h.
|
private |
Definition at line 100 of file TComDataCU.h.
|
private |
Definition at line 153 of file TComDataCU.h.
|
private |
array of cross-component prediction alpha values
Definition at line 96 of file TComDataCU.h.
|
private |
CTU (also known as LCU) address in a slice (Raster-scan address, as opposed to tile-scan/encoding order).
Definition at line 79 of file TComDataCU.h.
|
private |
array of cu_transquant_bypass flags
Definition at line 97 of file TComDataCU.h.
|
private |
sum of partition RD costs
Definition at line 149 of file TComDataCU.h.
|
private |
Stores the explicit RDPCM mode for all TUs belonging to this CU.
Definition at line 154 of file TComDataCU.h.
|
private |
array of intra_pcm flags
Definition at line 139 of file TComDataCU.h.
|
private |
array of merge flags
Definition at line 130 of file TComDataCU.h.
|
private |
ARL coefficient buffer (0->Y, 1->Cb, 2->Cr)
Definition at line 107 of file TComDataCU.h.
|
private |
PCM sample buffer (0->Y, 1->Cb, 2->Cr)
Definition at line 111 of file TComDataCU.h.
|
private |
picture class pointer
Definition at line 72 of file TComDataCU.h.
|
private |
slice header pointer
Definition at line 73 of file TComDataCU.h.
|
private |
array of transform coefficient buffers (0->Y, 1->Cb, 2->Cr)
Definition at line 105 of file TComDataCU.h.
|
private |
pointer of above CTU.
Definition at line 119 of file TComDataCU.h.
|
private |
pointer of above-left CTU.
Definition at line 117 of file TComDataCU.h.
|
private |
pointer of above-right CTU.
Definition at line 118 of file TComDataCU.h.
|
private |
pointer of left CTU
Definition at line 120 of file TComDataCU.h.
|
private |
array of partition sizes
Definition at line 94 of file TComDataCU.h.
|
private |
array of prediction modes
Definition at line 95 of file TComDataCU.h.
|
private |
array of QP values
Definition at line 98 of file TComDataCU.h.
|
private |
array of coded block flags (CBF)
Definition at line 103 of file TComDataCU.h.
|
private |
array of depths
Definition at line 86 of file TComDataCU.h.
|
private |
array of heights
Definition at line 85 of file TComDataCU.h.
|
private |
array of inter directions
Definition at line 136 of file TComDataCU.h.
|
private |
Definition at line 135 of file TComDataCU.h.
|
private |
array of merge candidate indices
Definition at line 131 of file TComDataCU.h.
|
private |
array of transform skipping flags
Definition at line 102 of file TComDataCU.h.
|
private |
array of transform indices
Definition at line 101 of file TComDataCU.h.
|
private |
array of widths
Definition at line 84 of file TComDataCU.h.
|
private |
array of skip flags
Definition at line 93 of file TComDataCU.h.
|
private |
Definition at line 141 of file TComDataCU.h.
|
private |
CU position in a pixel (X)
Definition at line 81 of file TComDataCU.h.
|
private |
CU position in a pixel (Y)
Definition at line 82 of file TComDataCU.h.
|
private |
total number of minimum partitions in a CU
Definition at line 83 of file TComDataCU.h.
|
private |
sum of partition bins
Definition at line 152 of file TComDataCU.h.
|
private |
sum of partition bits
Definition at line 151 of file TComDataCU.h.
|
private |
sum of partition distortion
Definition at line 150 of file TComDataCU.h.
|
private |
size of a "minimum partition"
Definition at line 87 of file TComDataCU.h.