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
 
TEncSbac * m_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]
 
TComPicYuv * m_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
 
SChar * m_signLineBuf1
 
SChar * m_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: