HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 initIntraPatternChType (TComTU &rTu, const ComponentID compID, const Bool bFilterRefSamples)
 set parameters from CU data for accessing intra 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, const Bool bUseFilteredPredSamples, const Bool bUseLosslessDPCM=false)
 
Pel predIntraGetPredValDC (const Pel *pSrc, Int iSrcStride, UInt iWidth, UInt iHeight)
 
Bool checkTMctsMvp (TComDataCU *pcCU, Int partIdx=-1)
 
- 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 BitDepths &bitDepths, 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 BitDepths &bitDepths, 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, UInt dirMode, const Bool bEnableEdgeFilters)
 
Void xPredIntraPlanar (const Pel *pSrc, Int srcStride, Pel *rpDst, Int dstStride, UInt width, UInt height)
 
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, const Int bitDepth)
 Generate motion-compensated block. More...
 
Void xWeightedAverage (TComYuv *pcYuvSrc0, TComYuv *pcYuvSrc1, Int iRefIdx0, Int iRefIdx1, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv *pcYuvDst, const BitDepths &clipBitDepths)
 
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
 
MESearchMethod m_motionEstimationSearchMethod
 
Int m_aaiAdaptSR [MAX_NUM_REF_LIST_ADAPT_SR][MAX_IDX_ADAPT_SR]
 
TComMv m_acMvPredictors [NUM_MV_PREDICTORS]
 
TEncSbac *** m_pppcRDSbacCoder
 
TEncSbacm_pcRDGoOnSbacCoder
 
DistParam m_cDistParam
 
Pelm_pTempPel
 
UInt m_auiMVPIdxCost [AMVP_MAX_NUM_CANDS+1][AMVP_MAX_NUM_CANDS+1]
 
TComMv m_integerMv2Nx2N [NUM_REF_PIC_LIST_01][MAX_NUM_REF]
 
Bool m_isInitialized
 
- 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 [LUMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS][LUMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS]
 
TComYuv m_filteredBlockTmp [LUMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS]
 
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]
 
TCoeff ** m_ppcQTTempArlCoeff [MAX_NUM_COMPONENT]
 
UCharm_puhQTTempTrIdx
 
UCharm_puhQTTempCbf [MAX_NUM_COMPONENT]
 
TComYuvm_pcQTTempTComYuv
 
TComYuv m_tmpYuvPred
 
SCharm_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, MESearchMethod motionEstimationSearchMethod, const UInt maxCUWidth, const UInt maxCUHeight, const UInt maxTotalCUDepth, TEncEntropy *pcEntropyCoder, TComRdCost *pcRdCost, TEncSbac ***pppcRDSbacCoder, TEncSbac *pcRDGoOnSbacCoder)
 
Void destroy ()
 
Void estIntraPredLumaQT (TComDataCU *pcCU, TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, TComYuv *pcRecoYuv, Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][MAX_CU_SIZE *MAX_CU_SIZE])
 
Void estIntraPredChromaQT (TComDataCU *pcCU, TComYuv *pcOrgYuv, TComYuv *pcPredYuv, TComYuv *pcResiYuv, TComYuv *pcRecoYuv, Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][MAX_CU_SIZE *MAX_CU_SIZE])
 
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 (const TComPattern *const pcPatternKey, IntTZSearchStruct &rcStruct, const Int iSearchX, const Int iSearchY, const UChar ucPointNr, const UInt uiDistance)
 
__inline Void xTZ2PointSearch (const TComPattern *const pcPatternKey, IntTZSearchStruct &rcStruct, const TComMv *const pcMvSrchRngLT, const TComMv *const pcMvSrchRngRB)
 
__inline Void xTZ8PointSquareSearch (const TComPattern *const pcPatternKey, IntTZSearchStruct &rcStruct, const TComMv *const pcMvSrchRngLT, const TComMv *const pcMvSrchRngRB, const Int iStartX, const Int iStartY, const Int iDist)
 
__inline Void xTZ8PointDiamondSearch (const TComPattern *const pcPatternKey, IntTZSearchStruct &rcStruct, const TComMv *const pcMvSrchRngLT, const TComMv *const pcMvSrchRngRB, const Int iStartX, const Int iStartY, const Int iDist, const Bool bCheckCornersAtDist1)
 
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][MAX_CU_SIZE *MAX_CU_SIZE], 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][MAX_CU_SIZE *MAX_CU_SIZE], 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)
 
SChar 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][MAX_CU_SIZE *MAX_CU_SIZE], 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 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 (const TComDataCU *const pcCU, const TComPattern *const pcPatternKey, const Pel *const piRefY, const Int iRefStride, const TComMv *const pcMvSrchRngLT, const TComMv *const pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD, const TComMv *const pIntegerMv2Nx2NPred, const Bool bExtendedSettings)
 
Void xTZSearchSelective (const TComDataCU *const pcCU, const TComPattern *const pcPatternKey, const Pel *const piRefY, const Int iRefStride, const TComMv *const pcMvSrchRngLT, const TComMv *const pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD, const TComMv *const pIntegerMv2Nx2NPred)
 
