From b3a391e8b8498b3156849dafe164c859fbfbbcd2 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 19 Sep 2002 20:22:39 +0000 Subject: [PATCH] fixing i_quant_factor, this should finally fix the bitrate bug with ffserver hopefully Originally committed as revision 959 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffmpeg.c | 2 +- ffserver.c | 2 +- libavcodec/avcodec.h | 4 ++++ libavcodec/utils.c | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 59e19bf..4d8c436 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -104,7 +104,7 @@ static int video_rc_min_rate=0; static float video_rc_initial_cplx=0; static float video_b_qfactor = 1.25; static float video_b_qoffset = 1.25; -static float video_i_qfactor = -0.5; +static float video_i_qfactor = -0.8; static float video_i_qoffset = 0.0; static int me_method = 0; static int video_disable = 0; diff --git a/ffserver.c b/ffserver.c index 448fb65..0d2d423 100644 --- a/ffserver.c +++ b/ffserver.c @@ -3296,7 +3296,7 @@ void add_codec(FFStream *stream, AVCodecContext *av) if (!av->rc_eq) av->rc_eq = "tex^qComp"; if (!av->i_quant_factor) - av->i_quant_factor = 0.8; + av->i_quant_factor = -0.8; if (!av->b_quant_factor) av->b_quant_factor = 1.25; if (!av->b_quant_offset) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 2f67329..83c112d 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -430,6 +430,8 @@ typedef struct AVCodecContext { /** * qscale offset between ip and b frames + * if > 0 then the last p frame quantizer will be used (q= lastp_q*factor+offset) + * if < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset) * encoding: set by user. * decoding: unused */ @@ -589,6 +591,8 @@ typedef struct AVCodecContext { /** * qscale offset between p and i frames + * if > 0 then the last p frame quantizer will be used (q= lastp_q*factor+offset) + * if < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset) * encoding: set by user. * decoding: unused */ diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 27d5550..933638f 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -59,7 +59,7 @@ void avcodec_get_context_defaults(AVCodecContext *s){ s->max_qdiff= 3; s->b_quant_factor=1.25; s->b_quant_offset=1.25; - s->i_quant_factor=0.8; + s->i_quant_factor=-0.8; s->i_quant_offset=0.0; } -- 2.7.4