HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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][MAX_TLAYER]
 
Int m_lastIRAPPoc
 
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, const Bool bTestSAODisableAtPictureLevel, const Double saoEncodingRate, const Double saoEncodingRateChroma, const Bool isPreDBFSamplesUsed, const Bool bResetStateAfterIRAP)
 
Void getPreDBFStatistics (TComPic *pPic)
 
Void getStatistics (SAOStatData ***blkStats, TComPicYuv *orgYuv, TComPicYuv *srcYuv, TComPic *pPic, Bool isCalculatePreDeblockSamples=false)
 
Void decidePicParams (Bool *sliceEnabled, const TComPic *pic, const Double saoEncodingRate, const Double saoEncodingRateChroma, const Bool bResetStateAfterIRAP)
 
Void decideBlkParams (TComPic *pic, Bool *sliceEnabled, SAOStatData ***blkStats, TComPicYuv *srcYuv, TComPicYuv *resYuv, SAOBlkParam *reconParams, SAOBlkParam *codedParams, const Bool bTestSAODisableAtPictureLevel, const Double saoEncodingRate, const Double saoEncodingRateChroma)
 
Void getBlkStats (const ComponentID compIdx, const Int channelBitDepth, 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 isCalculatePreDeblockSamples)
 
Void deriveModeNewRDO (const BitDepths &bitDepths, Int ctuRsAddr, SAOBlkParam *mergeList[NUM_SAO_MERGE_TYPES], Bool *sliceEnabled, SAOStatData ***blkStats, SAOBlkParam &modeParam, Double &modeNormCost, TEncSbac **cabacCoderRDO, Int inCabacLabel)
 
Void deriveModeMergeRDO (const BitDepths &bitDepths, Int ctuRsAddr, SAOBlkParam *mergeList[NUM_SAO_MERGE_TYPES], Bool *sliceEnabled, SAOStatData ***blkStats, SAOBlkParam &modeParam, Double &modeNormCost, TEncSbac **cabacCoderRDO, Int inCabacLabel)
 
Int64 getDistortion (const Int channelBitDepth, Int typeIdc, Int typeAuxInfo, Int *offsetVal, SAOStatData &statData)
 
Void deriveOffsets (ComponentID compIdx, const Int channelBitDepth, Int typeIdc, SAOStatData &statData, Int *quantOffsets, Int &typeAuxInfo)
 
Int64 estSaoDist (Int64 count, Int64 offset, Int64 diffSum, Int shift)
 
Int estIterOffset (Int typeIdx, 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)
 
- Static Public Member Functions inherited from TComSampleAdaptiveOffset
static Int getMaxOffsetQVal (const Int channelBitDepth)
 
- Protected Member Functions inherited from TComSampleAdaptiveOffset
Void offsetBlock (const Int channelBitDepth, 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
 
SCharm_signLineBuf1
 
SCharm_signLineBuf2
 
ChromaFormat m_chromaFormatIDC
 

Detailed Description

Definition at line 95 of file TEncSampleAdaptiveOffset.h.

Constructor & Destructor Documentation

TEncSampleAdaptiveOffset::TEncSampleAdaptiveOffset ( )

Definition at line 60 of file TEncSampleAdaptiveOffset.cpp.

TEncSampleAdaptiveOffset::~TEncSampleAdaptiveOffset ( )
virtual

Definition at line 69 of file TEncSampleAdaptiveOffset.cpp.

Member Function Documentation

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

Definition at line 273 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::createEncData ( Bool  isPreDBFSamplesUsed)

Definition at line 74 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 782 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::decidePicParams ( Bool sliceEnabled,
const TComPic pic,
const Double  saoEncodingRate,
const Double  saoEncodingRateChroma,
const Bool  bResetStateAfterIRAP 
)
private

Definition at line 334 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 728 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 585 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 466 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::destroyEncData ( )

Definition at line 185 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 433 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 427 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::getBlkStats ( const ComponentID  compIdx,
const Int  channelBitDepth,
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  isCalculatePreDeblockSamples 
)
private

Definition at line 911 of file TEncSampleAdaptiveOffset.cpp.

Int64 TEncSampleAdaptiveOffset::getDistortion ( const Int  channelBitDepth,
Int  typeIdc,
Int  typeAuxInfo,
Int offsetVal,
SAOStatData statData 
)
private

Definition at line 389 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::getPreDBFStatistics ( TComPic pPic)

Definition at line 268 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 287 of file TEncSampleAdaptiveOffset.cpp.

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

Definition at line 231 of file TEncSampleAdaptiveOffset.cpp.

Void TEncSampleAdaptiveOffset::SAOProcess ( TComPic pPic,
Bool sliceEnabled,
const Double lambdas,
const Bool  bTestSAODisableAtPictureLevel,
const Double  saoEncodingRate,
const Double  saoEncodingRateChroma,
const Bool  isPreDBFSamplesUsed,
const Bool  bResetStateAfterIRAP 
)

Definition at line 242 of file TEncSampleAdaptiveOffset.cpp.

Member Data Documentation

Double TEncSampleAdaptiveOffset::m_lambda[MAX_NUM_COMPONENT]
private

Definition at line 129 of file TEncSampleAdaptiveOffset.h.

Int TEncSampleAdaptiveOffset::m_lastIRAPPoc
private

Definition at line 135 of file TEncSampleAdaptiveOffset.h.

TEncSbac* TEncSampleAdaptiveOffset::m_pcRDGoOnSbacCoder
private

Definition at line 123 of file TEncSampleAdaptiveOffset.h.

TEncBinCABACCounter** TEncSampleAdaptiveOffset::m_pppcBinCoderCABAC
private

Definition at line 125 of file TEncSampleAdaptiveOffset.h.

TEncSbac** TEncSampleAdaptiveOffset::m_pppcRDSbacCoder
private

Definition at line 122 of file TEncSampleAdaptiveOffset.h.

SAOStatData*** TEncSampleAdaptiveOffset::m_preDBFstatData
private

Definition at line 133 of file TEncSampleAdaptiveOffset.h.

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

Definition at line 134 of file TEncSampleAdaptiveOffset.h.

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

Definition at line 137 of file TEncSampleAdaptiveOffset.h.

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

Definition at line 136 of file TEncSampleAdaptiveOffset.h.

SAOStatData*** TEncSampleAdaptiveOffset::m_statData
private

Definition at line 132 of file TEncSampleAdaptiveOffset.h.


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