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

encoder search class More...

#include <TEncSearch.h>

Inheritance diagram for TEncSearch:
Inheritance graph
[legend]
Collaboration diagram for TEncSearch:
Collaboration graph
[legend]

Classes

struct  IntTZSearchStruct
 

Public Member Functions

Void setAdaptiveSearchRange (Int iDir, Int iRefIdx, Int iSearchRange)
 set ME search range More...
 
- Public Member Functions inherited from TComPrediction
ChromaFormat getChromaFormat () const
 
PelgetPredictorPtr (const ComponentID compID, const Bool bUseFilteredPredictions)
 
Void initAdiPatternChType (TComTU &rTu, Bool &bAbove, Bool &bLeft, const ComponentID compID, const Bool bFilterRefSamples)
 set parameters from CU data for accessing ADI data More...
 
 TComPrediction ()
 
virtual ~TComPrediction ()
 
Void initTempBuff (ChromaFormat chromaFormatIDC)
 
Void motionCompensation (TComDataCU *pcCU, TComYuv *pcYuvPred, RefPicList eRefPicList=REF_PIC_LIST_X, Int iPartIdx=-1)
 
Void getMvPredAMVP (TComDataCU *pcCU, UInt uiPartIdx, UInt uiPartAddr, RefPicList eRefPicList, TComMv &rcMvPred)
 
Void predIntraAng (const ComponentID compID, UInt uiDirMode, Pel *piOrg, UInt uiOrgStride, Pel *piPred, UInt uiStride, TComTU &rTu, Bool bAbove, Bool bLeft, const Bool bUseFilteredPredSamples, const Bool bUseLosslessDPCM=false)
 
Pel predIntraGetPredValDC (const Pel *pSrc, Int iSrcStride, UInt iWidth, UInt iHeight, ChannelType channelType, ChromaFormat format, Bool bAbove, Bool bLeft)
 
- Public Member Functions inherited from TComWeightPrediction
 TComWeightPrediction ()
 
Void getWpScaling (TComDataCU *const pcCU, const Int iRefIdx0, const Int iRefIdx1, WPScalingParam *&wp0, WPScalingParam *&wp1)
 derivation of wp tables More...
 
Void addWeightBi (const TComYuv *pcYuvSrc0, const TComYuv *pcYuvSrc1, const UInt iPartUnitIdx, const UInt uiWidth, const UInt uiHeight, const WPScalingParam *const wp0, const WPScalingParam *const wp1, TComYuv *const rpcYuvDst, const Bool bRoundLuma=true)
 weighted averaging for bi-pred More...
 
Void addWeightUni (const TComYuv *const pcYuvSrc0, const UInt iPartUnitIdx, const UInt uiWidth, const UInt uiHeight, const WPScalingParam *const wp0, TComYuv *const rpcYuvDst)
 weighted averaging for uni-pred More...
 
Void xWeightedPredictionUni (TComDataCU *const pcCU, const TComYuv *const pcYuvSrc, const UInt uiPartAddr, const Int iWidth, const Int iHeight, const RefPicList eRefPicList, TComYuv *pcYuvPred, const Int iRefIdx=-1)
 weighted prediction for uni-pred More...
 
Void xWeightedPredictionBi (TComDataCU *const pcCU, const TComYuv *const pcYuvSrc0, const TComYuv *const pcYuvSrc1, const Int iRefIdx0, const Int iRefIdx1, const UInt uiPartIdx, const Int iWidth, const Int iHeight, TComYuv *pcYuvDst)
 weighted prediction for bi-pred More...
 

Protected Member Functions

Void setDistParamComp (ComponentID compIdx)
 
- Protected Member Functions inherited from TComPrediction
Void xGetLLSPrediction (const Pel *pSrc0, Int iSrcStride, Pel *pDst0, Int iDstStride, UInt uiWidth, UInt uiHeight, UInt uiExt0, const ChromaFormat chFmt)
 
Void xPredIntraAng (Int bitDepth, const Pel *pSrc, Int srcStride, Pel *pDst, Int dstStride, UInt width, UInt height, ChannelType channelType, ChromaFormat format, UInt dirMode, Bool blkAboveAvailable, Bool blkLeftAvailable, const Bool bEnableEdgeFilters)
 
Void xPredIntraPlanar (const Pel *pSrc, Int srcStride, Pel *rpDst, Int dstStride, UInt width, UInt height, ChannelType channelType, ChromaFormat format)
 
Void xPredInterUni (TComDataCU *pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv *pcYuvPred, Bool bi=false)
 
Void xPredInterBi (TComDataCU *pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv *pcYuvPred)
 
Void xPredInterBlk (const ComponentID compID, TComDataCU *cu, TComPicYuv *refPic, UInt partAddr, TComMv *mv, Int width, Int height, TComYuv *dstPic, Bool bi)
 Generate motion-compensated block. More...
 
Void xWeightedAverage (TComYuv *pcYuvSrc0, TComYuv *pcYuvSrc1, Int iRefIdx0, Int iRefIdx1, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv *pcYuvDst)
 
