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

SBAC encoder class. More...

#include <TEncSbac.h>

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

Public Member Functions

Void init (TEncBinIf *p)
 
Void uninit ()
 
Void setBitstream (TComBitIf *p)
 
Void setSlice (TComSlice *p)
 
Void resetBits ()
 
UInt getNumberOfWrittenBits ()
 
TEncBinIfgetEncBinIf ()
 
- Public Member Functions inherited from TEncEntropyIf
virtual ~TEncEntropyIf ()
 

Protected Attributes

TComBitIfm_pcBitIf
 
TComSlicem_pcSlice
 
TEncBinIfm_pcBinIf
 

Private Member Functions

Void codeDFFlag (UInt, const Char *)
 
Void codeDFSvlc (Int, const Char *)
 

Private Attributes

ContextModel m_contextModels [512]
 
Int m_numContextModels
 
ContextModel3DBuffer m_cCUSplitFlagSCModel
 
ContextModel3DBuffer m_cCUSkipFlagSCModel
 
ContextModel3DBuffer m_cCUMergeFlagExtSCModel
 
ContextModel3DBuffer m_cCUMergeIdxExtSCModel
 
ContextModel3DBuffer m_cCUPartSizeSCModel
 
ContextModel3DBuffer m_cCUPredModeSCModel
 
ContextModel3DBuffer m_cCUIntraPredSCModel
 
ContextModel3DBuffer m_cCUChromaPredSCModel
 
ContextModel3DBuffer m_cCUDeltaQpSCModel
 
ContextModel3DBuffer m_cCUInterDirSCModel
 
ContextModel3DBuffer m_cCURefPicSCModel
 
ContextModel3DBuffer m_cCUMvdSCModel
 
ContextModel3DBuffer m_cCUQtCbfSCModel
 
ContextModel3DBuffer m_cCUTransSubdivFlagSCModel
 
ContextModel3DBuffer m_cCUQtRootCbfSCModel
 
ContextModel3DBuffer m_cCUSigCoeffGroupSCModel
 
ContextModel3DBuffer m_cCUSigSCModel
 
ContextModel3DBuffer m_cCuCtxLastX
 
ContextModel3DBuffer m_cCuCtxLastY
 
ContextModel3DBuffer m_cCUOneSCModel
 
ContextModel3DBuffer m_cCUAbsSCModel
 
ContextModel3DBuffer m_cMVPIdxSCModel
 
ContextModel3DBuffer m_cSaoMergeSCModel
 
ContextModel3DBuffer m_cSaoTypeIdxSCModel
 
ContextModel3DBuffer m_cTransformSkipSCModel
 
ContextModel3DBuffer m_CUTransquantBypassFlagSCModel
 
ContextModel3DBuffer m_explicitRdpcmFlagSCModel
 
ContextModel3DBuffer m_explicitRdpcmDirSCModel
 
ContextModel3DBuffer m_cCrossComponentPredictionSCModel
 
ContextModel3DBuffer m_ChromaQpAdjFlagSCModel
 
ContextModel3DBuffer m_ChromaQpAdjIdcSCModel
 
UInt m_golombRiceAdaptationStatistics [4]
 
 TEncSbac ()
 
virtual ~TEncSbac ()
 
Void resetEntropy ()
 
SliceType determineCabacInitIdx ()
 
Void load (const TEncSbac *pSrc)
 
Void loadIntraDirMode (const TEncSbac *pScr, const ChannelType chType)
 
Void store (TEncSbac *pDest) const
 
Void loadContexts (const TEncSbac *pSrc)
 
Void codeVPS (const TComVPS *pcVPS)
 
Void codeSPS (const TComSPS *pcSPS)
 
Void codePPS (const TComPPS *pcPPS)
 
Void codeSliceHeader (TComSlice *pcSlice)
 
Void codeTilesWPPEntryPoint (TComSlice *pSlice)
 
Void codeTerminatingBit (UInt uilsLast)
 
Void codeSliceFinish ()
 
Void codeSaoMaxUvlc (UInt code, UInt maxSymbol)
 
Void codeSaoMerge (UInt uiCode)
 
