mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Make ratecontrol use ff_eval2().
Originally committed as revision 6354 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
0c6309225d
commit
d80f243ae9
@ -991,10 +991,16 @@ int ff_rate_control_init(MpegEncContext *s);
|
|||||||
float ff_rate_estimate_qscale(MpegEncContext *s, int dry_run);
|
float ff_rate_estimate_qscale(MpegEncContext *s, int dry_run);
|
||||||
void ff_write_pass1_stats(MpegEncContext *s);
|
void ff_write_pass1_stats(MpegEncContext *s);
|
||||||
void ff_rate_control_uninit(MpegEncContext *s);
|
void ff_rate_control_uninit(MpegEncContext *s);
|
||||||
|
#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
|
||||||
double ff_eval(char *s, double *const_value, const char **const_name,
|
double ff_eval(char *s, double *const_value, const char **const_name,
|
||||||
double (**func1)(void *, double), const char **func1_name,
|
double (**func1)(void *, double), const char **func1_name,
|
||||||
double (**func2)(void *, double, double), char **func2_name,
|
double (**func2)(void *, double, double), char **func2_name,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
#endif
|
||||||
|
double ff_eval2(char *s, double *const_value, const char **const_name,
|
||||||
|
double (**func1)(void *, double), const char **func1_name,
|
||||||
|
double (**func2)(void *, double, double), char **func2_name,
|
||||||
|
void *opaque, char **error);
|
||||||
int ff_vbv_update(MpegEncContext *s, int frame_size);
|
int ff_vbv_update(MpegEncContext *s, int frame_size);
|
||||||
void ff_get_2pass_fcode(MpegEncContext *s);
|
void ff_get_2pass_fcode(MpegEncContext *s);
|
||||||
|
|
||||||
|
@ -259,6 +259,7 @@ static double get_qscale(MpegEncContext *s, RateControlEntry *rce, double rate_f
|
|||||||
const int pict_type= rce->new_pict_type;
|
const int pict_type= rce->new_pict_type;
|
||||||
const double mb_num= s->mb_num;
|
const double mb_num= s->mb_num;
|
||||||
int i;
|
int i;
|
||||||
|
char *error = NULL;
|
||||||
|
|
||||||
double const_values[]={
|
double const_values[]={
|
||||||
M_PI,
|
M_PI,
|
||||||
@ -325,9 +326,9 @@ static double get_qscale(MpegEncContext *s, RateControlEntry *rce, double rate_f
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
bits= ff_eval(s->avctx->rc_eq, const_values, const_names, func1, func1_names, NULL, NULL, rce);
|
bits= ff_eval2(s->avctx->rc_eq, const_values, const_names, func1, func1_names, NULL, NULL, rce, &error);
|
||||||
if (isnan(bits)) {
|
if (isnan(bits)) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "Unable to parse rc_eq \"%s\".\n", s->avctx->rc_eq);
|
av_log(s->avctx, AV_LOG_ERROR, "Error evaluating rc_eq \"%s\": %s\n", s->avctx->rc_eq, error? error : "");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user