45 #ifndef _RATE_CONTROL_H_ 46 #define _RATE_CONTROL_H_ 100 void CalcNextQualFactor(
const PictureParams& fparams,
int num_bits);
103 void CalcNextIntraQualFactor();
106 void SetCutPictureQualFactor();
120 double TargetSubgroupRate();
122 double ProjectedSubgroupRate();
125 void Allocate(
const int fnum);
134 void SetFrameDistribution();
137 float ReviewQualityFactor(
const float qfac,
const long int num_bits );
140 float ClipQualityFactor(
const float qfac );
143 void UpdateBuffer(
const long int num_bits );
int m_num_Iframe
Number of I frames.
Definition: rate_control.h:170
int IComplexity()
Return the complexity of I frame.
Definition: rate_control.h:59
long int m_L2frame_bits
Number of bits for L2 frame.
Definition: rate_control.h:167
long int m_GOP_target
The target number of bits for the current GOP.
Definition: rate_control.h:197
double m_qf
Current Quality Factor.
Definition: rate_control.h:149
long int m_buffer_bits
Number of bits in the buffer.
Definition: rate_control.h:188
void SetIComplexity(int cpx)
Set the complexity of I frame.
Definition: rate_control.h:68
Parameters relating to the source material being encoded/decoded.
Definition: common.h:288
void SetL1Complexity(int cpx)
Set the complexity of L1 frame.
Definition: rate_control.h:71
int m_num_L1frame
Number of L1 frames.
Definition: rate_control.h:173
double m_I_qf
I frame Quality Factor.
Definition: rate_control.h:152
long int m_L1frame_bits
Number of bits for L1 frame.
Definition: rate_control.h:164
double IntraQualFactor()
Return I frame qf.
Definition: rate_control.h:109
double m_I_qf_long_term
Long-term average of I frame Quality Factor.
Definition: rate_control.h:155
long int m_old_buffer_bits
The old buffer occupancy.
Definition: rate_control.h:191
Parameters for the encoding process.
Definition: common.h:1279
EncoderParams & m_encparams
A reference to the encoder parameters.
Definition: rate_control.h:203
int m_XL1
Complexity of L1 frame.
Definition: rate_control.h:83
int m_num_L2frame
Number of L2 frames.
Definition: rate_control.h:176
const int m_target_rate
Target bit rate in kbps.
Definition: rate_control.h:158
Parameters for initialising picture class objects.
Definition: common.h:532
long int m_picture_bits
Mean number of bits in a picture.
Definition: rate_control.h:182
long int m_Iframe_bits
Number of bits for I frame.
Definition: rate_control.h:161
int m_XI
Complexity of I frame.
Definition: rate_control.h:80
int L2Complexity()
Return the complexity of L2 frame.
Definition: rate_control.h:65
void SetIntraQualFactor(double value)
Set the value of Current IQF.
Definition: rate_control.h:131
double m_GOP_duration
The duration of a GOP.
Definition: rate_control.h:200
A clas for allocation the bits to each and every types of frames in a GOP.
Definition: rate_control.h:91
int m_fcount
A frame counter, giving the position within a subgroup.
Definition: rate_control.h:209
long int m_total_GOP_bits
Total Number of bits in a GOP.
Definition: rate_control.h:179
FrameComplexity()
Default constructor.
double m_buffer_rate_of_change
The rate of change of buffer occupancy.
Definition: rate_control.h:194
bool m_intra_only
Definition: rate_control.h:212
void SetL2Complexity(int cpx)
Set the complexity of L2 frame.
Definition: rate_control.h:74
FrameComplexity m_frame_complexity
A class to hold the frame complexity object.
Definition: rate_control.h:206
int m_L2_complexity_sum
Definition: rate_control.h:215
Definition of class SequenceHeaderByteIO.
Definition: accessunit_byteio.h:51
int m_XL2
Complexity of L2 frame.
Definition: rate_control.h:86
int L1Complexity()
Return the complexity of L1 frame.
Definition: rate_control.h:62
const long int m_buffer_size
Size of the decoded bit buffer.
Definition: rate_control.h:185
double QualFactor()
Return qf.
Definition: rate_control.h:112
Definition: rate_control.h:52