HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 ()
 
Int getLowerBound ()
 
TRCLCUgetLCU ()
 
TRCLCUgetLCU (Int LCUIdx)
 
Int getPicActualHeaderBits ()
 
Void setBitLeft (Int bits)
 
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)
 
Int xEstPicLowerBound (TEncRCSeq *encRCSeq, TEncRCGOP *encRCGOP)
 

Private Attributes

TEncRCSeqm_encRCSeq
 
TEncRCGOPm_encRCGOP
 
Int m_frameLevel
 
Int m_numberOfPixel
 
Int m_numberOfLCU
 
Int m_targetBits
 
Int m_estHeaderBits
 
Int m_estPicQP
 
Int m_lowerBound
 
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 586 of file TEncRateCtrl.cpp.

Double TEncRCPic::calAverageLambda ( )

Definition at line 1012 of file TEncRateCtrl.cpp.

Double TEncRCPic::calAverageQP ( )

Definition at line 985 of file TEncRateCtrl.cpp.

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

Definition at line 1129 of file TEncRateCtrl.cpp.

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

Definition at line 599 of file TEncRateCtrl.cpp.

Void TEncRCPic::destroy ( )

Definition at line 656 of file TEncRateCtrl.cpp.

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

Definition at line 668 of file TEncRateCtrl.cpp.

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

Definition at line 762 of file TEncRateCtrl.cpp.

Int TEncRCPic::getBitsCoded ( )
inline

Definition at line 263 of file TEncRateCtrl.h.

Int TEncRCPic::getBitsLeft ( )
inline

Definition at line 261 of file TEncRateCtrl.h.

Int TEncRCPic::getEstHeaderBits ( )
inline

Definition at line 259 of file TEncRateCtrl.h.

Int TEncRCPic::getFrameLevel ( )
inline

Definition at line 255 of file TEncRateCtrl.h.

TRCLCU* TEncRCPic::getLCU ( )
inline

Definition at line 266 of file TEncRateCtrl.h.

TRCLCU& TEncRCPic::getLCU ( Int  LCUIdx)
inline

Definition at line 267 of file TEncRateCtrl.h.

Int TEncRCPic::getLCUCoded ( )
inline

Definition at line 264 of file TEncRateCtrl.h.

Double TEncRCPic::getLCUEstLambda ( Double  bpp)

Definition at line 845 of file TEncRateCtrl.cpp.

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

Definition at line 1158 of file TEncRateCtrl.cpp.

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

Definition at line 898 of file TEncRateCtrl.cpp.

Void TEncRCPic::getLCUInitTargetBits ( )

Definition at line 1145 of file TEncRateCtrl.cpp.

Int TEncRCPic::getLCULeft ( )
inline

Definition at line 260 of file TEncRateCtrl.h.

Double TEncRCPic::getLCUTargetBpp ( SliceType  eSliceType)

Definition at line 800 of file TEncRateCtrl.cpp.

Int TEncRCPic::getLowerBound ( )
inline

Definition at line 265 of file TEncRateCtrl.h.

Int TEncRCPic::getNumberOfLCU ( )
inline

Definition at line 257 of file TEncRateCtrl.h.

Int TEncRCPic::getNumberOfPixel ( )
inline

Definition at line 256 of file TEncRateCtrl.h.

Int TEncRCPic::getPicActualBits ( )
inline

Definition at line 274 of file TEncRateCtrl.h.

Int TEncRCPic::getPicActualHeaderBits ( )
inline

Definition at line 268 of file TEncRateCtrl.h.

Double TEncRCPic::getPicActualLambda ( )
inline

Definition at line 276 of file TEncRateCtrl.h.

Int TEncRCPic::getPicActualQP ( )
inline

Definition at line 275 of file TEncRateCtrl.h.

Double TEncRCPic::getPicEstLambda ( )
inline

Definition at line 279 of file TEncRateCtrl.h.