Void xDCPredFiltering (const Pel *pSrc, Int iSrcStride, Pel *pDst, Int iDstStride, Int iWidth, Int iHeight, ChannelType channelType)
 
Bool xCheckIdenticalMotion (TComDataCU *pcCU, UInt PartAddr)
 
Void destroy ()
 

Protected Attributes

TEncCfgm_pcEncCfg
 
TComTrQuantm_pcTrQuant
 
TComRdCostm_pcRdCost
 
TEncEntropym_pcEntropyCoder
 
Int m_iSearchRange
 
Int m_bipredSearchRange
 
Int m_iFastSearch
 
Int m_aaiAdaptSR [MAX_NUM_REF_LIST_ADAPT_SR][MAX_IDX_ADAPT_SR]
 
TComMv m_cSrchRngLT
 
TComMv m_cSrchRngRB
 
TComMv m_acMvPredictors [NUM_MV_PREDICTORS]
 
TEncSbac *** m_pppcRDSbacCoder
 
TEncSbacm_pcRDGoOnSbacCoder
 
DistParam m_cDistParam
 
Pelm_pTempPel
 
const UIntm_puiDFilter
 
UInt m_auiMVPIdxCost [2+1][2+1]
 
TComMv m_integerMv2Nx2N [NUM_REF_PIC_LIST_01][16]
 
- Protected Attributes inherited from TComPrediction
Pelm_piYuvExt [MAX_NUM_COMPONENT][NUM_PRED_BUF]
 
Int m_iYuvExtSize
 
TComYuv m_acYuvPred [NUM_REF_PIC_LIST_01]
 
TComYuv m_cYuvPredTemp
 
TComYuv m_filteredBlock [4][4]
 
TComYuv m_filteredBlockTmp [4]
 
TComInterpolationFilter m_if
 
Pelm_pLumaRecBuffer
 array for downsampled reconstructed luma sample More...
 
Int m_iLumaRecStride
 stride of m_pLumaRecBuffer array More...
 

Private Attributes

TCoeff ** m_ppcQTTempCoeff [MAX_NUM_COMPONENT]
 
TCoeffm_pcQTTempCoeff [MAX_NUM_COMPONENT]
 
TCoeff ** m_ppcQTTempArlCoeff [MAX_NUM_COMPONENT]
 
TCoeffm_pcQTTempArlCoeff [MAX_NUM_COMPONENT]
 
UCharm_puhQTTempTrIdx
 
UCharm_puhQTTempCbf [MAX_NUM_COMPONENT]
 
TComYuvm_pcQTTempTComYuv
 
TComYuv m_tmpYuvPred
 
Charm_phQTTempCrossComponentPredictionAlpha [MAX_NUM_COMPONENT]
 
Pelm_pSharedPredTransformSkip [MAX_NUM_COMPONENT]
 
TCoeffm_pcQTTempTUCoeff [MAX_NUM_COMPONENT]
 
UCharm_puhQTTempTransformSkipFlag [MAX_NUM_COMPONENT]
 
TComYuv m_pcQTTempTransformSkipTComYuv
 
TCoeffm_ppcQTTempTUArlCoeff [MAX_NUM_COMPONENT]
 
 TEncSearch ()
 
virtual ~TEncSearch ()
 
Void init (TEncCfg *pcEncCfg, TComTrQuant *pcTrQuant, Int iSearchRange, Int bipredSearchRange, Int iFastSearch, TEncEntropy *pcEntropyCoder, TComRdCost *pcRdCost, TEncSbac ***pppcRDSbacCoder, TEncSbac *pcRDGoOnSbacCoder)
 
Void estIntraPredLumaQT (TComDataCU *pcCU, TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, TComYuv *pcRecoYuv, Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))])
 
Void estIntraPredChromaQT (TComDataCU *pcCU, TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, TComYuv *pcRecoYuv, Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))])
 
Void predInterSearch (TComDataCU *pcCU, TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, TComYuv *pcRecoYuv, Bool bUseRes=false, Bool bUseMRG=false)
 encoder estimation - inter prediction (non-skip) More...
 
Void encodeResAndCalcRdInterCU (TComDataCU *pcCU, TComYuv *pcYuvOrg, TComYuv *pcYuvPred, TComYuv *pcYuvResi, TComYuv *pcYuvResiBest, TComYuv *pcYuvRec, Bool bSkipResidual)
 encode residual and compute rd-cost for inter mode More...
 
Void xEncPCM (TComDataCU *pcCU, UInt uiAbsPartIdx, Pel *piOrg, Pel *piPCM, Pel *piPred, Pel *piResi, Pel *piReco, UInt uiStride, UInt uiWidth, UInt uiHeight, const ComponentID compID)
 
Void IPCMSearch (TComDataCU *pcCU, TComYuv *pcOrgYuv, TComYuv *rpcPredYuv, TComYuv *rpcResiYuv, TComYuv *rpcRecoYuv)
 Function for PCM mode estimation. More...
 
Distortion xPatternRefinement (TComPattern *pcPatternKey, TComMv baseRefMv, Int iFrac, TComMv &rcMvFrac, Bool bAllowUseOfHadamard)
 sub-function for motion vector refinement used in fractional-pel accuracy More...
 
