HEVC Test Model (HM)
HM-16.18
|
slice encoder class More...
#include <TEncSlice.h>
Public Member Functions | |
Void | setGopID (Int iGopID) |
Int | getGopID () const |
TEncCu * | getCUEncoder () |
CU encoder. More... | |
UInt | getSliceIdx () |
Void | setSliceIdx (UInt i) |
SliceType | getEncCABACTableIdx () const |
Public Member Functions inherited from WeightPredAnalysis | |
WeightPredAnalysis () | |
Void | xCalcACDCParamSlice (TComSlice *const slice) |
calculate AC and DC values for current original image More... | |
Void | xEstimateWPParamSlice (TComSlice *const slice, const WeightedPredictionMethod method) |
estimate wp tables for explicit wp More... | |
Void | xCheckWPEnable (TComSlice *const slice) |
check weighted pred or non-weighted pred More... | |
Private Attributes | |
TEncCfg * | m_pcCfg |
encoder configuration class More... | |
TComList< TComPic * > * | m_pcListPic |
list of pictures More... | |
TComPicYuv | m_picYuvPred |
prediction picture buffer More... | |
TComPicYuv | m_picYuvResi |
residual picture buffer More... | |
TEncGOP * | m_pcGOPEncoder |
GOP encoder. More... | |
TEncCu * | m_pcCuEncoder |
CU encoder. More... | |
TEncSearch * | m_pcPredSearch |
encoder search class More... | |
TEncEntropy * | m_pcEntropyCoder |
entropy encoder More... | |
TEncSbac * | m_pcSbacCoder |
SBAC encoder. More... | |
TEncBinCABAC * | m_pcBinCABAC |
Bin encoder CABAC. More... | |
TComTrQuant * | m_pcTrQuant |
transform & quantization More... | |
TComRdCost * | m_pcRdCost |
RD cost computation. More... | |
TEncSbac *** | m_pppcRDSbacCoder |
storage for SBAC-based RD optimization More... | |
TEncSbac * | m_pcRDGoOnSbacCoder |
go-on SBAC encoder More... | |
UInt64 | m_uiPicTotalBits |
total bits for the picture More... | |
UInt64 | m_uiPicDist |
total distortion for the picture More... | |
Double | m_dPicRdCost |
picture-level RD cost More... | |
std::vector< Double > | m_vdRdPicLambda |
array of lambda candidates More... | |
std::vector< Double > | m_vdRdPicQp |
array of picture QP candidates (double-type for lambda) More... | |
std::vector< Int > | m_viRdPicQp |
array of picture QP candidates (Int-type) More... | |
TEncRateCtrl * | m_pcRateCtrl |
Rate control manager. More... | |
UInt | m_uiSliceIdx |
TEncSbac | m_lastSliceSegmentEndContextState |
context storage for state at the end of the previous slice-segment (used for dependent slices only). More... | |
TEncSbac | m_entropyCodingSyncContextState |
context storate for state of contexts at the wavefront/WPP/entropy-coding-sync second CTU of tile-row More... | |
SliceType | m_encCABACTableIdx |
Int | m_gopID |
Double | calculateLambda (const TComSlice *pSlice, const Int GOPid, const Int depth, const Double refQP, const Double dQP, Int &iQP) |
Void | setUpLambda (TComSlice *slice, const Double dLambda, Int iQP) |
Void | calculateBoundingCtuTsAddrForSlice (UInt &startCtuTSAddrSlice, UInt &boundingCtuTSAddrSlice, Bool &haveReachedTileBoundary, TComPic *pcPic, const Int sliceMode, const Int sliceArgument) |
Double | xGetQPValueAccordingToLambda (Double lambda) |
TEncSlice () | |
virtual | ~TEncSlice () |
Void | create (Int iWidth, Int iHeight, ChromaFormat chromaFormat, UInt iMaxCUWidth, UInt iMaxCUHeight, UChar uhTotalDepth) |
Void | destroy () |
Void | init (TEncTop *pcEncTop) |
Void | initEncSlice (TComPic *pcPic, const Int pocLast, const Int pocCurr, const Int iGOPid, TComSlice *&rpcSlice, const Bool isField) |
preparation of slice encoding (reference marking, QP and lambda) More... | |
Void | resetQP (TComPic *pic, Int sliceQP, Double lambda) |
Void | updateLambda (TComSlice *pSlice, Double dQP) |
Void | precompressSlice (TComPic *pcPic) |
precompress slice for multi-loop slice-level QP opt. More... | |
Void | compressSlice (TComPic *pcPic, const Bool bCompressEntireSlice, const Bool bFastDeltaQP) |
analysis stage of slice More... | |
Void | calCostSliceI (TComPic *pcPic) |
Void | encodeSlice (TComPic *pcPic, TComOutputBitstream *pcSubstreams, UInt &numBinsCoded) |
Void | setSearchRange (TComSlice *pcSlice) |
set ME range adaptively More... | |
Void | xDetermineStartAndBoundingCtuTsAddr (UInt &startCtuTsAddr, UInt &boundingCtuTsAddr, TComPic *pcPic) |
slice encoder class
Definition at line 61 of file TEncSlice.h.
|
virtual |
Definition at line 54 of file TEncSlice.cpp.
Definition at line 663 of file TEncSlice.cpp.
|
private |
Definition at line 1173 of file TEncSlice.cpp.
|
private |
Definition at line 433 of file TEncSlice.cpp.
Void TEncSlice::create | ( | Int | iWidth, |
Int | iHeight, | ||
ChromaFormat | chromaFormat, | ||
UInt | iMaxCUWidth, | ||
UInt | iMaxCUHeight, | ||
UChar | uhTotalDepth | ||
) |
Definition at line 59 of file TEncSlice.cpp.
Void TEncSlice::destroy | ( | ) |
Definition at line 68 of file TEncSlice.cpp.
Void TEncSlice::encodeSlice | ( | TComPic * | pcPic, |
TComOutputBitstream * | pcSubstreams, | ||
UInt & | numBinsCoded | ||
) |
Definition at line 985 of file TEncSlice.cpp.
|
inline |
CU encoder.
Definition at line 132 of file TEncSlice.h.
|
inline |
Definition at line 137 of file TEncSlice.h.
|
inline |
Definition at line 120 of file TEncSlice.h.
|
inline |
Definition at line 134 of file TEncSlice.h.
Definition at line 79 of file TEncSlice.cpp.
Void TEncSlice::initEncSlice | ( | TComPic * | pcPic, |
const Int | pocLast, | ||
const Int | pocCurr, | ||
const Int | iGOPid, | ||
TComSlice *& | rpcSlice, | ||
const Bool | isField | ||
) |
preparation of slice encoding (reference marking, QP and lambda)
pcPic | picture class |
pocLast | POC of last picture |
pocCurr | current POC |
iNumPicRcvd | number of received pictures |
iGOPid | POC offset for hierarchical structure |
rpcSlice | slice header class |
isField | true for field coding |
Definition at line 159 of file TEncSlice.cpp.
precompress slice for multi-loop slice-level QP opt.
Multi-loop slice encoding for different slice QP
pcPic | picture class |
Definition at line 572 of file TEncSlice.cpp.
Definition at line 529 of file TEncSlice.cpp.
Definition at line 119 of file TEncSlice.h.
set ME range adaptively
set adaptive search range based on poc difference
Definition at line 546 of file TEncSlice.cpp.
Definition at line 135 of file TEncSlice.h.
Definition at line 113 of file TEncSlice.cpp.
Definition at line 104 of file TEncSlice.cpp.
Void TEncSlice::xDetermineStartAndBoundingCtuTsAddr | ( | UInt & | startCtuTsAddr, |
UInt & | boundingCtuTsAddr, | ||
TComPic * | pcPic | ||
) |
Determines the starting and bounding CTU address of current slice / dependent slice
[out] | startCtuTsAddr | |
[out] | boundingCtuTsAddr | |
[in] | pcPic | Updates startCtuTsAddr, boundingCtuTsAddr with appropriate CTU address |
Definition at line 1266 of file TEncSlice.cpp.
Definition at line 1297 of file TEncSlice.cpp.
|
private |
picture-level RD cost
Definition at line 92 of file TEncSlice.h.
|
private |
Definition at line 100 of file TEncSlice.h.
|
private |
context storate for state of contexts at the wavefront/WPP/entropy-coding-sync second CTU of tile-row
Definition at line 99 of file TEncSlice.h.
|
private |
Definition at line 101 of file TEncSlice.h.
|
private |
context storage for state at the end of the previous slice-segment (used for dependent slices only).
Definition at line 98 of file TEncSlice.h.
|
private |
Bin encoder CABAC.
Definition at line 83 of file TEncSlice.h.
|
private |
encoder configuration class
Definition at line 66 of file TEncSlice.h.
|
private |
CU encoder.
Definition at line 75 of file TEncSlice.h.
|
private |
entropy encoder
Definition at line 81 of file TEncSlice.h.
|
private |
GOP encoder.
Definition at line 74 of file TEncSlice.h.
list of pictures
Definition at line 69 of file TEncSlice.h.
|
private |
encoder search class
Definition at line 78 of file TEncSlice.h.
|
private |
Rate control manager.
Definition at line 96 of file TEncSlice.h.
|
private |
RD cost computation.
Definition at line 87 of file TEncSlice.h.
|
private |
go-on SBAC encoder
Definition at line 89 of file TEncSlice.h.
|
private |
SBAC encoder.
Definition at line 82 of file TEncSlice.h.
|
private |
transform & quantization
Definition at line 84 of file TEncSlice.h.
|
private |
prediction picture buffer
Definition at line 70 of file TEncSlice.h.
|
private |
residual picture buffer
Definition at line 71 of file TEncSlice.h.
|
private |
storage for SBAC-based RD optimization
Definition at line 88 of file TEncSlice.h.
|
private |
total distortion for the picture
Definition at line 91 of file TEncSlice.h.
|
private |
total bits for the picture
Definition at line 90 of file TEncSlice.h.
|
private |
Definition at line 97 of file TEncSlice.h.
|
private |
array of lambda candidates
Definition at line 93 of file TEncSlice.h.
|
private |
array of picture QP candidates (double-type for lambda)
Definition at line 94 of file TEncSlice.h.
|
private |
array of picture QP candidates (Int-type)
Definition at line 95 of file TEncSlice.h.