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

transform and quantization class More...

#include <TComTrQuant.h>

Collaboration diagram for TComTrQuant:
Collaboration graph
[legend]

Public Member Functions

Void setLambdas (const Double lambdas[MAX_NUM_COMPONENT])
 
Void selectLambda (const ComponentID compIdx)
 
Void setRDOQOffset (UInt uiRDOQOffset)
 
DoublegetErrScaleCoeff (UInt list, UInt size, Int qp)
 
DoublegetErrScaleCoeffNoScalingList (UInt list, UInt size, Int qp)
 get Error Scale Coefficent More...
 
IntgetQuantCoeff (UInt list, Int qp, UInt size)
 get Error Scale Coefficent More...
 
IntgetDequantCoeff (UInt list, Int qp, UInt size)
 get Quant Coefficent More...
 
Void setUseScalingList (Bool bUseScalingList)
 get DeQuant Coefficent More...
 
Bool getUseScalingList (const UInt width, const UInt height, const Bool isTransformSkip)
 
Int getQpDelta (Int qp)
 
IntgetSliceNSamples ()
 
DoublegetSliceSumC ()
 

Public Attributes

estBitsSbacStructm_pcEstBitsSbac
 

Protected Attributes

Int m_qpDelta [51+1]
 
Int m_sliceNsamples [30+1]
 
Double m_sliceSumC [30+1]
 
TCoeffm_plTempCoeff
 
Double m_lambdas [MAX_NUM_COMPONENT]
 
Double m_dLambda
 
UInt m_uiRDOQOffset
 
UInt m_uiMaxTrSize
 
Bool m_bEnc
 
Bool m_useRDOQ
 
Bool m_useRDOQTS
 
Bool m_bUseAdaptQpSelect
 
Bool m_useTransformSkipFast
 
Bool m_scalingListEnabledFlag
 