Void xSetSearchRange (const TComDataCU *const pcCU, const TComMv &cMvPred, const Int iSrchRng, TComMv &rcMvSrchRngLT, TComMv &rcMvSrchRngRB, const TComPattern *const pcPatternKey)
 
Void xInitTileBorders (const TComDataCU *const pcCU, TComPattern *pcPatternKey)
 
Void xPatternSearchFast (const TComDataCU *const pcCU, const TComPattern *const pcPatternKey, const Pel *const piRefY, const Int iRefStride, const TComMv *const pcMvSrchRngLT, const TComMv *const pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD, const TComMv *const pIntegerMv2Nx2NPred)
 
Void xPatternSearch (const TComPattern *const pcPatternKey, const Pel *piRefY, const Int iRefStride, const TComMv *const pcMvSrchRngLT, const TComMv *const pcMvSrchRngRB, TComMv &rcMv, Distortion &ruiSAD)
 
Void xPatternSearchFracDIF (Bool bIsLosslessCoded, TComPattern *pcPatternKey, Pel *piRefY, Int iRefStride, TComMv *pcMvInt, TComMv &rcMvHalf, TComMv &rcMvQter, Distortion &ruiCost)
 
Void xExtDIFUpSamplingH (TComPattern *pcPattern)
 Generate half-sample interpolated block. More...
 
Void xExtDIFUpSamplingQ (TComPattern *pcPatternKey, TComMv halfPelRef)
 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, const ChannelType compID)
 
UInt xUpdateCandList (UInt uiMode, Double uiCost, UInt uiFastCandNum, UInt *CandModeList, Double *CandCostList)
 
Void xAddSymbolBitsInter (TComDataCU *pcCU, UInt &ruiBits)
 
Void setWpScalingDistParam (TComDataCU *pcCU, Int iRefIdx, RefPicList eRefPicListCur)
 set wp tables More...
 

Detailed Description

encoder search class

Definition at line 68 of file TEncSearch.h.

Constructor & Destructor Documentation

TEncSearch::TEncSearch ( )

Definition at line 107 of file TEncSearch.cpp.

TEncSearch::~TEncSearch ( )
virtual

Definition at line 205 of file TEncSearch.cpp.

Member Function Documentation

Void TEncSearch::destroy ( )

Definition at line 151 of file TEncSearch.cpp.

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 4587 of file TEncSearch.cpp.

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

Definition at line 2588 of file TEncSearch.cpp.

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

Definition at line 2203 of file TEncSearch.cpp.

Void TEncSearch::init ( TEncCfg pcEncCfg,
TComTrQuant pcTrQuant,
Int  iSearchRange,
Int  bipredSearchRange,
MESearchMethod  motionEstimationSearchMethod,
const UInt  maxCUWidth,
const UInt  maxCUHeight,
const UInt  maxTotalCUDepth,
TEncEntropy pcEntropyCoder,
TComRdCost pcRdCost,
TEncSbac ***  pppcRDSbacCoder,
TEncSbac pcRDGoOnSbacCoder 
)

Definition at line 216 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 2790 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 2954 of file TEncSearch.cpp.

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

set ME search range

Definition at line 209 of file TEncSearch.h.

Void TEncSearch::setDistParamComp ( ComponentID  compIdx)
inlineprotected

Definition at line 463 of file TEncSearch.h.

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

set wp tables

Definition at line 5854 of file TEncSearch.cpp.

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

add inter-prediction syntax elements for a CU block

Parameters
pcCU
uiQp
uiTrMode
ruiBits
Returns
Void

Definition at line 5598 of file TEncSearch.cpp.

SChar 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 1893 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 3637 of file TEncSearch.cpp.

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

Definition at line 3628 of file TEncSearch.cpp.

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

Definition at line 978 of file TEncSearch.cpp.

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

Definition at line 1018 of file TEncSearch.cpp.

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

Definition at line 5377 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 2755 of file TEncSearch.cpp.

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

Definition at line 907 of file TEncSearch.cpp.

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

Definition at line 4733 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 3463 of file TEncSearch.cpp.

Void TEncSearch::xExtDIFUpSamplingH ( TComPattern pattern)
protected

Generate half-sample interpolated block.

Parameters
patternReference picture ROI
biPredFlag indicating whether block is for biprediction

Definition at line 5646 of file TEncSearch.cpp.

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

Generate quarter-sample interpolated blocks.

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

Definition at line 5693 of file TEncSearch.cpp.

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

Definition at line 3579 of file TEncSearch.cpp.

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

Definition at line 2833 of file TEncSearch.cpp.

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

Definition at line 1093 of file TEncSearch.cpp.

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

Definition at line 1119 of file TEncSearch.cpp.

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

Definition at line 3551 of file TEncSearch.cpp.

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

Definition at line 3701 of file TEncSearch.cpp.

