HEVC Test Model (HM)  HM-16.3
Private Attributes | List of all members
TEncSampleAdaptiveOffset Class Reference

#include <TEncSampleAdaptiveOffset.h>

Inheritance diagram for TEncSampleAdaptiveOffset:
Inheritance graph
[legend]
Collaboration diagram for TEncSampleAdaptiveOffset:
Collaboration graph
[legend]

Private Attributes

TEncSbac ** m_pppcRDSbacCoder
 
TEncSbacm_pcRDGoOnSbacCoder
 
TEncBinCABACCounter ** m_pppcBinCoderCABAC
 
Double m_lambda [MAX_NUM_COMPONENT]
 
SAOStatData *** m_statData
 
SAOStatData *** m_preDBFstatData
 
Double m_saoDisabledRate [MAX_NUM_COMPONENT][7]
 
Int m_skipLinesR [MAX_NUM_COMPONENT][NUM_SAO_NEW_TYPES]
 
Int m_skipLinesB [MAX_NUM_COMPONENT][NUM_SAO_NEW_TYPES]
 
 TEncSampleAdaptiveOffset ()
 
virtual ~TEncSampleAdaptiveOffset ()
 
Void createEncData (Bool isPreDBFSamplesUsed)
 
Void destroyEncData ()
 
Void initRDOCabacCoder (TEncSbac *pcRDGoOnSbacCoder, TComSlice *pcSlice)
 
Void SAOProcess (TComPic *pPic, Bool *sliceEnabled, const Double *lambdas, Bool isPreDBFSamplesUsed)
 
Void getPreDBFStatistics (TComPic *pPic)
 
Void getStatistics (SAOStatData ***blkStats, TComPicYuv *orgYuv, TComPicYuv *srcYuv, TComPic *pPic, Bool isCalculatePreDeblockSamples=false)
 
Void decidePicParams (Bool *sliceEnabled, Int picTempLayer)
 
Void decideBlkParams (TComPic *pic, Bool *sliceEnabled, SAOStatData ***blkStats, TComPicYuv *srcYuv, TComPicYuv *resYuv, SAOBlkParam *reconParams, SAOBlkParam *codedParams)
 
Void getBlkStats (ComponentID compIdx, SAOStatData *statsDataTypes, Pel *srcBlk, Pel *orgBlk, Int srcStride, Int orgStride, Int width, Int height, Bool isLeftAvail, Bool isRightAvail, Bool isAboveAvail, Bool isBelowAvail, Bool isAboveLeftAvail, Bool isAboveRightAvail, Bool isBelowLeftAvail, Bool isBelowRightAvail, Bool isCalculatePreDeblockSamples)
 
Void deriveModeNewRDO (Int ctuRsAddr, SAOBlkParam *mergeList[NUM_SAO_MERGE_TYPES], Bool *sliceEnabled, SAOStatData ***blkStats, SAOBlkParam &modeParam, Double &modeNormCost, TEncSbac **cabacCoderRDO, Int inCabacLabel)
 
Void deriveModeMergeRDO (Int ctuRsAddr, SAOBlkParam *mergeList[NUM_SAO_MERGE_TYPES], Bool *sliceEnabled, SAOStatData ***blkStats, SAOBlkParam &modeParam, Double &modeNormCost, TEncSbac **cabacCoderRDO, Int inCabacLabel)
 
Int64 getDistortion (ComponentID compIdx, Int typeIdc, Int typeAuxInfo, Int *offsetVal, SAOStatData &statData)
 
Void deriveOffsets (ComponentID compIdx, Int typeIdc, SAOStatData &statData, Int *quantOffsets, Int &typeAuxInfo)
 
Int64 estSaoDist (Int64 count, Int64 offset, Int64 diffSum, Int shift)
 
Int estIterOffset (Int typeIdx, Int classIdx, Double lambda, Int offsetInput, Int64 count, Int64 diffSum, Int shift, Int bitIncrease, Int64 &bestDist, Double &bestCost, Int offsetTh)
 
Void addPreDBFStatistics (SAOStatData ***blkStats)
 

Additional Inherited Members

- Public Member Functions inherited from TComSampleAdaptiveOffset
 TComSampleAdaptiveOffset ()
 
virtual ~TComSampleAdaptiveOffset ()
 
Void SAOProcess (TComPic *pDecPic)
 
