HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
TComRdCost Class Reference

RD cost computation class. More...

#include <TComRdCost.h>

Collaboration diagram for TComRdCost:
Collaboration graph

Public Member Functions

Void setDistortionWeight (const ComponentID compID, const Double distortionWeight)
Void setFrameLambda (Double dLambda)
Double getSqrtLambda ()
Double getLambda ()
Double getChromaWeight ()
Void setCostMode (CostMode m)
Void selectMotionLambda (Bool bSad, Int iAdd, Bool bIsTransquantBypass)
Void setPredictor (TComMv &rcMv)
Void setCostScale (Int iCostScale)
Distortion getCost (UInt b)
Distortion getCostOfVectorWithPredictor (const Int x, const Int y)
UInt getBitsOfVectorWithPredictor (const Int x, const Int y)

Private Attributes

FpDistFunc m_afpDistortFunc [DF_TOTAL_FUNCTIONS]
CostMode m_costMode
Double m_distortionWeight [MAX_NUM_COMPONENT]
Double m_dLambda
Double m_sqrtLambda
Double m_dLambdaMotionSAD [2]
Double m_dLambdaMotionSSE [2]
Double m_dFrameLambda
TComMv m_mvPredictor
Double m_motionLambda
Int m_iCostScale
 TComRdCost ()
virtual ~TComRdCost ()
Double calcRdCost (Double numBits, Double distortion, DFunc eDFunc=DF_DEFAULT)
Void setLambda (Double dLambda, const BitDepths &bitDepths)
Void init ()
Void setDistParam (UInt uiBlkWidth, UInt uiBlkHeight, DFunc eDFunc, DistParam &rcDistParam)
Void setDistParam (const TComPattern *const pcPatternKey, const Pel *piRefY, Int iRefStride, DistParam &rcDistParam)
Void setDistParam (const TComPattern *const pcPatternKey, const Pel *piRefY, Int iRefStride, Int iStep, DistParam &rcDistParam, Bool bHADME=false)
Void setDistParam (DistParam &rcDP, Int bitDepth, const Pel *p1, Int iStride1, const Pel *p2, Int iStride2, Int iWidth, Int iHeight, Bool bHadamard=false)
Distortion calcHAD (Int bitDepth, const Pel *pi0, Int iStride0, const Pel *pi1, Int iStride1, Int iWidth, Int iHeight)
Distortion getDistPart (Int bitDepth, const Pel *piCur, Int iCurStride, const Pel *piOrg, Int iOrgStride, UInt uiBlkWidth, UInt uiBlkHeight, const ComponentID compID, DFunc eDFunc=DF_SSE)
static UInt xGetExpGolombNumberOfBits (Int iVal)
static Distortion xGetSSE (DistParam *pcDtParam)
static Distortion xGetSSE4 (DistParam *pcDtParam)
static Distortion xGetSSE8 (DistParam *pcDtParam)
static Distortion xGetSSE16 (DistParam *pcDtParam)
static Distortion xGetSSE32 (DistParam *pcDtParam)
static Distortion xGetSSE64 (DistParam *pcDtParam)
static Distortion xGetSSE16N (DistParam *pcDtParam)
static Distortion xGetSAD (DistParam *pcDtParam)
static Distortion xGetSAD4 (DistParam *pcDtParam)
static Distortion xGetSAD8 (DistParam *pcDtParam)
static Distortion xGetSAD16 (DistParam *pcDtParam)
static Distortion xGetSAD32 (DistParam *pcDtParam)
static Distortion xGetSAD64 (DistParam *pcDtParam)
static Distortion xGetSAD16N (DistParam *pcDtParam)
static Distortion xGetSAD12 (DistParam *pcDtParam)
static Distortion xGetSAD24 (DistParam *pcDtParam)
static Distortion xGetSAD48 (DistParam *pcDtParam)
static Distortion xGetHADs (DistParam *pcDtParam)
static Distortion xCalcHADs2x2 (const Pel *piOrg, const Pel *piCurr, Int iStrideOrg, Int iStrideCur, Int iStep)
static Distortion xCalcHADs4x4 (const Pel *piOrg, const Pel *piCurr, Int iStrideOrg, Int iStrideCur, Int iStep)
static Distortion xCalcHADs8x8 (const Pel *piOrg, const Pel *piCurr, Int iStrideOrg, Int iStrideCur, Int iStep)

Detailed Description

RD cost computation class.

Definition at line 111 of file TComRdCost.h.

Member Function Documentation

UInt TComRdCost::getBitsOfVectorWithPredictor ( const Int  x,
const Int  y 

Definition at line 170 of file TComRdCost.h.

Double TComRdCost::getChromaWeight ( )

Definition at line 143 of file TComRdCost.h.

Distortion TComRdCost::getCost ( UInt  b)

Definition at line 165 of file TComRdCost.h.

Distortion TComRdCost::getCostOfVectorWithPredictor ( const Int  x,
const Int  y 

Definition at line 166 of file TComRdCost.h.

Double TComRdCost::getLambda ( )

Definition at line 142 of file TComRdCost.h.

Double TComRdCost::getSqrtLambda ( )

Definition at line 140 of file TComRdCost.h.

Void TComRdCost::selectMotionLambda ( Bool  bSad,
Int  iAdd,
Bool  bIsTransquantBypass 

Definition at line 159 of file TComRdCost.h.

Void TComRdCost::setCostMode ( CostMode  m)

Definition at line 145 of file TComRdCost.h.

Void TComRdCost::setCostScale ( Int  iCostScale)

Definition at line 164 of file TComRdCost.h.

Void TComRdCost::setDistortionWeight ( const ComponentID  compID,
const Double  distortionWeight 

Definition at line 136 of file TComRdCost.h.

Void TComRdCost::setFrameLambda ( Double  dLambda)

Definition at line 138 of file TComRdCost.h.

Void TComRdCost::setPredictor ( TComMv rcMv)

Definition at line 160 of file TComRdCost.h.

Member Data Documentation

FpDistFunc TComRdCost::m_afpDistortFunc[DF_TOTAL_FUNCTIONS]

Definition at line 116 of file TComRdCost.h.

CostMode TComRdCost::m_costMode

Definition at line 117 of file TComRdCost.h.

Double TComRdCost::m_dFrameLambda

Definition at line 123 of file TComRdCost.h.

Double TComRdCost::m_distortionWeight[MAX_NUM_COMPONENT]

Definition at line 118 of file TComRdCost.h.

Double TComRdCost::m_dLambda

Definition at line 119 of file TComRdCost.h.

Double TComRdCost::m_dLambdaMotionSAD[2]

Definition at line 121 of file TComRdCost.h.

Double TComRdCost::m_dLambdaMotionSSE[2]

Definition at line 122 of file TComRdCost.h.

Int TComRdCost::m_iCostScale

Definition at line 128 of file TComRdCost.h.

Double TComRdCost::m_motionLambda

Definition at line 127 of file TComRdCost.h.

TComMv TComRdCost::m_mvPredictor

Definition at line 126 of file TComRdCost.h.

Double TComRdCost::m_sqrtLambda

Definition at line 120 of file TComRdCost.h.

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