libavcodec/ratecontrol.c File Reference

Rate control for video encoders. More...

#include "libavutil/intmath.h"
#include "avcodec.h"
#include "dsputil.h"
#include "ratecontrol.h"
#include "mpegvideo.h"
#include "libavutil/eval.h"
#include <assert.h>

Go to the source code of this file.

Functions

static int init_pass2 (MpegEncContext *s)
static double get_qscale (MpegEncContext *s, RateControlEntry *rce, double rate_factor, int frame_num)
 modifies the bitrate curve from pass1 for one frame
void ff_write_pass1_stats (MpegEncContext *s)
static double qp2bits (RateControlEntry *rce, double qp)
static double bits2qp (RateControlEntry *rce, double bits)
int ff_rate_control_init (MpegEncContext *s)
void ff_rate_control_uninit (MpegEncContext *s)
int ff_vbv_update (MpegEncContext *s, int frame_size)
static double get_diff_limited_q (MpegEncContext *s, RateControlEntry *rce, double q)
static void get_qminmax (int *qmin_ret, int *qmax_ret, MpegEncContext *s, int pict_type)
 gets the qmin & qmax for pict_type
static double modify_qscale (MpegEncContext *s, RateControlEntry *rce, double q, int frame_num)
static double predict_size (Predictor *p, double q, double var)
static void update_predictor (Predictor *p, double q, double var, double size)
static void adaptive_quantization (MpegEncContext *s, double q)
void ff_get_2pass_fcode (MpegEncContext *s)
float ff_rate_estimate_qscale (MpegEncContext *s, int dry_run)


Detailed Description

Rate control for video encoders.

Definition in file ratecontrol.c.


Function Documentation

static void adaptive_quantization ( MpegEncContext s,
double  q 
) [static]

Definition at line 530 of file ratecontrol.c.

Referenced by ff_rate_estimate_qscale().

static double bits2qp ( RateControlEntry rce,
double  bits 
) [inline, static]

Definition at line 59 of file ratecontrol.c.

Referenced by ff_rate_control_init(), get_qscale(), and modify_qscale().

void ff_get_2pass_fcode ( MpegEncContext s  ) 

Definition at line 644 of file ratecontrol.c.

Referenced by encode_picture().

int ff_rate_control_init ( MpegEncContext s  ) 

Definition at line 66 of file ratecontrol.c.

Referenced by MPV_encode_init().

void ff_rate_control_uninit ( MpegEncContext s  ) 

Definition at line 252 of file ratecontrol.c.

Referenced by MPV_encode_end().

float ff_rate_estimate_qscale ( MpegEncContext s,
int  dry_run 
)

Definition at line 656 of file ratecontrol.c.

Referenced by estimate_qp().

int ff_vbv_update ( MpegEncContext s,
int  frame_size 
)

Definition at line 266 of file ratecontrol.c.

Referenced by init_pass2(), MPV_encode_picture(), and select_input_picture().

void ff_write_pass1_stats ( MpegEncContext s  ) 

Definition at line 45 of file ratecontrol.c.

Referenced by MPV_encode_picture().

static double get_diff_limited_q ( MpegEncContext s,
RateControlEntry rce,
double  q 
) [static]

Definition at line 376 of file ratecontrol.c.

Referenced by ff_rate_estimate_qscale(), and init_pass2().

static void get_qminmax ( int *  qmin_ret,
int *  qmax_ret,
MpegEncContext s,
int  pict_type 
) [static]

gets the qmin & qmax for pict_type

Definition at line 409 of file ratecontrol.c.

Referenced by ff_rate_estimate_qscale(), and modify_qscale().

static double get_qscale ( MpegEncContext s,
RateControlEntry rce,
double  rate_factor,
int  frame_num 
) [static]

modifies the bitrate curve from pass1 for one frame

Definition at line 305 of file ratecontrol.c.

static int init_pass2 ( MpegEncContext s  )  [static]

Definition at line 815 of file ratecontrol.c.

Referenced by ff_rate_control_init().

static double modify_qscale ( MpegEncContext s,
RateControlEntry rce,
double  q,
int  frame_num 
) [static]

Definition at line 432 of file ratecontrol.c.

Referenced by ff_rate_estimate_qscale(), and init_pass2().

static double predict_size ( Predictor p,
double  q,
double  var 
) [static]

Definition at line 506 of file ratecontrol.c.

Referenced by ff_rate_estimate_qscale().

static double qp2bits ( RateControlEntry rce,
double  qp 
) [inline, static]

Definition at line 52 of file ratecontrol.c.

Referenced by ff_rate_control_init(), get_qscale(), and init_pass2().

static void update_predictor ( Predictor p,
double  q,
double  var,
double  size 
) [static]

Definition at line 519 of file ratecontrol.c.

Referenced by ff_rate_estimate_qscale().


Generated on Fri Oct 26 02:38:18 2012 for FFmpeg by  doxygen 1.5.8