aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2002-09-19 20:22:39 +0000
committerMichael Niedermayer <michaelni@gmx.at>2002-09-19 20:22:39 +0000
commitb3a391e8b8498b3156849dafe164c859fbfbbcd2 (patch)
tree644144317bfacadfec12fb071f31e86f7db9a347
parente8b62df6e44344033fef60015f938ff940affd27 (diff)
downloadffmpeg-b3a391e8b8498b3156849dafe164c859fbfbbcd2.tar.gz
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
-rw-r--r--ffmpeg.c2
-rw-r--r--ffserver.c2
-rw-r--r--libavcodec/avcodec.h4
-rw-r--r--libavcodec/utils.c2
4 files changed, 7 insertions, 3 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index 59e19bf205..4d8c436faa 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 448fb65794..0d2d423670 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 2f67329c8d..83c112dadf 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 27d5550f92..933638f5c9 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;
}