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

#include <TEncRateCtrl.h>

Collaboration diagram for TEncRCPic:
Collaboration graph
[legend]

Public Member Functions

 TEncRCPic ()
 
 ~TEncRCPic ()
 
Void create (TEncRCSeq *encRCSeq, TEncRCGOP *encRCGOP, Int frameLevel, list< TEncRCPic * > &listPreviousPictures)
 
Void destroy ()
 
Int estimatePicQP (Double lambda, list< TEncRCPic * > &listPreviousPictures)
 
Int getRefineBitsForIntra (Int orgBits)
 
Double calculateLambdaIntra (Double alpha, Double beta, Double MADPerPixel, Double bitsPerPixel)
 
Double estimatePicLambda (list< TEncRCPic * > &listPreviousPictures, SliceType eSliceType)
 
Void updateAlphaBetaIntra (Double *alpha, Double *beta)
 
Double getLCUTargetBpp (SliceType eSliceType)
 
Double getLCUEstLambdaAndQP (Double bpp, Int clipPicQP, Int *estQP)
 
Double getLCUEstLambda (Double bpp)
 
Int getLCUEstQP (Double lambda, Int clipPicQP)
 
Void updateAfterCTU (Int LCUIdx, Int bits, Int QP, Double lambda, Bool updateLCUParameter=true)
 
Void updateAfterPicture (Int actualHeaderBits, Int actualTotalBits, Double averageQP, Double averageLambda, SliceType eSliceType)
 
Void addToPictureLsit (list< TEncRCPic * > &listPreviousPictures)
 
Double calAverageQP ()
 
Double calAverageLambda ()
 
TEncRCSeqgetRCSequence ()
 
TEncRCGOPgetRCGOP ()
 
Int getFrameLevel ()
 
Int getNumberOfPixel ()
 
Int getNumberOfLCU ()
 
Int getTargetBits ()
 
Int getEstHeaderBits ()
 
Int getLCULeft ()
 
Int getBitsLeft ()
 
Int getPixelsLeft ()
 
Int getBitsCoded ()
 
Int getLCUCoded ()
 
TRCLCUgetLCU ()
 
TRCLCUgetLCU (Int LCUIdx)
 
Int getPicActualHeaderBits ()
 
Void setTargetBits (Int bits)
 
Void setTotalIntraCost (Double cost)
 
Void getLCUInitTargetBits ()
 
Int getPicActualBits ()
 
Int getPicActualQP ()
 
Double getPicActualLambda ()
 
Int getPicEstQP ()
 
Void setPicEstQP (Int QP)
 
Double getPicEstLambda ()
 
Void setPicEstLambda (Double lambda)
 

Private Member Functions

Int xEstPicTargetBits (TEncRCSeq *encRCSeq, TEncRCGOP *encRCGOP)
 
Int xEstPicHeaderBits (list< TEncRCPic * > &listPreviousPictures, Int frameLevel)
 

Private Attributes

TEncRCSeqm_encRCSeq
 
TEncRCGOPm_encRCGOP
 
Int m_frameLevel
 
Int m_numberOfPixel
 
Int m_numberOfLCU
 
Int m_targetBits
 
Int m_estHeaderBits
 
Int m_estPicQP
 
Double m_estPicLambda
 
Int m_LCULeft
 
Int m_bitsLeft
 
Int m_pixelsLeft
 
TRCLCUm_LCUs
 
Int m_picActualHeaderBits
 
Double m_totalCostIntra
 
Double m_remainingCostIntra
 
Int m_picActualBits
 
Int m_picQP
 
Double m_picLambda
 

Detailed Description

Definition at line 217 of file TEncRateCtrl.h.

Constructor & Destructor Documentation

TEncRCPic::TEncRCPic ( )

Definition at line 466 of file TEncRateCtrl.cpp.

TEncRCPic::~TEncRCPic ( )

Definition at line 490 of file TEncRateCtrl.cpp.

Member Function Documentation

Void TEncRCPic::addToPictureLsit ( list< TEncRCPic * > &  listPreviousPictures)

Definition at line 548 of file TEncRateCtrl.cpp.

Double TEncRCPic::calAverageLambda ( )

