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
 
Pel * getPredictorPtr (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

TEncCfg * m_pcEncCfg
 
TComTrQuant * m_pcTrQuant
 
TComRdCost * m_pcRdCost
 
TEncEntropy * m_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
 
TEncSbac * m_pcRDGoOnSbacCoder
 
DistParam m_cDistParam
 
Pel * m_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
Pel * m_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
 
Pel * m_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]
 
UChar * m_puhQTTempTrIdx
 
UChar * m_puhQTTempCbf [MAX_NUM_COMPONENT]
 
TComYuv * m_pcQTTempTComYuv
 
TComYuv m_tmpYuvPred
 
SChar * m_phQTTempCrossComponentPredictionAlpha [MAX_NUM_COMPONENT]
 
Pel * m_pSharedPredTransformSkip [MAX_NUM_COMPONENT]
 
TCoeff * m_pcQTTempTUCoeff [MAX_NUM_COMPONENT]
 
UChar * m_puhQTTempTransformSkipFlag [MAX_NUM_COMPONENT]
 
TComYuv m_pcQTTempTransformSkipTComYuv
 
TCoeff * m_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: