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
[legend]

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 
)
inline

Definition at line 170 of file TComRdCost.h.

Double TComRdCost::getChromaWeight ( )
inline

Definition at line 143 of file TComRdCost.h.

Distortion TComRdCost::getCost ( UInt  b)
inline

Definition at line 165 of file TComRdCost.h.

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

Definition at line 166 of file TComRdCost.h.

Double TComRdCost::getLambda ( )
inline

Definition at line 142 of file TComRdCost.h.

Double TComRdCost::getSqrtLambda ( )
inline

Definition at line 140 of file TComRdCost.h.

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

Definition at line 159 of file TComRdCost.h.

Void TComRdCost::setCostMode ( CostMode  m)
inline

Definition at line 145 of file TComRdCost.h.

Void TComRdCost::setCostScale ( Int  iCostScale)
inline

Definition at line 164 of file TComRdCost.h.

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

Definition at line 136 of file TComRdCost.h.

Void TComRdCost::setFrameLambda ( Double  dLambda)
inline

Definition at line 138 of file TComRdCost.h.

Void TComRdCost::setPredictor ( TComMv rcMv)
inline

Definition at line 160 of file TComRdCost.h.

Member Data Documentation

FpDistFunc TComRdCost::m_afpDistortFunc[DF_TOTAL_FUNCTIONS]
private

Definition at line 116 of file TComRdCost.h.

CostMode TComRdCost::m_costMode
private

Definition at line 117 of file TComRdCost.h.

Double TComRdCost::m_dFrameLambda
private

Definition at line 123 of file TComRdCost.h.

Double TComRdCost::m_distortionWeight[MAX_NUM_COMPONENT]
private

Definition at line 118 of file TComRdCost.h.

Double TComRdCost::m_dLambda
private

Definition at line 119 of file TComRdCost.h.

Double TComRdCost::m_dLambdaMotionSAD[2]
private

Definition at line 121 of file TComRdCost.h.

Double TComRdCost::m_dLambdaMotionSSE[2]
private

Definition at line 122 of file TComRdCost.h.

Int TComRdCost::m_iCostScale
private

Definition at line 128 of file TComRdCost.h.

Double TComRdCost::m_motionLambda
private

Definition at line 127 of file TComRdCost.h.

TComMv TComRdCost::m_mvPredictor
private

Definition at line 126 of file TComRdCost.h.

Double TComRdCost::m_sqrtLambda
private

Definition at line 120 of file TComRdCost.h.


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