Definition at line 973 of file TEncRateCtrl.cpp.

Double TEncRCPic::calAverageQP ( )

Definition at line 946 of file TEncRateCtrl.cpp.

Double TEncRCPic::calculateLambdaIntra ( Double  alpha,
Double  beta,
Double  MADPerPixel,
Double  bitsPerPixel 
)

Definition at line 1090 of file TEncRateCtrl.cpp.

Void TEncRCPic::create ( TEncRCSeq encRCSeq,
TEncRCGOP encRCGOP,
Int  frameLevel,
list< TEncRCPic * > &  listPreviousPictures 
)

Definition at line 561 of file TEncRateCtrl.cpp.

Void TEncRCPic::destroy ( )

Definition at line 617 of file TEncRateCtrl.cpp.

Double TEncRCPic::estimatePicLambda ( list< TEncRCPic * > &  listPreviousPictures,
SliceType  eSliceType 
)

Definition at line 629 of file TEncRateCtrl.cpp.

Int TEncRCPic::estimatePicQP ( Double  lambda,
list< TEncRCPic * > &  listPreviousPictures 
)

Definition at line 723 of file TEncRateCtrl.cpp.

Int TEncRCPic::getBitsCoded ( )
inline

Definition at line 262 of file TEncRateCtrl.h.

Int TEncRCPic::getBitsLeft ( )
inline

Definition at line 260 of file TEncRateCtrl.h.

Int TEncRCPic::getEstHeaderBits ( )
inline

Definition at line 258 of file TEncRateCtrl.h.

Int TEncRCPic::getFrameLevel ( )
inline

Definition at line 254 of file TEncRateCtrl.h.

TRCLCU* TEncRCPic::getLCU ( )
inline

Definition at line 264 of file TEncRateCtrl.h.

TRCLCU& TEncRCPic::getLCU ( Int  LCUIdx)
inline

Definition at line 265 of file TEncRateCtrl.h.

Int TEncRCPic::getLCUCoded ( )
inline

Definition at line 263 of file TEncRateCtrl.h.

Double TEncRCPic::getLCUEstLambda ( Double  bpp)

Definition at line 806 of file TEncRateCtrl.cpp.

Double TEncRCPic::getLCUEstLambdaAndQP ( Double  bpp,
Int  clipPicQP,
Int estQP 
)

Definition at line 1119 of file TEncRateCtrl.cpp.

Int TEncRCPic::getLCUEstQP ( Double  lambda,
Int  clipPicQP 
)

Definition at line 859 of file TEncRateCtrl.cpp.

Void TEncRCPic::getLCUInitTargetBits ( )

Definition at line 1106 of file TEncRateCtrl.cpp.

Int TEncRCPic::getLCULeft ( )
inline

Definition at line 259 of file TEncRateCtrl.h.

Double TEncRCPic::getLCUTargetBpp ( SliceType  eSliceType)

Definition at line 761 of file TEncRateCtrl.cpp.

Int TEncRCPic::getNumberOfLCU ( )
inline

Definition at line 256 of file TEncRateCtrl.h.

Int TEncRCPic::getNumberOfPixel ( )
inline

Definition at line 255 of file TEncRateCtrl.h.

Int TEncRCPic::getPicActualBits ( )
inline

Definition at line 271 of file TEncRateCtrl.h.

Int TEncRCPic::getPicActualHeaderBits ( )
inline

Definition at line 266 of file TEncRateCtrl.h.

Double TEncRCPic::getPicActualLambda ( )
inline

Definition at line 273 of file TEncRateCtrl.h.

Int TEncRCPic::getPicActualQP ( )
inline

Definition at line 272 of file TEncRateCtrl.h.

Double TEncRCPic::getPicEstLambda ( )
inline

Definition at line 276 of file TEncRateCtrl.h.

Int TEncRCPic::getPicEstQP ( )
inline

Definition at line 274 of file TEncRateCtrl.h.

Int TEncRCPic::getPixelsLeft ( )
inline

Definition at line 261 of file TEncRateCtrl.h.

TEncRCGOP* TEncRCPic::getRCGOP ( )
inline

Definition at line 252 of file TEncRateCtrl.h.