__inline Void xTZSearchHelp (TComPattern *pcPatternKey, IntTZSearchStruct &rcStruct, const Int iSearchX, const Int iSearchY, const UChar ucPointNr, const UInt uiDistance)
 
__inline Void xTZ2PointSearch (TComPattern *pcPatternKey, IntTZSearchStruct &rcStrukt, TComMv *pcMvSrchRngLT, TComMv *pcMvSrchRngRB)
 
__inline Void xTZ8PointSquareSearch (TComPattern *pcPatternKey, IntTZSearchStruct &rcStrukt, TComMv *pcMvSrchRngLT, TComMv *pcMvSrchRngRB, const Int iStartX, const Int iStartY, const Int iDist)
 
__inline Void xTZ8PointDiamondSearch (TComPattern *pcPatternKey, IntTZSearchStruct &rcStrukt, TComMv *pcMvSrchRngLT, TComMv *pcMvSrchRngRB, const Int iStartX, const Int iStartY, const Int iDist)
 
Void xGetInterPredictionError (TComDataCU *pcCU, TComYuv *pcYuvOrg, Int iPartIdx, Distortion &ruiSAD, Bool Hadamard)
 
Void xEncSubdivCbfQT (TComTU &rTu, Bool bLuma, Bool bChroma)
 
Void xEncCoeffQT (TComTU &rTu, ComponentID component, Bool bRealCoeff)
 
Void xEncIntraHeader (TComDataCU *pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, Bool bLuma, Bool bChroma)
 
UInt xGetIntraBitsQT (TComTU &rTu, Bool bLuma, Bool bChroma, Bool bRealCoeff)
 
UInt xGetIntraBitsQTChroma (TComTU &rTu, ComponentID compID, Bool bRealCoeff)
 
Void xIntraCodingTUBlock (TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))], const Bool checkCrossCPrediction, Distortion &ruiDist, const ComponentID compID, TComTU &rTu, Int default0Save1Load2=0)
 
Void xRecurIntraCodingLumaQT (TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))], Distortion &ruiDistY, Bool bCheckFirst, Double &dRDCost, TComTU &rTu)
 
Void xSetIntraResultLumaQT (TComYuv *pcRecoYuv, TComTU &rTu)
 
Void xStoreCrossComponentPredictionResult (Pel *pResiLuma, const Pel *pBestLuma, TComTU &rTu, const Int xOffset, const Int yOffset, const Int strideResi, const Int strideBest)
 
Char xCalcCrossComponentPredictionAlpha (TComTU &rTu, const ComponentID compID, const Pel *piResiL, const Pel *piResiC, const Int width, const Int height, const Int strideL, const Int strideC)
 
Void xRecurIntraChromaCodingQT (TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))], Distortion &ruiDist, TComTU &rTu)
 
Void xSetIntraResultChromaQT (TComYuv *pcRecoYuv, TComTU &rTu)
 
Void xStoreIntraResultQT (const ComponentID compID, TComTU &rTu)
 
Void xLoadIntraResultQT (const ComponentID compID, TComTU &rTu)
 
Void xEstimateMvPredAMVP (TComDataCU *pcCU, TComYuv *pcOrgYuv, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv &rcMvPred, Bool bFilled=false, Distortion *puiDistBiP=0)
 
Void xCheckBestMVP (TComDataCU *pcCU, RefPicList eRefPicList, TComMv cMv, TComMv &rcMvPred, Int &riMVPIdx, UInt &ruiBits, Distortion &ruiCost)
 
Distortion xGetTemplateCost (TComDataCU *pcCU, UInt uiPartIdx, UInt uiPartAddr, TComYuv *pcOrgYuv, TComYuv *pcTemplateCand, TComMv cMvCand, Int iMVPIdx, Int iMVPNum, RefPicList eRefPicList, Int iRefIdx, Int iSizeX, Int iSizeY)
 
Void xCopyAMVPInfo (AMVPInfo *pSrc, AMVPInfo *pDst)
 
UInt xGetMvpIdxBits (Int iIdx, Int iNum)
 
Void xGetBlkBits (PartSize eCUMode, Bool bPSlice, Int iPartIdx, UInt uiLastMode, UInt uiBlkBit[3])
 
Void xMergeEstimation (TComDataCU *pcCU, TComYuv *pcYuvOrg, Int iPartIdx, UInt &uiInterDir, TComMvField *pacMvField, UInt &uiMergeIndex, Distortion &ruiCost, TComMvField *cMvFieldNeighbours, UChar *uhInterDirNeighbours, Int &numValidMergeCand)
 estimation of best merge coding More...
 
Void xRestrictBipredMergeCand (TComDataCU *pcCU, UInt puIdx, TComMvField *mvFieldNeighbours, UChar *interDirNeighbours, Int numValidMergeCand)
 
Void xMotionEstimation (TComDataCU *pcCU, TComYuv *pcYuvOrg, Int iPartIdx, RefPicList eRefPicList, TComMv *pcMvPred, Int iRefIdxPred, TComMv &rcMv, UInt &ruiBits, Distortion &ruiCost, Bool bBi=false)
 