Void codeSaoTypeIdx (UInt uiCode)
 
Void codeSaoUflc (UInt uiLength, UInt uiCode)
 
Void codeSAOSign (UInt uiCode)
 
Void codeSAOOffsetParam (ComponentID compIdx, SAOOffset &ctbParam, Bool sliceEnabled)
 
Void codeSAOBlkParam (SAOBlkParam &saoBlkParam, Bool *sliceEnabled, Bool leftMergeAvail, Bool aboveMergeAvail, Bool onlyEstMergeInfo=false)
 
Void codeCUTransquantBypassFlag (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeSkipFlag (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeMergeFlag (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeMergeIndex (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeSplitFlag (TComDataCU *pcCU, UInt uiAbsPartIdx, UInt uiDepth)
 
Void codeMVPIdx (TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefList)
 
Void codePartSize (TComDataCU *pcCU, UInt uiAbsPartIdx, UInt uiDepth)
 
Void codePredMode (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeIPCMInfo (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeTransformSubdivFlag (UInt uiSymbol, UInt uiCtx)
 
Void codeQtCbf (TComTU &rTu, const ComponentID compID, const Bool lowestLevel)
 
Void codeQtRootCbf (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeQtCbfZero (TComTU &rTu, const ChannelType chType)
 
Void codeQtRootCbfZero (TComDataCU *pcCU)
 
Void codeIntraDirLumaAng (TComDataCU *pcCU, UInt absPartIdx, Bool isMultiple)
 
Void codeIntraDirChroma (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeInterDir (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeRefFrmIdx (TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefList)
 
Void codeMvd (TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefList)
 
Void codeCrossComponentPrediction (TComTU &rTu, ComponentID compID)
 
Void codeDeltaQP (TComDataCU *pcCU, UInt uiAbsPartIdx)
 
Void codeChromaQpAdjustment (TComDataCU *cu, UInt absPartIdx)
 
Void codeLastSignificantXY (UInt uiPosX, UInt uiPosY, Int width, Int height, ComponentID component, UInt uiScanIdx)
 
Void codeCoeffNxN (TComTU &rTu, TCoeff *pcCoef, const ComponentID compID)
 
Void codeTransformSkipFlags (TComTU &rTu, ComponentID component)
 
Void estBit (estBitsSbacStruct *pcEstBitsSbac, Int width, Int height, ChannelType chType)
 estimate bit cost for CBP, significant map and significant coefficients More...
 
Void estCBFBit (estBitsSbacStruct *pcEstBitsSbac)
 estimate bit cost for each CBP bit More...
 
Void estSignificantCoeffGroupMapBit (estBitsSbacStruct *pcEstBitsSbac, ChannelType chType)
 estimate SAMBAC bit cost for significant coefficient group map More...
 
Void estSignificantMapBit (estBitsSbacStruct *pcEstBitsSbac, Int width, Int height, ChannelType chType)
 estimate SAMBAC bit cost for significant coefficient map More...
 
Void estLastSignificantPositionBit (estBitsSbacStruct *pcEstBitsSbac, Int width, Int height, ChannelType chType)
 estimate bit cost of significant coefficient More...
 
Void estSignificantCoefficientsBit (estBitsSbacStruct *pcEstBitsSbac, ChannelType chType)
 estimate bit cost of significant coefficient More...
 
Void codeExplicitRdpcmMode (TComTU &rTu, const ComponentID compID)
 
Void xWriteUnarySymbol (UInt uiSymbol, ContextModel *pcSCModel, Int iOffset)
 
Void xWriteUnaryMaxSymbol (UInt uiSymbol, ContextModel *pcSCModel, Int iOffset, UInt uiMaxSymbol)
 
Void xWriteEpExGolomb (UInt uiSymbol, UInt uiCount)
 
Void xWriteCoefRemainExGolomb (UInt symbol, UInt &rParam, const Bool useLimitedPrefixLength, const ChannelType channelType)
 
Void xCopyFrom (const TEncSbac *pSrc)
 
Void xCopyContextsFrom (const TEncSbac *pSrc)
 

Detailed Description

SBAC encoder class.

Definition at line 66 of file TEncSbac.h.

Member Function Documentation

Void TEncSbac::codeDFFlag ( UInt  ,
const Char  
)
inlineprivatevirtual

Implements TEncEntropyIf.

Definition at line 119 of file TEncSbac.h.

Void TEncSbac::codeDFSvlc ( Int  ,
const Char  
)
inlineprivatevirtual

Implements TEncEntropyIf.

Definition at line 120 of file TEncSbac.h.

TEncBinIf* TEncSbac::getEncBinIf ( )
inline

Definition at line 175 of file TEncSbac.h.

UInt TEncSbac::getNumberOfWrittenBits ( )
inlinevirtual

Implements TEncEntropyIf.

Definition at line 86 of file TEncSbac.h.

Void TEncSbac::init ( TEncBinIf p)
inline

Definition at line 72 of file TEncSbac.h.

Void TEncSbac::resetBits ( )
inlinevirtual

Implements TEncEntropyIf.

Definition at line 85 of file TEncSbac.h.

Void TEncSbac::setBitstream ( TComBitIf p)
inlinevirtual

Implements TEncEntropyIf.

Definition at line 78 of file TEncSbac.h.

Void TEncSbac::setSlice ( TComSlice p)
inlinevirtual

Implements TEncEntropyIf.

Definition at line 79 of file TEncSbac.h.

Void TEncSbac::uninit ( )
inline

Definition at line 73 of file TEncSbac.h.

Member Data Documentation

ContextModel3DBuffer TEncSbac::m_cCrossComponentPredictionSCModel
private

Definition at line 210 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUAbsSCModel
private

Definition at line 200 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUChromaPredSCModel
private

Definition at line 186 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCuCtxLastX
private

Definition at line 197 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCuCtxLastY
private

Definition at line 198 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUDeltaQpSCModel
private

Definition at line 187 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUInterDirSCModel
private

Definition at line 188 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUIntraPredSCModel
private

Definition at line 185 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUMergeFlagExtSCModel
private

Definition at line 181 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUMergeIdxExtSCModel
private

Definition at line 182 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUMvdSCModel
private

Definition at line 190 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUOneSCModel
private

Definition at line 199 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUPartSizeSCModel
private

Definition at line 183 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUPredModeSCModel
private

Definition at line 184 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUQtCbfSCModel
private

Definition at line 191 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUQtRootCbfSCModel
private

Definition at line 193 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCURefPicSCModel
private

Definition at line 189 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUSigCoeffGroupSCModel
private

Definition at line 195 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUSigSCModel
private

Definition at line 196 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUSkipFlagSCModel
private

Definition at line 180 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUSplitFlagSCModel
private

Definition at line 179 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cCUTransSubdivFlagSCModel
private

Definition at line 192 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_ChromaQpAdjFlagSCModel
private

Definition at line 212 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_ChromaQpAdjIdcSCModel
private

Definition at line 213 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cMVPIdxSCModel
private

Definition at line 202 of file TEncSbac.h.

ContextModel TEncSbac::m_contextModels[512]
private

Definition at line 177 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cSaoMergeSCModel
private

Definition at line 204 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cSaoTypeIdxSCModel
private

Definition at line 205 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_cTransformSkipSCModel
private

Definition at line 206 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_CUTransquantBypassFlagSCModel
private

Definition at line 207 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_explicitRdpcmDirSCModel
private

Definition at line 209 of file TEncSbac.h.

ContextModel3DBuffer TEncSbac::m_explicitRdpcmFlagSCModel
private

Definition at line 208 of file TEncSbac.h.

UInt TEncSbac::m_golombRiceAdaptationStatistics[4]
private

Definition at line 215 of file TEncSbac.h.

Int TEncSbac::m_numContextModels
private

Definition at line 178 of file TEncSbac.h.

TEncBinIf* TEncSbac::m_pcBinIf
protected

Definition at line 125 of file TEncSbac.h.

TComBitIf* TEncSbac::m_pcBitIf
protected

Definition at line 120 of file TEncSbac.h.

TComSlice* TEncSbac::m_pcSlice
protected

Definition at line 124 of file TEncSbac.h.


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