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

deblocking filter class More...

#include <TComLoopFilter.h>

Collaboration diagram for TComLoopFilter:
Collaboration graph
[legend]

Static Public Member Functions

static Int getBeta (Int qp)
 

Protected Member Functions

UInt xCalcBsIdx (TComDataCU *pcCU, UInt absZIdxInCtu, DeblockEdgeDir edgeDir, Int iEdgeIdx, Int iBaseUnitIdx, const struct TComRectangle *rect=0)
 

Private Attributes

UInt m_uiNumPartitions
 
UCharm_aapucBS [NUM_EDGE_DIR]
 Bs for [Ver/Hor][Y/U/V][Blk_Idx]. More...
 
Boolm_aapbEdgeFilter [NUM_EDGE_DIR]
 
LFCUParam m_stLFCUParam
 status structure More...
 
Bool m_bLFCrossTileBoundary
 
static const UChar sm_tcTable [54]
 
static const UChar sm_betaTable [52]
 
Void xDeblockCU (TComDataCU *pcCU, UInt uiAbsZorderIdx, UInt uiDepth, DeblockEdgeDir edgeDir)
 CU-level deblocking function. More...
 
Void xSetLoopfilterParam (TComDataCU *pcCU, UInt uiAbsZorderIdx)
 
Void xSetEdgefilterTU (TComTU &rTu)
 
Void xSetEdgefilterPU (TComDataCU *pcCU, UInt uiAbsZorderIdx)
 
Void xGetBoundaryStrengthSingle (TComDataCU *pCtu, DeblockEdgeDir edgeDir, UInt uiPartIdx)
 
Void xSetEdgefilterMultiple (TComDataCU *pcCU, UInt uiAbsZorderIdx, UInt uiDepth, DeblockEdgeDir edgeDir, Int iEdgeIdx, Bool bValue, UInt uiWidthInBaseUnits=0, UInt uiHeightInBaseUnits=0, const TComRectangle *rect=0)
 
Void xEdgeFilterLuma (TComDataCU *pcCU, UInt uiAbsZorderIdx, UInt uiDepth, DeblockEdgeDir edgeDir, Int iEdge)
 
Void xEdgeFilterChroma (TComDataCU *pcCU, UInt uiAbsZorderIdx, UInt uiDepth, DeblockEdgeDir edgeDir, Int iEdge)
 
__inline Void xPelFilterLuma (Pel *piSrc, Int iOffset, Int tc, Bool sw, Bool bPartPNoFilter, Bool bPartQNoFilter, Int iThrCut, Bool bFilterSecondP, Bool bFilterSecondQ)
 
__inline Void xPelFilterChroma (Pel *piSrc, Int iOffset, Int tc, Bool bPartPNoFilter, Bool bPartQNoFilter)
 
__inline Bool xUseStrongFiltering (Int offset, Int d, Int beta, Int tc, Pel *piSrc)
 
__inline Int xCalcDP (Pel *piSrc, Int iOffset)
 
__inline Int xCalcDQ (Pel *piSrc, Int iOffset)
 
 TComLoopFilter ()
 
virtual ~TComLoopFilter ()
 
Void create (UInt uiMaxCUDepth)
 
Void destroy ()
 
Void setCfg (Bool bLFCrossTileBoundary)
 set configuration More...
 
Void loopFilterPic (TComPic *pcPic)
 picture-level deblocking filter More...
 

Detailed Description

deblocking filter class

Definition at line 54 of file TComLoopFilter.h.

Constructor & Destructor Documentation

TComLoopFilter::TComLoopFilter ( )

Definition at line 73 of file TComLoopFilter.cpp.

TComLoopFilter::~TComLoopFilter ( )
virtual

Definition at line 84 of file TComLoopFilter.cpp.

Member Function Documentation

Void TComLoopFilter::create ( UInt  uiMaxCUDepth)

Definition at line 96 of file TComLoopFilter.cpp.

Void TComLoopFilter::destroy ( )

Definition at line 107 of file TComLoopFilter.cpp.

static Int TComLoopFilter::getBeta ( Int  qp)
inlinestatic

Definition at line 134 of file TComLoopFilter.h.

Void TComLoopFilter::loopFilterPic ( TComPic pcPic)

picture-level deblocking filter

  • call deblocking function for every CU
Parameters
pcPicpicture class (TComPic) pointer

Definition at line 130 of file TComLoopFilter.cpp.

Void TComLoopFilter::setCfg ( Bool  bLFCrossTileBoundary)

set configuration

Definition at line 91 of file TComLoopFilter.cpp.

UInt TComLoopFilter::xCalcBsIdx ( TComDataCU pcCU,
UInt  absZIdxInCtu,
DeblockEdgeDir  edgeDir,
Int  iEdgeIdx,
Int  iBaseUnitIdx,
const struct TComRectangle rect = 0 
)
inlineprotected

Definition at line 75 of file TComLoopFilter.h.

__inline Int TComLoopFilter::xCalcDP ( Pel piSrc,
Int  iOffset 
)
protected

Definition at line 937 of file TComLoopFilter.cpp.

__inline Int TComLoopFilter::xCalcDQ ( Pel piSrc,
Int  iOffset 
)
protected

Definition at line 942 of file TComLoopFilter.cpp.