Void xTZSearch (TComDataCU *pcCU, TComPattern *pcPatternKey, Pel *piRefY, Int iRefStride, TComMv *pcMvSrchRngLT, TComMv *pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD, const TComMv *pIntegerMv2Nx2NPred)
 
Void xTZSearchSelective (TComDataCU *pcCU, TComPattern *pcPatternKey, Pel *piRefY, Int iRefStride, TComMv *pcMvSrchRngLT, TComMv *pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD, const TComMv *pIntegerMv2Nx2NPred)
 
Void xSetSearchRange (TComDataCU *pcCU, TComMv &cMvPred, Int iSrchRng, TComMv &rcMvSrchRngLT, TComMv &rcMvSrchRngRB)
 
Void xPatternSearchFast (TComDataCU *pcCU, TComPattern *pcPatternKey, Pel *piRefY, Int iRefStride, TComMv *pcMvSrchRngLT, TComMv *pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD, const TComMv *pIntegerMv2Nx2NPred)
 
Void xPatternSearch (TComPattern *pcPatternKey, Pel *piRefY, Int iRefStride, TComMv *pcMvSrchRngLT, TComMv *pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD)
 
Void xPatternSearchFracDIF (Bool bIsLosslessCoded, TComPattern *pcPatternKey, Pel *piRefY, Int iRefStride, TComMv *pcMvInt, TComMv &rcMvHalf, TComMv &rcMvQter, Distortion &ruiCost, Bool biPred)
 
Void xExtDIFUpSamplingH (TComPattern *pcPattern, Bool biPred)
 Generate half-sample interpolated block. More...
 
Void xExtDIFUpSamplingQ (TComPattern *pcPatternKey, TComMv halfPelRef, Bool biPred)
 Generate quarter-sample interpolated blocks. More...
 
Void xEncodeInterResidualQT (const ComponentID compID, TComTU &rTu)
 
Void xEstimateInterResidualQT (TComYuv *pcResi, Double &rdCost, UInt &ruiBits, Distortion &ruiDist, Distortion *puiZeroDist, TComTU &rTu)
 
Void xSetInterResidualQTData (TComYuv *pcResi, Bool bSpatial, TComTU &rTu)
 
UInt xModeBitsIntra (TComDataCU *pcCU, UInt uiMode, UInt uiPartOffset, UInt uiDepth, UInt uiInitTrDepth, const ChannelType compID)
 
UInt xUpdateCandList (UInt uiMode, Double uiCost, UInt uiFastCandNum, UInt *CandModeList, Double *CandCostList)
 
Void xAddSymbolBitsInter (TComDataCU *pcCU, UInt uiQp, UInt uiTrMode, UInt &ruiBits)
 
Void setWpScalingDistParam (TComDataCU *pcCU, Int iRefIdx, RefPicList eRefPicListCur)
 set wp tables More...
 

Additional Inherited Members

- Static Public Member Functions inherited from TComPrediction
static Bool filteringIntraReferenceSamples (const ComponentID compID, UInt uiDirMode, UInt uiTuChWidth, UInt uiTuChHeight, const ChromaFormat chFmt, const Bool intraReferenceSmoothingDisabled)
 
static Bool UseDPCMForFirstPassIntraEstimation (TComTU &rTu, const UInt uiDirMode)
 

Detailed Description

encoder search class

Definition at line 68 of file TEncSearch.h.

Constructor & Destructor Documentation

TEncSearch::TEncSearch ( )

Definition at line 114 of file TEncSearch.cpp.

TEncSearch::~TEncSearch ( )
virtual

Definition at line 144 of file TEncSearch.cpp.

Member Function Documentation

Void TEncSearch::encodeResAndCalcRdInterCU ( TComDataCU pcCU,
TComYuv pcYuvOrg,
TComYuv pcYuvPred,
TComYuv pcYuvResi,
TComYuv pcYuvResiBest,
TComYuv pcYuvRec,
Bool  bSkipResidual 
)

encode residual and compute rd-cost for inter mode

encode residual and calculate rate-distortion for a CU block

Definition at line 4281 of file TEncSearch.cpp.

Void TEncSearch::estIntraPredChromaQT ( TComDataCU pcCU,
TComYuv pcOrgYuv,
TComYuv pcPredYuv,
TComYuv pcResiYuv,
TComYuv pcRecoYuv,
Pel  resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))] 
)

Definition at line 2562 of file TEncSearch.cpp.

Void TEncSearch::estIntraPredLumaQT ( TComDataCU pcCU,
TComYuv pcOrgYuv,
TComYuv pcPredYuv,
TComYuv pcResiYuv,
TComYuv pcRecoYuv,
Pel  resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))] 
)

Definition at line 2177 of file TEncSearch.cpp.

Void TEncSearch::init ( TEncCfg pcEncCfg,
TComTrQuant pcTrQuant,
Int  iSearchRange,
Int  bipredSearchRange,
Int  iFastSearch,
TEncEntropy pcEntropyCoder,
TComRdCost pcRdCost,
TEncSbac ***  pppcRDSbacCoder,
TEncSbac pcRDGoOnSbacCoder 
)

