#include <math.h>
#include <limits.h>
#include "global.h"
#include "ratectl.h"
Go to the source code of this file.
Functions | |
void | rc_store_mad (Macroblock *currMB) |
double | QP2Qstep (int QP) |
int | Qstep2QP (double Qstep, int qp_offset) |
int | ComputeMBMAD (int diffy[16][16]) |
double | ComputeFrameMAD (ImageParameters *p_Img) |
void | rc_copy_generic (ImageParameters *p_Img, RCGeneric *dst, RCGeneric *src) |
void | rc_alloc_generic (ImageParameters *p_Img, RCGeneric **p_quad) |
void | rc_free_generic (RCGeneric **p_quad) |
void | rc_init_gop_params (ImageParameters *p_Img, InputParameters *p_Inp) |
void | rc_init_frame (ImageParameters *p_Img, InputParameters *p_Inp) |
void | rc_init_sequence (ImageParameters *p_Img, InputParameters *p_Inp) |
void | rc_store_slice_header_bits (ImageParameters *p_Img, InputParameters *p_Inp, int len) |
void | rc_store_diff (int diffy[16][16], imgpel **p_curImg, int cpix_x, imgpel **prediction) |
Definition in file ratectl.c.
double ComputeFrameMAD | ( | ImageParameters * | p_Img | ) |
Compute Frame MAD.
Definition at line 151 of file ratectl.c.
Referenced by rc_update_pict(), and updateRCModel().
int ComputeMBMAD | ( | int | diffy[16][16] | ) |
calculate MAD for the current macroblock
Definition at line 133 of file ratectl.c.
Referenced by rc_store_mad().
double QP2Qstep | ( | int | QP | ) |
map QP to Qstep
Definition at line 53 of file ratectl.c.
Referenced by Qstep2QP(), and updateRCModel().
int Qstep2QP | ( | double | Qstep, | |
int | qp_offset | |||
) |
map Qstep to QP
Definition at line 74 of file ratectl.c.
References QP2Qstep().
Referenced by updateModelQPBU(), and updateModelQPFrame().
void rc_alloc_generic | ( | ImageParameters * | p_Img, | |
RCGeneric ** | p_quad | |||
) |
Dynamically allocate memory needed for generic rate control.
Definition at line 192 of file ratectl.c.
References no_mem_exit().
Referenced by rc_allocate_memory().
void rc_copy_generic | ( | ImageParameters * | p_Img, | |
RCGeneric * | dst, | |||
RCGeneric * | src | |||
) |
Copy JVT rate control objects.
Definition at line 168 of file ratectl.c.
Referenced by encode_one_slice_MBAFF(), rc_init_frame(), rc_init_frame_rdpic(), rc_restore_state(), and rc_save_state().
void rc_free_generic | ( | RCGeneric ** | p_quad | ) |
Free memory needed for generic rate control.
Definition at line 215 of file ratectl.c.
Referenced by rc_free_memory().
void rc_init_frame | ( | ImageParameters * | p_Img, | |
InputParameters * | p_Inp | |||
) |
Initialize Frame Level Rate Control parameters.
Definition at line 303 of file ratectl.c.
References inp_par_enc::MbInterlace, img_par::number, img_par::qp, rc_copy_generic(), rc_copy_quadratic(), and inp_par_enc::RDPictureDecision.
Referenced by encode_one_frame().
void rc_init_gop_params | ( | ImageParameters * | p_Img, | |
InputParameters * | p_Inp | |||
) |
Initialize GOP Level Rate Control parameters.
Definition at line 236 of file ratectl.c.
References inp_par_enc::idr_period, inp_par_enc::no_frm_base, img_par::number, inp_par_enc::NumberBFrames, and rc_init_GOP().
Referenced by prepare_first_layer().
void rc_init_sequence | ( | ImageParameters * | p_Img, | |
InputParameters * | p_Inp | |||
) |
Initialize Sequence Level Rate Control parameters.
Definition at line 340 of file ratectl.c.
References rc_init_seq().
Referenced by init_encoder().
void rc_store_diff | ( | int | diffy[16][16], | |
imgpel ** | p_curImg, | |||
int | cpix_x, | |||
imgpel ** | prediction | |||
) |
Update Rate Control Difference.
Definition at line 375 of file ratectl.c.
Referenced by compute_mode_RD_cost(), encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), and encode_one_macroblock_low().
void rc_store_mad | ( | Macroblock * | currMB | ) |
Update Rate Control Parameters.
Definition at line 32 of file ratectl.c.
References ComputeMBMAD(), macroblock::mbAddrX, macroblock::p_Img, and macroblock::p_slice.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), and encode_one_macroblock_low().