Void TComLoopFilter::xDeblockCU ( TComDataCU pcCU,
UInt  uiAbsZorderIdx,
UInt  uiDepth,
DeblockEdgeDir  edgeDir 
)
protected

CU-level deblocking function.

Deblocking filter process in CU-based (the same function as conventional's)

Parameters
pcCUPointer to CTU/CU structure
uiAbsZorderIdxPosition in CU
uiDepthDepth in CU
edgeDirthe direction of the edge in block boundary (horizontal/vertical), which is added newly

Definition at line 170 of file TComLoopFilter.cpp.

Void TComLoopFilter::xEdgeFilterChroma ( TComDataCU pcCU,
UInt  uiAbsZorderIdx,
UInt  uiDepth,
DeblockEdgeDir  edgeDir,
Int  iEdge 
)
protected

Definition at line 673 of file TComLoopFilter.cpp.

Void TComLoopFilter::xEdgeFilterLuma ( TComDataCU pcCU,
UInt  uiAbsZorderIdx,
UInt  uiDepth,
DeblockEdgeDir  edgeDir,
Int  iEdge 
)
protected

Definition at line 557 of file TComLoopFilter.cpp.

Void TComLoopFilter::xGetBoundaryStrengthSingle ( TComDataCU pCtu,
DeblockEdgeDir  edgeDir,
UInt  uiPartIdx 
)
protected

Definition at line 414 of file TComLoopFilter.cpp.

__inline Void TComLoopFilter::xPelFilterChroma ( Pel piSrc,
Int  iOffset,
Int  tc,
Bool  bPartPNoFilter,
Bool  bPartQNoFilter 
)
protected
  • Deblocking of one line/column for the chrominance component
Parameters
piSrcpointer to picture data
iOffsetoffset value for picture data
tctc value
bPartPNoFilterindicator to disable filtering on partP
bPartQNoFilterindicator to disable filtering on partQ

Definition at line 893 of file TComLoopFilter.cpp.

__inline Void TComLoopFilter::xPelFilterLuma ( Pel piSrc,
Int  iOffset,
Int  tc,
Bool  sw,
Bool  bPartPNoFilter,
Bool  bPartQNoFilter,
Int  iThrCut,
Bool  bFilterSecondP,
Bool  bFilterSecondQ 
)
protected
  • Deblocking for the luminance component with strong or weak filter
Parameters
piSrcpointer to picture data
iOffsetoffset value for picture data
tctc value
swdecision strong/weak filter
bPartPNoFilterindicator to disable filtering on partP
bPartQNoFilterindicator to disable filtering on partQ
iThrCutthreshold value for weak filter decision
bFilterSecondPdecision weak filter/no filter for partP
bFilterSecondQdecision weak filter/no filter for partQ

Definition at line 823 of file TComLoopFilter.cpp.

Void TComLoopFilter::xSetEdgefilterMultiple ( TComDataCU pcCU,
UInt  uiAbsZorderIdx,
UInt  uiDepth,
DeblockEdgeDir  edgeDir,
Int  iEdgeIdx,
Bool  bValue,
UInt  uiWidthInBaseUnits = 0,
UInt  uiHeightInBaseUnits = 0,
const TComRectangle rect = 0 
)
protected

Definition at line 239 of file TComLoopFilter.cpp.

Void TComLoopFilter::xSetEdgefilterPU ( TComDataCU pcCU,
UInt  uiAbsZorderIdx 
)
protected

Definition at line 296 of file TComLoopFilter.cpp.

Void TComLoopFilter::xSetEdgefilterTU ( TComTU rTu)
protected

Definition at line 272 of file TComLoopFilter.cpp.

Void TComLoopFilter::xSetLoopfilterParam ( TComDataCU pcCU,
UInt  uiAbsZorderIdx 
)
protected

Definition at line 359 of file TComLoopFilter.cpp.

__inline Bool TComLoopFilter::xUseStrongFiltering ( Int  offset,
Int  d,
Int  beta,
Int  tc,
Pel piSrc 
)
protected
  • Decision between strong and weak filter
Parameters
offsetoffset value for picture data
dd value
betabeta value
tctc value
piSrcpointer to picture data

Definition at line 925 of file TComLoopFilter.cpp.

Member Data Documentation

Bool* TComLoopFilter::m_aapbEdgeFilter[NUM_EDGE_DIR]
private

Definition at line 60 of file TComLoopFilter.h.

UChar* TComLoopFilter::m_aapucBS[NUM_EDGE_DIR]
private

Bs for [Ver/Hor][Y/U/V][Blk_Idx].

Definition at line 59 of file TComLoopFilter.h.

Bool TComLoopFilter::m_bLFCrossTileBoundary
private

Definition at line 63 of file TComLoopFilter.h.

LFCUParam TComLoopFilter::m_stLFCUParam
private

status structure

Definition at line 61 of file TComLoopFilter.h.

UInt TComLoopFilter::m_uiNumPartitions
private

Definition at line 58 of file TComLoopFilter.h.

const UChar TComLoopFilter::sm_betaTable
staticprotected
Initial value:
=
{
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64
}

Definition at line 119 of file TComLoopFilter.h.

const UChar TComLoopFilter::sm_tcTable
staticprotected
Initial value:
=
{
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,5,5,6,6,7,8,9,10,11,13,14,16,18,20,22,24
}

Definition at line 118 of file TComLoopFilter.h.


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