Void TEncSearch::xInitTileBorders ( const TComDataCU *const  pcCU,
TComPattern pcPatternKey 
)
protected

Definition at line 3867 of file TEncSearch.cpp.

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

Definition at line 1129 of file TEncSearch.cpp.

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

Definition at line 1820 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 2856 of file TEncSearch.cpp.

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

Definition at line 5530 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 3743 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 823 of file TEncSearch.cpp.

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

Definition at line 3946 of file TEncSearch.cpp.

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

Definition at line 4010 of file TEncSearch.cpp.

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

Definition at line 4538 of file TEncSearch.cpp.

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

Definition at line 1941 of file TEncSearch.cpp.

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

Definition at line 1430 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 2937 of file TEncSearch.cpp.

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

Definition at line 5465 of file TEncSearch.cpp.

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

Definition at line 2151 of file TEncSearch.cpp.

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

Definition at line 1742 of file TEncSearch.cpp.

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

Definition at line 3892 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 1873 of file TEncSearch.cpp.

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

Definition at line 1785 of file TEncSearch.cpp.

__inline Void TEncSearch::xTZ2PointSearch ( const TComPattern *const  pcPatternKey,
IntTZSearchStruct rcStruct,
const TComMv *const  pcMvSrchRngLT,
const TComMv *const  pcMvSrchRngRB 
)
protected

Definition at line 422 of file TEncSearch.cpp.

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

Definition at line 613 of file TEncSearch.cpp.

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

Definition at line 555 of file TEncSearch.cpp.

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

Definition at line 4048 of file TEncSearch.cpp.

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

Definition at line 311 of file TEncSearch.cpp.

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

Definition at line 4356 of file TEncSearch.cpp.

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

Definition at line 5562 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 103 of file TEncSearch.h.

TComMv TEncSearch::m_acMvPredictors[NUM_MV_PREDICTORS]
protected

Definition at line 104 of file TEncSearch.h.

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

Definition at line 116 of file TEncSearch.h.

Int TEncSearch::m_bipredSearchRange
protected

Definition at line 101 of file TEncSearch.h.

DistParam TEncSearch::m_cDistParam
protected

Definition at line 109 of file TEncSearch.h.

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

Definition at line 118 of file TEncSearch.h.

Int TEncSearch::m_iSearchRange
protected

Definition at line 100 of file TEncSearch.h.

Bool TEncSearch::m_isInitialized
protected

Definition at line 120 of file TEncSearch.h.

MESearchMethod TEncSearch::m_motionEstimationSearchMethod
protected

Definition at line 102 of file TEncSearch.h.

TEncCfg* TEncSearch::m_pcEncCfg
protected

Definition at line 92 of file TEncSearch.h.

TEncEntropy* TEncSearch::m_pcEntropyCoder
protected

Definition at line 97 of file TEncSearch.h.

TComYuv* TEncSearch::m_pcQTTempTComYuv
private

Definition at line 78 of file TEncSearch.h.

TComYuv TEncSearch::m_pcQTTempTransformSkipTComYuv
private

Definition at line 85 of file TEncSearch.h.

TCoeff* TEncSearch::m_pcQTTempTUCoeff[MAX_NUM_COMPONENT]
private

Definition at line 83 of file TEncSearch.h.

TComRdCost* TEncSearch::m_pcRdCost
protected

Definition at line 96 of file TEncSearch.h.

TEncSbac* TEncSearch::m_pcRDGoOnSbacCoder
protected

Definition at line 108 of file TEncSearch.h.

TComTrQuant* TEncSearch::m_pcTrQuant
protected

Definition at line 95 of file TEncSearch.h.

SChar* TEncSearch::m_phQTTempCrossComponentPredictionAlpha[MAX_NUM_COMPONENT]
private

Definition at line 81 of file TEncSearch.h.

TCoeff** TEncSearch::m_ppcQTTempArlCoeff[MAX_NUM_COMPONENT]
private

Definition at line 73 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 87 of file TEncSearch.h.

TEncSbac*** TEncSearch::m_pppcRDSbacCoder
protected

Definition at line 107 of file TEncSearch.h.

Pel* TEncSearch::m_pSharedPredTransformSkip[MAX_NUM_COMPONENT]
private

Definition at line 82 of file TEncSearch.h.

Pel* TEncSearch::m_pTempPel
protected

Definition at line 112 of file TEncSearch.h.

UChar* TEncSearch::m_puhQTTempCbf[MAX_NUM_COMPONENT]
private

Definition at line 76 of file TEncSearch.h.

UChar* TEncSearch::m_puhQTTempTransformSkipFlag[MAX_NUM_COMPONENT]
private

Definition at line 84 of file TEncSearch.h.

UChar* TEncSearch::m_puhQTTempTrIdx
private

Definition at line 75 of file TEncSearch.h.

TComYuv TEncSearch::m_tmpYuvPred
private

Definition at line 79 of file TEncSearch.h.


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