Definition at line 201 of file TEncSearch.cpp.

Void TEncSearch::IPCMSearch ( TComDataCU pcCU,
TComYuv pcOrgYuv,
TComYuv rpcPredYuv,
TComYuv rpcResiYuv,
TComYuv rpcRecoYuv 
)

Function for PCM mode estimation.

Definition at line 2763 of file TEncSearch.cpp.

Void TEncSearch::predInterSearch ( TComDataCU pcCU,
TComYuv pcOrgYuv,
TComYuv pcPredYuv,
TComYuv pcResiYuv,
TComYuv pcRecoYuv,
Bool  bUseRes = false,
Bool  bUseMRG = false 
)

encoder estimation - inter prediction (non-skip)

search of the best candidate for inter prediction

Definition at line 2909 of file TEncSearch.cpp.

Void TEncSearch::setAdaptiveSearchRange ( Int  iDir,
Int  iRefIdx,
Int  iSearchRange 
)
inline

set ME search range

Definition at line 208 of file TEncSearch.h.

Void TEncSearch::setDistParamComp ( ComponentID  compIdx)
inlineprotected

Definition at line 456 of file TEncSearch.h.

Void TEncSearch::setWpScalingDistParam ( TComDataCU pcCU,
Int  iRefIdx,
RefPicList  eRefPicListCur 
)
protected

set wp tables

Definition at line 5538 of file TEncSearch.cpp.

Void TEncSearch::xAddSymbolBitsInter ( TComDataCU pcCU,
UInt  uiQp,
UInt  uiTrMode,
UInt ruiBits 
)
protected

add inter-prediction syntax elements for a CU block

Parameters
pcCU
uiQp
uiTrMode
ruiBits
Returns
Void

Definition at line 5282 of file TEncSearch.cpp.

Char TEncSearch::xCalcCrossComponentPredictionAlpha ( TComTU rTu,
const ComponentID  compID,
const Pel piResiL,
const Pel piResiC,
const Int  width,
const Int  height,
const Int  strideL,
const Int  strideC 
)
protected

Definition at line 1867 of file TEncSearch.cpp.

Void TEncSearch::xCheckBestMVP ( TComDataCU pcCU,
RefPicList  eRefPicList,
TComMv  cMv,
TComMv rcMvPred,
Int riMVPIdx,
UInt ruiBits,
Distortion ruiCost 
)
protected

Definition at line 3568 of file TEncSearch.cpp.

Void TEncSearch::xCopyAMVPInfo ( AMVPInfo pSrc,
AMVPInfo pDst 
)
protected

Definition at line 3559 of file TEncSearch.cpp.

Void TEncSearch::xEncCoeffQT ( TComTU rTu,
ComponentID  component,
Bool  bRealCoeff 
)
protected

Definition at line 940 of file TEncSearch.cpp.

Void TEncSearch::xEncIntraHeader ( TComDataCU pcCU,
UInt  uiTrDepth,
UInt  uiAbsPartIdx,
Bool  bLuma,
Bool  bChroma 
)
protected

Definition at line 980 of file TEncSearch.cpp.

Void TEncSearch::xEncodeInterResidualQT ( const ComponentID  compID,
TComTU rTu 
)
protected

Definition at line 5068 of file TEncSearch.cpp.

Void TEncSearch::xEncPCM ( TComDataCU pcCU,
UInt  uiAbsPartIdx,
Pel pOrg,
Pel pPCM,
Pel pPred,
Pel pResi,
Pel pReco,
UInt  uiStride,
UInt  uiWidth,
UInt  uiHeight,
const ComponentID  compID 
)

Function for encoding and reconstructing luma/chroma samples of a PCM mode CU.

Parameters
pcCUpointer to current CU
uiAbsPartIdxpart index
pOrgpointer to original sample arrays
pPCMpointer to PCM code arrays
pPredpointer to prediction signal arrays
pResipointer to residual signal arrays
pRecopointer to reconstructed sample arrays
uiStridestride of the original/prediction/residual sample arrays
uiWidthblock width
uiHeightblock height
compIDtexture component type

Definition at line 2729 of file TEncSearch.cpp.

Void TEncSearch::xEncSubdivCbfQT ( TComTU rTu,
Bool  bLuma,
Bool  bChroma 
)
protected

Definition at line 869 of file TEncSearch.cpp.

Void TEncSearch::xEstimateInterResidualQT ( TComYuv pcResi,
Double rdCost,
UInt ruiBits,
Distortion ruiDist,
Distortion puiZeroDist,
TComTU rTu 
)
protected

Definition at line 4426 of file TEncSearch.cpp.

Void TEncSearch::xEstimateMvPredAMVP ( TComDataCU pcCU,
TComYuv pcOrgYuv,
UInt  uiPartIdx,
RefPicList  eRefPicList,
Int  iRefIdx,
TComMv rcMvPred,
Bool  bFilled = false,
Distortion puiDistBiP = 0 
)
protected