Void create (Int picWidth, Int picHeight, ChromaFormat format, UInt maxCUWidth, UInt maxCUHeight, UInt maxCUDepth, UInt lumaBitShift, UInt chromaBitShift)
 
Void destroy ()
 
Void reconstructBlkSAOParams (TComPic *pic, SAOBlkParam *saoBlkParams)
 
Void PCMLFDisableProcess (TComPic *pcPic)
 
- Protected Member Functions inherited from TComSampleAdaptiveOffset
Void offsetBlock (ComponentID compIdx, Int typeIdx, Int *offset, Pel *srcBlk, Pel *resBlk, Int srcStride, Int resStride, Int width, Int height, Bool isLeftAvail, Bool isRightAvail, Bool isAboveAvail, Bool isBelowAvail, Bool isAboveLeftAvail, Bool isAboveRightAvail, Bool isBelowLeftAvail, Bool isBelowRightAvail)
 
Void invertQuantOffsets (ComponentID compIdx, Int typeIdc, Int typeAuxInfo, Int *dstOffsets, Int *srcOffsets)
 
Void reconstructBlkSAOParam (SAOBlkParam &recParam, SAOBlkParam *mergeList[NUM_SAO_MERGE_TYPES])
 
Int getMergeList (TComPic *pic, Int ctuRsAddr, SAOBlkParam *blkParams, SAOBlkParam *mergeList[NUM_SAO_MERGE_TYPES])
 
Void offsetCTU (Int ctuRsAddr, TComPicYuv *srcYuv, TComPicYuv *resYuv, SAOBlkParam &saoblkParam, TComPic *pPic)
 
Void xPCMRestoration (TComPic *pcPic)
 
Void xPCMCURestoration (TComDataCU *pcCU, UInt uiAbsZorderIdx, UInt uiDepth)
 
Void xPCMSampleRestoration (TComDataCU *pcCU, UInt uiAbsZorderIdx, UInt uiDepth, const ComponentID compID)
 
- Protected Attributes inherited from TComSampleAdaptiveOffset
UInt m_offsetStepLog2 [MAX_NUM_COMPONENT]
 
TComPicYuvm_tempPicYuv
 
Int m_picWidth
 
Int m_picHeight
 
Int m_maxCUWidth
 
Int m_maxCUHeight
 
Int m_numCTUInWidth
 
Int m_numCTUInHeight
 
Int m_numCTUsPic
 
Int m_lineBufWidth
 
Charm_signLineBuf1
 
Charm_signLineBuf2
 
ChromaFormat m_chromaFormatIDC
 

Detailed Description

Definition at line 97 of file TEncSampleAdaptiveOffset.h.

Constructor & Destructor Documentation

TEncSampleAdaptiveOffset::TEncSampleAdaptiveOffset ( )

Definition at line 60 of file TEncSampleAdaptiveOffset.cpp.

TEncSampleAdaptiveOffset::~TEncSampleAdaptiveOffset ( )
virtual

Definition at line 71 of file TEncSampleAdaptiveOffset.cpp.

Member Function Documentation

Void TEncSampleAdaptiveOffset::addPreDBFStatistics ( SAOStatData ***  blkStats)
private

Definition at line 294 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::createEncData ( Bool  isPreDBFSamplesUsed)

Definition at line 77 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::decideBlkParams ( TComPic pic,
Bool sliceEnabled,
SAOStatData ***  blkStats,
TComPicYuv srcYuv,
TComPicYuv resYuv,
SAOBlkParam reconParams,
SAOBlkParam codedParams 
)
private

Definition at line 790 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::decidePicParams ( Bool sliceEnabled,
Int  picTempLayer 
)
private

Definition at line 363 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::deriveModeMergeRDO ( Int  ctuRsAddr,
SAOBlkParam mergeList[NUM_SAO_MERGE_TYPES],
Bool sliceEnabled,
SAOStatData ***  blkStats,
SAOBlkParam modeParam,
Double modeNormCost,
TEncSbac **  cabacCoderRDO,
Int  inCabacLabel 
)
private

Definition at line 736 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::deriveModeNewRDO ( Int  ctuRsAddr,
SAOBlkParam mergeList[NUM_SAO_MERGE_TYPES],
Bool sliceEnabled,
SAOStatData ***  blkStats,
SAOBlkParam modeParam,
Double modeNormCost,
TEncSbac **  cabacCoderRDO,
Int  inCabacLabel 
)
private