Int TEncRCPic::getPicEstQP ( )
inline

Definition at line 277 of file TEncRateCtrl.h.

Int TEncRCPic::getPixelsLeft ( )
inline

Definition at line 262 of file TEncRateCtrl.h.

TEncRCGOP* TEncRCPic::getRCGOP ( )
inline

Definition at line 253 of file TEncRateCtrl.h.

TEncRCSeq* TEncRCPic::getRCSequence ( )
inline

Definition at line 252 of file TEncRateCtrl.h.

Int TEncRCPic::getRefineBitsForIntra ( Int  orgBits)

Definition at line 1110 of file TEncRateCtrl.cpp.

Int TEncRCPic::getTargetBits ( )
inline

Definition at line 258 of file TEncRateCtrl.h.

Void TEncRCPic::setBitLeft ( Int  bits)
inline

Definition at line 269 of file TEncRateCtrl.h.

Void TEncRCPic::setPicEstLambda ( Double  lambda)
inline

Definition at line 280 of file TEncRateCtrl.h.

Void TEncRCPic::setPicEstQP ( Int  QP)
inline

Definition at line 278 of file TEncRateCtrl.h.

Void TEncRCPic::setTargetBits ( Int  bits)
inline

Definition at line 270 of file TEncRateCtrl.h.

Void TEncRCPic::setTotalIntraCost ( Double  cost)
inline

Definition at line 271 of file TEncRateCtrl.h.

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

Definition at line 924 of file TEncRateCtrl.cpp.

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

Definition at line 1040 of file TEncRateCtrl.cpp.

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

Definition at line 1134 of file TEncRateCtrl.cpp.

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

Definition at line 524 of file TEncRateCtrl.cpp.

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

Definition at line 548 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 296 of file TEncRateCtrl.h.

TEncRCGOP* TEncRCPic::m_encRCGOP
private

Definition at line 284 of file TEncRateCtrl.h.

TEncRCSeq* TEncRCPic::m_encRCSeq
private

Definition at line 283 of file TEncRateCtrl.h.

Int TEncRCPic::m_estHeaderBits
private

Definition at line 290 of file TEncRateCtrl.h.

Double TEncRCPic::m_estPicLambda
private

Definition at line 293 of file TEncRateCtrl.h.

Int TEncRCPic::m_estPicQP
private

Definition at line 291 of file TEncRateCtrl.h.

Int TEncRCPic::m_frameLevel
private

Definition at line 286 of file TEncRateCtrl.h.

Int TEncRCPic::m_LCULeft
private

Definition at line 295 of file TEncRateCtrl.h.

TRCLCU* TEncRCPic::m_LCUs
private

Definition at line 299 of file TEncRateCtrl.h.

Int TEncRCPic::m_lowerBound
private

Definition at line 292 of file TEncRateCtrl.h.

Int TEncRCPic::m_numberOfLCU
private

Definition at line 288 of file TEncRateCtrl.h.

Int TEncRCPic::m_numberOfPixel
private

Definition at line 287 of file TEncRateCtrl.h.

Int TEncRCPic::m_picActualBits
private

Definition at line 303 of file TEncRateCtrl.h.

Int TEncRCPic::m_picActualHeaderBits
private

Definition at line 300 of file TEncRateCtrl.h.

Double TEncRCPic::m_picLambda
private

Definition at line 305 of file TEncRateCtrl.h.

Int TEncRCPic::m_picQP
private

Definition at line 304 of file TEncRateCtrl.h.

Int TEncRCPic::m_pixelsLeft
private

Definition at line 297 of file TEncRateCtrl.h.

Double TEncRCPic::m_remainingCostIntra
private

Definition at line 302 of file TEncRateCtrl.h.

Int TEncRCPic::m_targetBits
private

Definition at line 289 of file TEncRateCtrl.h.

Double TEncRCPic::m_totalCostIntra
private

Definition at line 301 of file TEncRateCtrl.h.


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