Definition at line 3414 of file TEncSearch.cpp.

Void TEncSearch::xExtDIFUpSamplingH ( TComPattern pattern,
Bool  biPred 
)
protected

Generate half-sample interpolated block.

Parameters
patternReference picture ROI
biPredFlag indicating whether block is for biprediction

Definition at line 5330 of file TEncSearch.cpp.

Void TEncSearch::xExtDIFUpSamplingQ ( TComPattern pattern,
TComMv  halfPelRef,
Bool  biPred 
)
protected

Generate quarter-sample interpolated blocks.

Parameters
patternReference picture ROI
halfPelRefHalf-pel mv
biPredFlag indicating whether block is for biprediction

Definition at line 5377 of file TEncSearch.cpp.

Void TEncSearch::xGetBlkBits ( PartSize  eCUMode,
Bool  bPSlice,
Int  iPartIdx,
UInt  uiLastMode,
UInt  uiBlkBit[3] 
)
protected

Definition at line 3510 of file TEncSearch.cpp.

Void TEncSearch::xGetInterPredictionError ( TComDataCU pcCU,
TComYuv pcYuvOrg,
Int  iPartIdx,
Distortion ruiSAD,
Bool  Hadamard 
)
protected

Definition at line 2806 of file TEncSearch.cpp.

UInt TEncSearch::xGetIntraBitsQT ( TComTU rTu,
Bool  bLuma,
Bool  bChroma,
Bool  bRealCoeff 
)
protected

Definition at line 1055 of file TEncSearch.cpp.

UInt TEncSearch::xGetIntraBitsQTChroma ( TComTU rTu,
ComponentID  compID,
Bool  bRealCoeff 
)
protected

Definition at line 1081 of file TEncSearch.cpp.

UInt TEncSearch::xGetMvpIdxBits ( Int  iIdx,
Int  iNum 
)
protected

Definition at line 3482 of file TEncSearch.cpp.

Distortion TEncSearch::xGetTemplateCost ( TComDataCU pcCU,
UInt  uiPartIdx,
UInt  uiPartAddr,
TComYuv pcOrgYuv,
TComYuv pcTemplateCand,
TComMv  cMvCand,
Int  iMVPIdx,
Int  iMVPNum,
RefPicList  eRefPicList,
Int  iRefIdx,
Int  iSizeX,
Int  iSizeY 
)
protected

Definition at line 3620 of file TEncSearch.cpp.

Void TEncSearch::xIntraCodingTUBlock ( TComYuv pcOrgYuv,
TComYuv pcPredYuv,
TComYuv pcResiYuv,
Pel  resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))],
const Bool  checkCrossCPrediction,
Distortion ruiDist,
const ComponentID  compID,
TComTU rTu,
Int  default0Save1Load2 = 0 
)
protected

Definition at line 1091 of file TEncSearch.cpp.

Void TEncSearch::xLoadIntraResultQT ( const ComponentID  compID,
TComTU rTu 
)
protected

Definition at line 1794 of file TEncSearch.cpp.

Void TEncSearch::xMergeEstimation ( TComDataCU pcCU,
TComYuv pcYuvOrg,
Int  iPartIdx,
UInt uiInterDir,
TComMvField pacMvField,
UInt uiMergeIndex,
Distortion ruiCost,
TComMvField cMvFieldNeighbours,
UChar uhInterDirNeighbours,
Int numValidMergeCand 
)
protected

estimation of best merge coding

Definition at line 2829 of file TEncSearch.cpp.

UInt TEncSearch::xModeBitsIntra ( TComDataCU pcCU,
UInt  uiMode,
UInt  uiPartOffset,
UInt  uiDepth,
UInt  uiInitTrDepth,
const ChannelType  compID 
)
protected

Definition at line 5214 of file TEncSearch.cpp.

Void TEncSearch::xMotionEstimation ( TComDataCU pcCU,
TComYuv pcYuvOrg,
Int  iPartIdx,
RefPicList  eRefPicList,
TComMv pcMvPred,
Int  iRefIdxPred,
TComMv rcMv,
UInt ruiBits,
Distortion ruiCost,
Bool  bBi = false 
)
protected

Definition at line 3665 of file TEncSearch.cpp.

Distortion TEncSearch::xPatternRefinement ( TComPattern pcPatternKey,
TComMv  baseRefMv,
Int  iFrac,
TComMv rcMvFrac,
Bool  bAllowUseOfHadamard 
)
protected

sub-function for motion vector refinement used in fractional-pel accuracy

Definition at line 811 of file TEncSearch.cpp.

Void TEncSearch::xPatternSearch ( TComPattern pcPatternKey,
Pel piRefY,
Int  iRefStride,
TComMv pcMvSrchRngLT,
TComMv pcMvSrchRngRB,
TComMv rcMv,
Distortion ruiSAD 
)
protected

Definition at line 3787 of file TEncSearch.cpp.

