FFmpeg
|
Rate control for video encoders. More...
#include "avcodec.h"
#include "ratecontrol.h"
#include "mpegvideo.h"
#include "libavutil/eval.h"
#include <assert.h>
Go to the source code of this file.
Macros | |
#define | M_E 2.718281828 |
Functions | |
static int | init_pass2 (MpegEncContext *s) |
static double | get_qscale (MpegEncContext *s, RateControlEntry *rce, double rate_factor, int frame_num) |
Modify the bitrate curve from pass1 for one frame. | |
void | ff_write_pass1_stats (MpegEncContext *s) |
static double | get_fps (AVCodecContext *avctx) |
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) |
Get 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) |
Rate control for video encoders.
Definition in file ratecontrol.c.
#define M_E 2.718281828 |
Definition at line 37 of file ratecontrol.c.
Referenced by config(), and get_qscale().
|
static |
Definition at line 908 of file ratecontrol.c.
Referenced by ff_rate_control_init().
|
static |
Modify the bitrate curve from pass1 for one frame.
Definition at line 355 of file ratecontrol.c.
Referenced by ff_rate_control_init(), ff_rate_estimate_qscale(), and init_pass2().
void ff_write_pass1_stats | ( | MpegEncContext * | s | ) |
Definition at line 44 of file ratecontrol.c.
Referenced by encode_frame(), and ff_MPV_encode_picture().
|
static |
Definition at line 65 of file ratecontrol.c.
Referenced by ff_rate_control_init(), ff_rate_estimate_qscale(), ff_vbv_update(), init_pass2(), and modify_qscale().
|
inlinestatic |
Definition at line 70 of file ratecontrol.c.
Referenced by ff_rate_control_init(), get_qscale(), and init_pass2().
|
inlinestatic |
Definition at line 78 of file ratecontrol.c.
Referenced by ff_rate_control_init(), get_qscale(), and modify_qscale().
int ff_rate_control_init | ( | MpegEncContext * | s | ) |
Definition at line 86 of file ratecontrol.c.
Referenced by encode_init(), and ff_MPV_encode_init().
void ff_rate_control_uninit | ( | MpegEncContext * | s | ) |
Definition at line 299 of file ratecontrol.c.
Referenced by ff_MPV_encode_end().
int ff_vbv_update | ( | MpegEncContext * | s, |
int | frame_size | ||
) |
Definition at line 313 of file ratecontrol.c.
Referenced by ff_MPV_encode_picture(), init_pass2(), and select_input_picture().
|
static |
Definition at line 434 of file ratecontrol.c.
Referenced by ff_rate_estimate_qscale(), and init_pass2().
|
static |
Get the qmin & qmax for pict_type.
Definition at line 473 of file ratecontrol.c.
Referenced by ff_rate_estimate_qscale(), and modify_qscale().
|
static |
Definition at line 501 of file ratecontrol.c.
Referenced by ff_rate_estimate_qscale(), and init_pass2().
|
static |
Definition at line 592 of file ratecontrol.c.
Referenced by ff_rate_estimate_qscale().
Definition at line 597 of file ratecontrol.c.
Referenced by ff_rate_estimate_qscale().
|
static |
Definition at line 609 of file ratecontrol.c.
Referenced by ff_rate_estimate_qscale().
void ff_get_2pass_fcode | ( | MpegEncContext * | s | ) |
Definition at line 726 of file ratecontrol.c.
Referenced by encode_picture().
float ff_rate_estimate_qscale | ( | MpegEncContext * | s, |
int | dry_run | ||
) |
Definition at line 737 of file ratecontrol.c.
Referenced by encode_frame(), estimate_qp(), and ratecontrol_1pass().