Definition at line 593 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::deriveOffsets ( ComponentID  compIdx,
Int  typeIdc,
SAOStatData statData,
Int quantOffsets,
Int typeAuxInfo 
)
private

Definition at line 474 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::destroyEncData ( )

Definition at line 196 of file TEncSampleAdaptiveOffset.cpp.

Int TEncSampleAdaptiveOffset::estIterOffset ( Int  typeIdx,
Int  classIdx,
Double  lambda,
Int  offsetInput,
Int64  count,
Int64  diffSum,
Int  shift,
Int  bitIncrease,
Int64 bestDist,
Double bestCost,
Int  offsetTh 
)
inlineprivate

Definition at line 441 of file TEncSampleAdaptiveOffset.cpp.

Int64 TEncSampleAdaptiveOffset::estSaoDist ( Int64  count,
Int64  offset,
Int64  diffSum,
Int  shift 
)
inlineprivate

Definition at line 435 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::getBlkStats ( ComponentID  compIdx,
SAOStatData statsDataTypes,
Pel srcBlk,
Pel orgBlk,
Int  srcStride,
Int  orgStride,
Int  width,
Int  height,
Bool  isLeftAvail,
Bool  isRightAvail,
Bool  isAboveAvail,
Bool  isBelowAvail,
Bool  isAboveLeftAvail,
Bool  isAboveRightAvail,
Bool  isBelowLeftAvail,
Bool  isBelowRightAvail,
Bool  isCalculatePreDeblockSamples 
)
private

Definition at line 922 of file TEncSampleAdaptiveOffset.cpp.

Int64 TEncSampleAdaptiveOffset::getDistortion ( ComponentID  compIdx,
Int  typeIdc,
Int  typeAuxInfo,
Int offsetVal,
SAOStatData statData 
)
private

Definition at line 397 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::getPreDBFStatistics ( TComPic pPic)

Definition at line 289 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::getStatistics ( SAOStatData ***  blkStats,
TComPicYuv orgYuv,
TComPicYuv srcYuv,
TComPic pPic,
Bool  isCalculatePreDeblockSamples = false 
)
private

Definition at line 310 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::initRDOCabacCoder ( TEncSbac pcRDGoOnSbacCoder,
TComSlice pcSlice 
)

Definition at line 245 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::SAOProcess ( TComPic pPic,
Bool sliceEnabled,
const Double lambdas,
Bool  isPreDBFSamplesUsed 
)

Definition at line 257 of file TEncSampleAdaptiveOffset.cpp.

Member Data Documentation

Double TEncSampleAdaptiveOffset::m_lambda[MAX_NUM_COMPONENT]
private

Definition at line 151 of file TEncSampleAdaptiveOffset.h.

TEncSbac* TEncSampleAdaptiveOffset::m_pcRDGoOnSbacCoder
private

Definition at line 145 of file TEncSampleAdaptiveOffset.h.

TEncBinCABACCounter** TEncSampleAdaptiveOffset::m_pppcBinCoderCABAC
private

Definition at line 147 of file TEncSampleAdaptiveOffset.h.

TEncSbac** TEncSampleAdaptiveOffset::m_pppcRDSbacCoder
private

Definition at line 144 of file TEncSampleAdaptiveOffset.h.

SAOStatData*** TEncSampleAdaptiveOffset::m_preDBFstatData
private

Definition at line 156 of file TEncSampleAdaptiveOffset.h.

Double TEncSampleAdaptiveOffset::m_saoDisabledRate[MAX_NUM_COMPONENT][7]
private

Definition at line 159 of file TEncSampleAdaptiveOffset.h.

Int TEncSampleAdaptiveOffset::m_skipLinesB[MAX_NUM_COMPONENT][NUM_SAO_NEW_TYPES]
private

Definition at line 162 of file TEncSampleAdaptiveOffset.h.

Int TEncSampleAdaptiveOffset::m_skipLinesR[MAX_NUM_COMPONENT][NUM_SAO_NEW_TYPES]
private

Definition at line 161 of file TEncSampleAdaptiveOffset.h.

SAOStatData*** TEncSampleAdaptiveOffset::m_statData
private

Definition at line 154 of file TEncSampleAdaptiveOffset.h.


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