Void TEncSearch::xPatternSearchFast ( TComDataCU pcCU,
TComPattern pcPatternKey,
Pel piRefY,
Int  iRefStride,
TComMv pcMvSrchRngLT,
TComMv pcMvSrchRngRB,
TComMv rcMv,
Distortion ruiSAD,
const TComMv pIntegerMv2Nx2NPred 
)
protected

Definition at line 3848 of file TEncSearch.cpp.

Void TEncSearch::xPatternSearchFracDIF ( Bool  bIsLosslessCoded,
TComPattern pcPatternKey,
Pel piRefY,
Int  iRefStride,
TComMv pcMvInt,
TComMv rcMvHalf,
TComMv rcMvQter,
Distortion ruiCost,
Bool  biPred 
)
protected

Definition at line 4241 of file TEncSearch.cpp.

Void TEncSearch::xRecurIntraChromaCodingQT ( TComYuv pcOrgYuv,
TComYuv pcPredYuv,
TComYuv pcResiYuv,
Pel  resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))],
Distortion ruiDist,
TComTU rTu 
)
protected

Definition at line 1915 of file TEncSearch.cpp.

Void TEncSearch::xRecurIntraCodingLumaQT ( TComYuv pcOrgYuv,
TComYuv pcPredYuv,
TComYuv pcResiYuv,
Pel  resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][(1<<(6))*(1<<(6))],
Distortion ruiDistY,
Bool  bCheckFirst,
Double dRDCost,
TComTU rTu 
)
protected

Definition at line 1392 of file TEncSearch.cpp.

Void TEncSearch::xRestrictBipredMergeCand ( TComDataCU pcCU,
UInt  puIdx,
TComMvField mvFieldNeighbours,
UChar interDirNeighbours,
Int  numValidMergeCand 
)
protected

convert bi-pred merge candidates to uni-pred

Parameters
pcCU
puIdx
mvFieldNeighbours
interDirNeighbours
numValidMergeCand
Returns
Void

Definition at line 2892 of file TEncSearch.cpp.

Void TEncSearch::xSetInterResidualQTData ( TComYuv pcResi,
Bool  bSpatial,
TComTU rTu 
)
protected

Definition at line 5149 of file TEncSearch.cpp.

Void TEncSearch::xSetIntraResultChromaQT ( TComYuv pcRecoYuv,
TComTU rTu 
)
protected

Definition at line 2125 of file TEncSearch.cpp.

Void TEncSearch::xSetIntraResultLumaQT ( TComYuv pcRecoYuv,
TComTU rTu 
)
protected

Definition at line 1716 of file TEncSearch.cpp.

Void TEncSearch::xSetSearchRange ( TComDataCU pcCU,
TComMv cMvPred,
Int  iSrchRng,
TComMv rcMvSrchRngLT,
TComMv rcMvSrchRngRB 
)
protected

Definition at line 3766 of file TEncSearch.cpp.

Void TEncSearch::xStoreCrossComponentPredictionResult ( Pel pResiLuma,
const Pel pBestLuma,
TComTU rTu,
const Int  xOffset,
const Int  yOffset,
const Int  strideResi,
const Int  strideBest 
)
protected

Definition at line 1847 of file TEncSearch.cpp.

Void TEncSearch::xStoreIntraResultQT ( const ComponentID  compID,
TComTU rTu 
)
protected

Definition at line 1759 of file TEncSearch.cpp.

__inline Void TEncSearch::xTZ2PointSearch ( TComPattern pcPatternKey,
IntTZSearchStruct rcStrukt,
TComMv pcMvSrchRngLT,
TComMv pcMvSrchRngRB 
)
protected

Definition at line 441 of file TEncSearch.cpp.

__inline Void TEncSearch::xTZ8PointDiamondSearch ( TComPattern pcPatternKey,
IntTZSearchStruct rcStrukt,
TComMv pcMvSrchRngLT,
TComMv pcMvSrchRngRB,
const Int  iStartX,
const Int  iStartY,
const Int  iDist 
)
protected

Definition at line 632 of file TEncSearch.cpp.

__inline Void TEncSearch::xTZ8PointSquareSearch ( TComPattern pcPatternKey,
IntTZSearchStruct rcStrukt,
TComMv pcMvSrchRngLT,
TComMv pcMvSrchRngRB,
const Int  iStartX,
const Int  iStartY,
const Int  iDist 
)
protected

Definition at line 574 of file TEncSearch.cpp.

Void TEncSearch::xTZSearch ( TComDataCU pcCU,
TComPattern pcPatternKey,
Pel piRefY,
Int  iRefStride,
TComMv pcMvSrchRngLT,
TComMv pcMvSrchRngRB,
TComMv rcMv,
Distortion ruiSAD,
const TComMv pIntegerMv2Nx2NPred 
)
protected

Definition at line 3882 of file TEncSearch.cpp.

__inline Void TEncSearch::xTZSearchHelp ( TComPattern pcPatternKey,
IntTZSearchStruct rcStruct,
const Int  iSearchX,
const Int  iSearchY,
const UChar  ucPointNr,
const UInt  uiDistance 
)
protected

Definition at line 335 of file TEncSearch.cpp.