TEncRCSeq* TEncRCPic::getRCSequence ( )
inline

Definition at line 251 of file TEncRateCtrl.h.

Int TEncRCPic::getRefineBitsForIntra ( Int  orgBits)

Definition at line 1071 of file TEncRateCtrl.cpp.

Int TEncRCPic::getTargetBits ( )
inline

Definition at line 257 of file TEncRateCtrl.h.

Void TEncRCPic::setPicEstLambda ( Double  lambda)
inline

Definition at line 277 of file TEncRateCtrl.h.

Void TEncRCPic::setPicEstQP ( Int  QP)
inline

Definition at line 275 of file TEncRateCtrl.h.

Void TEncRCPic::setTargetBits ( Int  bits)
inline

Definition at line 267 of file TEncRateCtrl.h.

Void TEncRCPic::setTotalIntraCost ( Double  cost)
inline

Definition at line 268 of file TEncRateCtrl.h.

Void TEncRCPic::updateAfterCTU ( Int  LCUIdx,
Int  bits,
Int  QP,
Double  lambda,
Bool  updateLCUParameter = true 
)

Definition at line 885 of file TEncRateCtrl.cpp.

Void TEncRCPic::updateAfterPicture ( Int  actualHeaderBits,
Int  actualTotalBits,
Double  averageQP,
Double  averageLambda,
SliceType  eSliceType 
)

Definition at line 1001 of file TEncRateCtrl.cpp.

Void TEncRCPic::updateAlphaBetaIntra ( Double alpha,
Double beta 
)

Definition at line 1095 of file TEncRateCtrl.cpp.

Int TEncRCPic::xEstPicHeaderBits ( list< TEncRCPic * > &  listPreviousPictures,
Int  frameLevel 
)
private

Definition at line 524 of file TEncRateCtrl.cpp.

Int TEncRCPic::xEstPicTargetBits ( TEncRCSeq encRCSeq,
TEncRCGOP encRCGOP 
)
private

Definition at line 495 of file TEncRateCtrl.cpp.

Member Data Documentation

Int TEncRCPic::m_bitsLeft
private

Definition at line 292 of file TEncRateCtrl.h.

TEncRCGOP* TEncRCPic::m_encRCGOP
private

Definition at line 281 of file TEncRateCtrl.h.

TEncRCSeq* TEncRCPic::m_encRCSeq
private

Definition at line 280 of file TEncRateCtrl.h.

Int TEncRCPic::m_estHeaderBits
private

Definition at line 287 of file TEncRateCtrl.h.

Double TEncRCPic::m_estPicLambda
private

Definition at line 289 of file TEncRateCtrl.h.

Int TEncRCPic::m_estPicQP
private

Definition at line 288 of file TEncRateCtrl.h.

Int TEncRCPic::m_frameLevel
private

Definition at line 283 of file TEncRateCtrl.h.

Int TEncRCPic::m_LCULeft
private

Definition at line 291 of file TEncRateCtrl.h.

TRCLCU* TEncRCPic::m_LCUs
private

Definition at line 295 of file TEncRateCtrl.h.

Int TEncRCPic::m_numberOfLCU
private

Definition at line 285 of file TEncRateCtrl.h.

Int TEncRCPic::m_numberOfPixel
private

Definition at line 284 of file TEncRateCtrl.h.

Int TEncRCPic::m_picActualBits
private

Definition at line 299 of file TEncRateCtrl.h.

Int TEncRCPic::m_picActualHeaderBits
private

Definition at line 296 of file TEncRateCtrl.h.

Double TEncRCPic::m_picLambda
private

Definition at line 301 of file TEncRateCtrl.h.

Int TEncRCPic::m_picQP
private

Definition at line 300 of file TEncRateCtrl.h.

Int TEncRCPic::m_pixelsLeft
private

Definition at line 293 of file TEncRateCtrl.h.

Double TEncRCPic::m_remainingCostIntra
private

Definition at line 298 of file TEncRateCtrl.h.

Int TEncRCPic::m_targetBits
private

Definition at line 286 of file TEncRateCtrl.h.

Double TEncRCPic::m_totalCostIntra
private

Definition at line 297 of file TEncRateCtrl.h.


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