Intm_quantCoef [SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
 array of quantization matrix coefficient 4x4 More...
 
Intm_dequantCoef [SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
 array of dequantization matrix coefficient 4x4 More...
 
Doublem_errScale [SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
 array of quantization matrix coefficient 4x4 More...
 
Double m_errScaleNoScalingList [SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
 array of quantization matrix coefficient 4x4 More...
 
 TComTrQuant ()
 
 ~TComTrQuant ()
 
Void init (UInt uiMaxTrSize, Bool useRDOQ=false, Bool useRDOQTS=false, Bool bEnc=false, Bool useTransformSkipFast=false, Bool bUseAdaptQpSelect=false)
 
Void transformNxN (TComTU &rTu, const ComponentID compID, Pel *pcResidual, const UInt uiStride, TCoeff *rpcCoeff, TCoeff *rpcArlCoeff, TCoeff &uiAbsSum, const QpParam &cQP)
 
Void invTransformNxN (TComTU &rTu, const ComponentID compID, Pel *pcResidual, const UInt uiStride, TCoeff *pcCoeff, const QpParam &cQP)
 
Void invRecurTransformNxN (const ComponentID compID, TComYuv *pResidual, TComTU &rTu)
 
Void rdpcmNxN (TComTU &rTu, const ComponentID compID, Pel *pcResidual, const UInt uiStride, const QpParam &cQP, TCoeff *pcCoeff, TCoeff &uiAbsSum, RDPCMMode &rdpcmMode)
 
Void invRdpcmNxN (TComTU &rTu, const ComponentID compID, Pel *pcResidual, const UInt uiStride)
 
Void applyForwardRDPCM (TComTU &rTu, const ComponentID compID, Pel *pcResidual, const UInt uiStride, const QpParam &cQP, TCoeff *pcCoeff, TCoeff &uiAbsSum, const RDPCMMode mode)
 
Void initScalingList ()
 
Void destroyScalingList ()
 
Void setErrScaleCoeff (UInt list, UInt size, Int qp)
 
Void setFlatScalingList (const ChromaFormat format)
 
Void xsetFlatScalingList (UInt list, UInt size, Int qp, const ChromaFormat format)
 
Void xSetScalingListEnc (TComScalingList *scalingList, UInt list, UInt size, Int qp, const ChromaFormat format)
 
Void xSetScalingListDec (const TComScalingList &scalingList, UInt list, UInt size, Int qp, const ChromaFormat format)
 
Void setScalingList (TComScalingList *scalingList, const ChromaFormat format)
 
Void setScalingListDec (const TComScalingList &scalingList, const ChromaFormat format)
 
Void processScalingListEnc (Int *coeff, Int *quantcoeff, Int quantScales, UInt height, UInt width, UInt ratio, Int sizuNum, UInt dc)
 
Void processScalingListDec (const Int *coeff, Int *dequantcoeff, Int invQuantScales, UInt height, UInt width, UInt ratio, Int sizuNum, UInt dc)
 
Void initSliceQpDelta ()
 
Void storeSliceQpNext (TComSlice *pcSlice)
 
Void clearSliceARLCnt ()
 
Void transformSkipQuantOneSample (TComTU &rTu, const ComponentID compID, const TCoeff resiDiff, TCoeff *pcCoeff, const UInt uiPos, const QpParam &cQP, const Bool bUseHalfRoundingPoint)
 
Void invTrSkipDeQuantOneSample (TComTU &rTu, ComponentID compID, TCoeff pcCoeff, Pel &reconSample, const QpParam &cQP, UInt uiPos)
 
static Int calcPatternSigCtx (const UInt *sigCoeffGroupFlag, UInt uiCGPosX, UInt uiCGPosY, UInt widthInGroups, UInt heightInGroups)
 
static Int getSigCtxInc (Int patternSigCtx, const TUEntropyCodingParameters &codingParameters, const Int scanPosition, const Int log2BlockWidth, const Int log2BlockHeight, const ChannelType chanType)
 
static UInt getSigCoeffGroupCtxInc (const UInt *uiSigCoeffGroupFlag, const UInt uiCGPosX, const UInt uiCGPosY, const UInt widthInGroups, const UInt heightInGroups)
 
static Void crossComponentPrediction (TComTU &rTu, const ComponentID compID, const Pel *piResiL, const Pel *piResiC, Pel *piResiT, const Int width, const Int height, const Int strideL, const Int strideC, const Int strideT, const Bool reverse)
 
Void xT (const ComponentID compID, Bool useDST, Pel *piBlkResi, UInt uiStride, TCoeff *psCoeff, Int iWidth, Int iHeight)
 
Void xTransformSkip (Pel *piBlkResi, UInt uiStride, TCoeff *psCoeff, TComTU &rTu, const ComponentID component)
 
Void signBitHidingHDQ (const ComponentID compID, TCoeff *pQCoef, TCoeff *pCoef, TCoeff *deltaU, const TUEntropyCodingParameters &codingParameters)
 
Void xQuant (TComTU &rTu, TCoeff *pSrc, TCoeff *pDes, TCoeff *pArlDes, TCoeff &uiAbsSum, const ComponentID compID, const QpParam &cQP)
 
Void xRateDistOptQuant (TComTU &rTu, TCoeff *plSrcCoeff, TCoeff *piDstCoeff, TCoeff *piArlDstCoeff, TCoeff &uiAbsSum, const ComponentID compID, const QpParam &cQP)
 
__inline UInt xGetCodedLevel (Double &rd64CodedCost, Double &rd64CodedCost0, Double &rd64CodedCostSig, Intermediate_Int lLevelDouble, UInt uiMaxAbsLevel, UShort ui16CtxNumSig, UShort ui16CtxNumOne, UShort ui16CtxNumAbs, UShort ui16AbsGoRice, UInt c1Idx, UInt c2Idx, Int iQBits, Double errorScale, Bool bLast, Bool useLimitedPrefixLength, ChannelType channelType) const
 
__inline Int xGetICRate (UInt uiAbsLevel, UShort ui16CtxNumOne, UShort ui16CtxNumAbs, UShort ui16AbsGoRice, UInt c1Idx, UInt c2Idx, Bool useLimitedPrefixLength, ChannelType channelType) const
 
__inline Double xGetRateLast (const UInt uiPosX, const UInt uiPosY, const ComponentID component) const
 
__inline Double xGetRateSigCoeffGroup (UShort uiSignificanceCoeffGroup, UShort ui16CtxNumSig) const
 
__inline Double xGetRateSigCoef (UShort uiSignificance, UShort ui16CtxNumSig) const
 
__inline Double xGetICost (Double dRate) const
 
__inline Double xGetIEPRate () const
 
Void xDeQuant (TComTU &rTu, const TCoeff *pSrc, TCoeff *pDes, const ComponentID compID, const QpParam &cQP)
 
Void xIT (const ComponentID compID, Bool useDST, TCoeff *plCoef, Pel *pResidual, UInt uiStride, Int iWidth, Int iHeight)
 
Void xITransformSkip (TCoeff *plCoef, Pel *pResidual, UInt uiStride, TComTU &rTu, const ComponentID component)
 

Detailed Description

transform and quantization class

Definition at line 98 of file TComTrQuant.h.

Constructor & Destructor Documentation

TComTrQuant::TComTrQuant ( )

Definition at line 126 of file TComTrQuant.cpp.

TComTrQuant::~TComTrQuant ( )

Definition at line 136 of file TComTrQuant.cpp.

Member Function Documentation

Void TComTrQuant::applyForwardRDPCM ( TComTU rTu,
const ComponentID  compID,
Pel pcResidual,
const UInt  uiStride,
const QpParam cQP,
TCoeff pcCoeff,
TCoeff uiAbsSum,
const RDPCMMode  mode 
)

Definition at line 1659 of file TComTrQuant.cpp.

Int TComTrQuant::calcPatternSigCtx ( const UInt sigCoeffGroupFlag,
UInt  uiCGPosX,
UInt  uiCGPosY,
UInt  widthInGroups,
UInt  heightInGroups 
)
static

Pattern decision for context derivation process of significant_coeff_flag

Parameters
sigCoeffGroupFlagpointer to prior coded significant coeff group
uiCGPosXcolumn of current coefficient group
uiCGPosYrow of current coefficient group
widthInGroupswidth of the block
heightInGroupsheight of the block
Returns
pattern for current coefficient group

Definition at line 2584 of file TComTrQuant.cpp.

Void TComTrQuant::clearSliceARLCnt ( )

Definition at line 219 of file TComTrQuant.cpp.

Void TComTrQuant::crossComponentPrediction ( TComTU rTu,
const ComponentID  compID,
const Pel piResiL,
const Pel piResiC,
Pel piResiT,
const Int  width,
const Int  height,
const Int  strideL,
const Int  strideC,
const Int  strideT,
const Bool  reverse 
)
static

Definition at line 3387 of file TComTrQuant.cpp.

Void TComTrQuant::destroyScalingList ( )

destroy quantization matrix array

Definition at line 3212 of file TComTrQuant.cpp.

Int* TComTrQuant::getDequantCoeff ( UInt  list,
Int  qp,
UInt  size 
)
inline

get Quant Coefficent

Definition at line 178 of file TComTrQuant.h.

Double* TComTrQuant::getErrScaleCoeff ( UInt  list,
UInt  size,
Int  qp 
)
inline

Definition at line 175 of file TComTrQuant.h.

Double& TComTrQuant::getErrScaleCoeffNoScalingList ( UInt  list,
UInt  size,
Int  qp 
)
inline

get Error Scale Coefficent

Definition at line 176 of file TComTrQuant.h.

Int TComTrQuant::getQpDelta ( Int  qp)
inline

Definition at line 193 of file TComTrQuant.h.

Int* TComTrQuant::getQuantCoeff ( UInt  list,
Int  qp,
UInt  size 
)
inline

get Error Scale Coefficent

Definition at line 177 of file TComTrQuant.h.

UInt TComTrQuant::getSigCoeffGroupCtxInc ( const UInt uiSigCoeffGroupFlag,
const UInt  uiCGPosX,
const UInt  uiCGPosY,
const UInt  widthInGroups,
const UInt  heightInGroups 
)
static

Context derivation process of coeff_abs_significant_flag

Parameters
uiSigCoeffGroupFlagsignificance map of L1
uiCGPosXcolumn of current scan position
uiCGPosYrow of current scan position
widthInGroupswidth of the block
heightInGroupsheight of the block
Returns
ctxInc for current scan position

Definition at line 2949 of file TComTrQuant.cpp.

Int TComTrQuant::getSigCtxInc ( Int  patternSigCtx,
const TUEntropyCodingParameters codingParameters,
const Int  scanPosition,
const Int  log2BlockWidth,
const Int  log2BlockHeight,
const ChannelType  chanType 
)
static

Context derivation process of coeff_abs_significant_flag

Parameters
patternSigCtxpattern for current coefficient group
codingParameterscoding parameters for the TU (includes the scan)
scanPositioncurrent position in scan order
log2BlockWidthlog2 width of the block
log2BlockHeightlog2 height of the block
chanTypechannel type (CHANNEL_TYPE_LUMA/CHROMA)
Returns
ctxInc for current scan position

Definition at line 2619 of file TComTrQuant.cpp.

Int* TComTrQuant::getSliceNSamples ( )
inline

Definition at line 194 of file TComTrQuant.h.

Double* TComTrQuant::getSliceSumC ( )
inline

Definition at line 195 of file TComTrQuant.h.

Bool TComTrQuant::getUseScalingList ( const UInt  width,
const UInt  height,
const Bool  isTransformSkip 
)
inline

Definition at line 180 of file TComTrQuant.h.

Void TComTrQuant::init ( UInt  uiMaxTrSize,
Bool  useRDOQ = false,
Bool  useRDOQTS = false,
Bool  bEnc = false,
Bool  useTransformSkipFast = false,
Bool  bUseAdaptQpSelect = false 
)

Definition at line 1355 of file TComTrQuant.cpp.

Void TComTrQuant::initScalingList ( )

initialization process of scaling list array

Definition at line 3194 of file TComTrQuant.cpp.

Void TComTrQuant::initSliceQpDelta ( )

Definition at line 211 of file TComTrQuant.cpp.

Void TComTrQuant::invRdpcmNxN ( TComTU rTu,
const ComponentID  compID,
Pel pcResidual,
const UInt  uiStride 
)

Definition at line 1781 of file TComTrQuant.cpp.

Void TComTrQuant::invRecurTransformNxN ( const ComponentID  compID,
TComYuv pResidual,
TComTU rTu 
)

Definition at line 1588 of file TComTrQuant.cpp.

Void TComTrQuant::invTransformNxN ( TComTU rTu,
const ComponentID  compID,
Pel pcResidual,
const UInt  uiStride,
TCoeff pcCoeff,
const QpParam cQP 
)

Definition at line 1462 of file TComTrQuant.cpp.

Void TComTrQuant::invTrSkipDeQuantOneSample ( TComTU rTu,
ComponentID  compID,
TCoeff  pcCoeff,
Pel reconSample,
const QpParam cQP,
UInt  uiPos 
)

Definition at line 3293 of file TComTrQuant.cpp.

Void TComTrQuant::processScalingListDec ( const Int coeff,
Int dequantcoeff,
Int  invQuantScales,
UInt  height,
UInt  width,
UInt  ratio,
Int  sizuNum,
UInt  dc 
)

set quantized matrix coefficient for decode

Parameters
coeffquantaized matrix address
dequantcoeffquantaized matrix address
invQuantScalesIQ(QP%6))
heightheight
widthwidth
ratioratio for upscale
sizuNummatrix size
dcdc parameter

Definition at line 3176 of file TComTrQuant.cpp.

Void TComTrQuant::processScalingListEnc ( Int coeff,
Int quantcoeff,
Int  quantScales,
UInt  height,
UInt  width,
UInt  ratio,
Int  sizuNum,
UInt  dc 
)

set quantized matrix coefficient for encode

Parameters
coeffquantaized matrix address
quantcoeffquantaized matrix address
quantScalesQ(QP%6)
heightheight
widthwidth
ratioratio for upscale
sizuNummatrix size
dcdc parameter

Definition at line 3150 of file TComTrQuant.cpp.

Void TComTrQuant::rdpcmNxN ( TComTU rTu,
const ComponentID  compID,
Pel pcResidual,
const UInt  uiStride,
const QpParam cQP,
TCoeff pcCoeff,
TCoeff uiAbsSum,
RDPCMMode rdpcmMode 
)

Definition at line 1714 of file TComTrQuant.cpp.

Void TComTrQuant::selectLambda ( const ComponentID  compIdx)
inline

Definition at line 148 of file TComTrQuant.h.

Void TComTrQuant::setErrScaleCoeff ( UInt  list,
UInt  size,
Int  qp 
)

set error scale coefficients

Parameters
listList ID
sizeSize
qpQuantization parameter

Definition at line 3018 of file TComTrQuant.cpp.

Void TComTrQuant::setFlatScalingList ( const ChromaFormat  format)

set flat matrix value to quantized coefficient

Definition at line 3097 of file TComTrQuant.cpp.

Void TComTrQuant::setLambdas ( const Double  lambdas[MAX_NUM_COMPONENT])
inline

Definition at line 147 of file TComTrQuant.h.

Void TComTrQuant::setRDOQOffset ( UInt  uiRDOQOffset)
inline

Definition at line 152 of file TComTrQuant.h.

Void TComTrQuant::setScalingList ( TComScalingList scalingList,
const ChromaFormat  format 
)

set quantized matrix coefficient for encode

Parameters
scalingListquantized matrix address
formatchroma format

Definition at line 2975 of file TComTrQuant.cpp.

Void TComTrQuant::setScalingListDec ( const TComScalingList scalingList,
const ChromaFormat  format 
)

set quantized matrix coefficient for decode

Parameters
scalingListquantized matrix address
formatchroma format

Definition at line 2997 of file TComTrQuant.cpp.

Void TComTrQuant::setUseScalingList ( Bool  bUseScalingList)
inline

get DeQuant Coefficent

Definition at line 179 of file TComTrQuant.h.

Void TComTrQuant::signBitHidingHDQ ( const ComponentID  compID,
TCoeff pQCoef,
TCoeff pCoef,
TCoeff deltaU,
const TUEntropyCodingParameters codingParameters 
)
private

Definition at line 991 of file TComTrQuant.cpp.

Void TComTrQuant::storeSliceQpNext ( TComSlice pcSlice)

Definition at line 154 of file TComTrQuant.cpp.

Void TComTrQuant::transformNxN ( TComTU rTu,
const ComponentID  compID,
Pel pcResidual,
const UInt  uiStride,
TCoeff rpcCoeff,
TCoeff rpcArlCoeff,
TCoeff uiAbsSum,
const QpParam cQP 
)

Definition at line 1376 of file TComTrQuant.cpp.

Void TComTrQuant::transformSkipQuantOneSample ( TComTU rTu,
const ComponentID  compID,
const TCoeff  resiDiff,
TCoeff pcCoeff,
const UInt  uiPos,
const QpParam cQP,
const Bool  bUseHalfRoundingPoint 
)

Definition at line 3237 of file TComTrQuant.cpp.

Void TComTrQuant::xDeQuant ( TComTU rTu,
const TCoeff pSrc,
TCoeff pDes,
const ComponentID  compID,
const QpParam cQP 
)
private

Definition at line 1242 of file TComTrQuant.cpp.

__inline UInt TComTrQuant::xGetCodedLevel ( Double rd64CodedCost,
Double rd64CodedCost0,
Double rd64CodedCostSig,
Intermediate_Int  lLevelDouble,
UInt  uiMaxAbsLevel,
UShort  ui16CtxNumSig,
UShort  ui16CtxNumOne,
UShort  ui16CtxNumAbs,
UShort  ui16AbsGoRice,
UInt  c1Idx,
UInt  c2Idx,
Int  iQBits,
Double  errorScale,
Bool  bLast,
Bool  useLimitedPrefixLength,
ChannelType  channelType 
) const
private

Get the best level in RD sense

Parameters
rd64CodedCostreference to coded cost
rd64CodedCost0reference to cost when coefficient is 0
rd64CodedCostSigreference to cost of significant coefficient
lLevelDoublereference to unscaled quantized level
uiMaxAbsLevelscaled quantized level
ui16CtxNumSigcurrent ctxInc for coeff_abs_significant_flag
ui16CtxNumOnecurrent ctxInc for coeff_abs_level_greater1 (1st bin of coeff_abs_level_minus1 in AVC)
ui16CtxNumAbscurrent ctxInc for coeff_abs_level_greater2 (remaining bins of coeff_abs_level_minus1 in AVC)
ui16AbsGoRicecurrent Rice parameter for coeff_abs_level_minus3
c1Idx
c2Idx
iQBitsquantization step size
errorScale
bLastindicates if the coefficient is the last significant
useLimitedPrefixLength
channelTypetexture channel type (luma/chroma)
Returns
best quantized transform level for given scan position This method calculates the best quantized transform level for a given scan position.

Definition at line 2738 of file TComTrQuant.cpp.

__inline Double TComTrQuant::xGetICost ( Double  dRate) const
private

Get the cost for a specific rate

Parameters
dRaterate of a bit
Returns
cost at the specific rate

Definition at line 2928 of file TComTrQuant.cpp.

__inline Int TComTrQuant::xGetICRate ( UInt  uiAbsLevel,
UShort  ui16CtxNumOne,
UShort  ui16CtxNumAbs,
UShort  ui16AbsGoRice,
UInt  c1Idx,
UInt  c2Idx,
Bool  useLimitedPrefixLength,
ChannelType  channelType 
) const
private

Calculates the cost for specific absolute transform level

Parameters
uiAbsLevelscaled quantized level
ui16CtxNumOnecurrent ctxInc for coeff_abs_level_greater1 (1st bin of coeff_abs_level_minus1 in AVC)
ui16CtxNumAbscurrent ctxInc for coeff_abs_level_greater2 (remaining bins of coeff_abs_level_minus1 in AVC)
ui16AbsGoRiceRice parameter for coeff_abs_level_minus3
c1Idx
c2Idx
useLimitedPrefixLength
channelTypetexture channel type (luma/chroma)
Returns
cost of given absolute transform level

Definition at line 2807 of file TComTrQuant.cpp.

__inline Double TComTrQuant::xGetIEPRate ( ) const
private

Get the cost of an equal probable bit

Returns
cost of equal probable bit

Definition at line 2936 of file TComTrQuant.cpp.

__inline Double TComTrQuant::xGetRateLast ( const UInt  uiPosX,
const UInt  uiPosY,
const ComponentID  component 
) const
private

Calculates the cost of signaling the last significant coefficient in the block

Parameters
uiPosXX coordinate of the last significant coefficient
uiPosYY coordinate of the last significant coefficient
componentcolour component ID
Returns
cost of last significant coefficient

Definition at line 2898 of file TComTrQuant.cpp.

__inline Double TComTrQuant::xGetRateSigCoef ( UShort  uiSignificance,
UShort  ui16CtxNumSig 
) const
private

Definition at line 2918 of file TComTrQuant.cpp.

__inline Double TComTrQuant::xGetRateSigCoeffGroup ( UShort  uiSignificanceCoeffGroup,
UShort  ui16CtxNumSig 
) const
private

Definition at line 2883 of file TComTrQuant.cpp.

Void TComTrQuant::xIT ( const ComponentID  compID,
Bool  useDST,
TCoeff plCoef,
Pel pResidual,
UInt  uiStride,
Int  iWidth,
Int  iHeight 
)
private

Wrapper function between HM interface and core NxN inverse transform (2D)

Parameters
compIDcolour component ID
useDST
plCoefinput data (transform coefficients)
pResidualoutput data (residual)
uiStridestride of input residual data
iWidthtransform width
iHeighttransform height

Definition at line 1892 of file TComTrQuant.cpp.

Void TComTrQuant::xITransformSkip ( TCoeff plCoef,
Pel pResidual,
UInt  uiStride,
TComTU rTu,
const ComponentID  component 
)
private

Wrapper function between HM interface and core NxN transform skipping

Parameters
plCoefinput data (coefficients)
pResidualoutput data (residual)
uiStridestride of input residual data
rTureference to transform data
componentcolour component ID

Definition at line 1980 of file TComTrQuant.cpp.

Void TComTrQuant::xQuant ( TComTU rTu,
TCoeff pSrc,
TCoeff pDes,
TCoeff pArlDes,
TCoeff uiAbsSum,
const ComponentID  compID,
const QpParam cQP 
)
private

Definition at line 1126 of file TComTrQuant.cpp.

Void TComTrQuant::xRateDistOptQuant ( TComTU rTu,
TCoeff plSrcCoeff,
TCoeff piDstCoeff,
TCoeff piArlDstCoeff,
TCoeff uiAbsSum,
const ComponentID  compID,
const QpParam cQP 
)
private

RDOQ with CABAC

Parameters
rTureference to transform data
plSrcCoeffpointer to input buffer
piDstCoeffreference to pointer to output buffer
piArlDstCoeff
uiAbsSumreference to absolute sum of quantized transform coefficient
compIDcolour component ID
cQPreference to quantization parameters

Rate distortion optimized quantization for entropy coding engines using probability models like CABAC

Definition at line 2033 of file TComTrQuant.cpp.

Void TComTrQuant::xsetFlatScalingList ( UInt  list,
UInt  size,
Int  qp,
const ChromaFormat  format 
)

set flat matrix value to quantized coefficient

Parameters
listList ID
sizesize index
qpQuantization parameter
formatchroma format

Definition at line 3121 of file TComTrQuant.cpp.

Void TComTrQuant::xSetScalingListDec ( const TComScalingList scalingList,
UInt  listId,
UInt  sizeId,
Int  qp,
const ChromaFormat  format 
)

set quantized matrix coefficient for decode

Parameters
scalingListquantaized matrix address
listIdList index
sizeIdsize index
qpQuantization parameter
formatchroma format

Definition at line 3075 of file TComTrQuant.cpp.

Void TComTrQuant::xSetScalingListEnc ( TComScalingList scalingList,
UInt  listId,
UInt  sizeId,
Int  qp,
const ChromaFormat  format 
)

set quantized matrix coefficient for encode

Parameters
scalingListquantized matrix address
listIdList index
sizeIdsize index
qpQuantization parameter
formatchroma format

Definition at line 3049 of file TComTrQuant.cpp.

Void TComTrQuant::xT ( const ComponentID  compID,
Bool  useDST,
Pel piBlkResi,
UInt  uiStride,
TCoeff psCoeff,
Int  iWidth,
Int  iHeight 
)
private

Wrapper function between HM interface and core NxN forward transform (2D)

Parameters
compIDcolour component ID
useDST
piBlkResiinput data (residual)
uiStridestride of input residual data
psCoeffoutput data (transform coefficients)
iWidthtransform width
iHeighttransform height

Definition at line 1857 of file TComTrQuant.cpp.

Void TComTrQuant::xTransformSkip ( Pel piBlkResi,
UInt  uiStride,
TCoeff psCoeff,
TComTU rTu,
const ComponentID  component 
)
private

Wrapper function between HM interface and core 4x4 transform skipping

Parameters
piBlkResiinput data (residual)
uiStridestride of input residual data
psCoeffoutput data (transform coefficients)
rTureference to transform data
componentcolour component

Definition at line 1933 of file TComTrQuant.cpp.

Member Data Documentation

Bool TComTrQuant::m_bEnc
protected

Definition at line 215 of file TComTrQuant.h.

Bool TComTrQuant::m_bUseAdaptQpSelect
protected

Definition at line 219 of file TComTrQuant.h.

Int* TComTrQuant::m_dequantCoef[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
protected

array of dequantization matrix coefficient 4x4

Definition at line 226 of file TComTrQuant.h.

Double TComTrQuant::m_dLambda
protected

Definition at line 212 of file TComTrQuant.h.

Double* TComTrQuant::m_errScale[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
protected

array of quantization matrix coefficient 4x4

Definition at line 227 of file TComTrQuant.h.

Double TComTrQuant::m_errScaleNoScalingList[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
protected

array of quantization matrix coefficient 4x4

Definition at line 228 of file TComTrQuant.h.

Double TComTrQuant::m_lambdas[MAX_NUM_COMPONENT]
protected

Definition at line 210 of file TComTrQuant.h.

estBitsSbacStruct* TComTrQuant::m_pcEstBitsSbac

Definition at line 154 of file TComTrQuant.h.

TCoeff* TComTrQuant::m_plTempCoeff
protected

Definition at line 206 of file TComTrQuant.h.

Int TComTrQuant::m_qpDelta[51+1]
protected

Definition at line 202 of file TComTrQuant.h.

Int* TComTrQuant::m_quantCoef[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)][6]
protected

array of quantization matrix coefficient 4x4

Definition at line 225 of file TComTrQuant.h.

Bool TComTrQuant::m_scalingListEnabledFlag
protected

Definition at line 223 of file TComTrQuant.h.

Int TComTrQuant::m_sliceNsamples[30+1]
protected

Definition at line 203 of file TComTrQuant.h.

Double TComTrQuant::m_sliceSumC[30+1]
protected

Definition at line 204 of file TComTrQuant.h.

UInt TComTrQuant::m_uiMaxTrSize
protected

Definition at line 214 of file TComTrQuant.h.

UInt TComTrQuant::m_uiRDOQOffset
protected

Definition at line 213 of file TComTrQuant.h.

Bool TComTrQuant::m_useRDOQ
protected

Definition at line 216 of file TComTrQuant.h.

Bool TComTrQuant::m_useRDOQTS
protected

Definition at line 217 of file TComTrQuant.h.

Bool TComTrQuant::m_useTransformSkipFast
protected

Definition at line 221 of file TComTrQuant.h.


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