Void TEncSearch::xTZSearchSelective ( TComDataCU pcCU,
TComPattern pcPatternKey,
Pel piRefY,
Int  iRefStride,
TComMv pcMvSrchRngLT,
TComMv pcMvSrchRngRB,
TComMv rcMv,
Distortion ruiSAD,
const TComMv pIntegerMv2Nx2NPred 
)
protected

Definition at line 4086 of file TEncSearch.cpp.

UInt TEncSearch::xUpdateCandList ( UInt  uiMode,
Double  uiCost,
UInt  uiFastCandNum,
UInt CandModeList,
Double CandCostList 
)
protected

Definition at line 5246 of file TEncSearch.cpp.

Member Data Documentation

Int TEncSearch::m_aaiAdaptSR[MAX_NUM_REF_LIST_ADAPT_SR][MAX_IDX_ADAPT_SR]
protected

Definition at line 105 of file TEncSearch.h.

TComMv TEncSearch::m_acMvPredictors[NUM_MV_PREDICTORS]
protected

Definition at line 108 of file TEncSearch.h.

UInt TEncSearch::m_auiMVPIdxCost[2+1][2+1]
protected

Definition at line 121 of file TEncSearch.h.

Int TEncSearch::m_bipredSearchRange
protected

Definition at line 103 of file TEncSearch.h.

DistParam TEncSearch::m_cDistParam
protected

Definition at line 113 of file TEncSearch.h.

TComMv TEncSearch::m_cSrchRngLT
protected

Definition at line 106 of file TEncSearch.h.

TComMv TEncSearch::m_cSrchRngRB
protected

Definition at line 107 of file TEncSearch.h.

Int TEncSearch::m_iFastSearch
protected

Definition at line 104 of file TEncSearch.h.

TComMv TEncSearch::m_integerMv2Nx2N[NUM_REF_PIC_LIST_01][16]
protected

Definition at line 123 of file TEncSearch.h.

Int TEncSearch::m_iSearchRange
protected

Definition at line 102 of file TEncSearch.h.

TEncCfg* TEncSearch::m_pcEncCfg
protected

Definition at line 94 of file TEncSearch.h.

TEncEntropy* TEncSearch::m_pcEntropyCoder
protected

Definition at line 99 of file TEncSearch.h.

TCoeff* TEncSearch::m_pcQTTempArlCoeff[MAX_NUM_COMPONENT]
private

Definition at line 75 of file TEncSearch.h.

TCoeff* TEncSearch::m_pcQTTempCoeff[MAX_NUM_COMPONENT]
private

Definition at line 72 of file TEncSearch.h.

TComYuv* TEncSearch::m_pcQTTempTComYuv
private

Definition at line 80 of file TEncSearch.h.

TComYuv TEncSearch::m_pcQTTempTransformSkipTComYuv
private

Definition at line 87 of file TEncSearch.h.

TCoeff* TEncSearch::m_pcQTTempTUCoeff[MAX_NUM_COMPONENT]
private

Definition at line 85 of file TEncSearch.h.

TComRdCost* TEncSearch::m_pcRdCost
protected

Definition at line 98 of file TEncSearch.h.

TEncSbac* TEncSearch::m_pcRDGoOnSbacCoder
protected

Definition at line 112 of file TEncSearch.h.

TComTrQuant* TEncSearch::m_pcTrQuant
protected

Definition at line 97 of file TEncSearch.h.

Char* TEncSearch::m_phQTTempCrossComponentPredictionAlpha[MAX_NUM_COMPONENT]
private

Definition at line 83 of file TEncSearch.h.

TCoeff** TEncSearch::m_ppcQTTempArlCoeff[MAX_NUM_COMPONENT]
private

Definition at line 74 of file TEncSearch.h.

TCoeff** TEncSearch::m_ppcQTTempCoeff[MAX_NUM_COMPONENT]
private

Definition at line 71 of file TEncSearch.h.

TCoeff* TEncSearch::m_ppcQTTempTUArlCoeff[MAX_NUM_COMPONENT]
private

Definition at line 89 of file TEncSearch.h.

TEncSbac*** TEncSearch::m_pppcRDSbacCoder
protected

Definition at line 111 of file TEncSearch.h.

Pel* TEncSearch::m_pSharedPredTransformSkip[MAX_NUM_COMPONENT]
private

Definition at line 84 of file TEncSearch.h.

Pel* TEncSearch::m_pTempPel
protected

Definition at line 116 of file TEncSearch.h.

UChar* TEncSearch::m_puhQTTempCbf[MAX_NUM_COMPONENT]
private

Definition at line 78 of file TEncSearch.h.

UChar* TEncSearch::m_puhQTTempTransformSkipFlag[MAX_NUM_COMPONENT]
private

Definition at line 86 of file TEncSearch.h.

UChar* TEncSearch::m_puhQTTempTrIdx
private

Definition at line 77 of file TEncSearch.h.

const UInt* TEncSearch::m_puiDFilter
protected

Definition at line 117 of file TEncSearch.h.

TComYuv TEncSearch::m_tmpYuvPred
private

Definition at line 81 of file TEncSearch.h.


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