fixing i_quant_factor, this should finally fix the bitrate bug with ffserver hopefully
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 19 Sep 2002 20:22:39 +0000 (20:22 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 19 Sep 2002 20:22:39 +0000 (20:22 +0000)
Originally committed as revision 959 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c
ffserver.c
libavcodec/avcodec.h
libavcodec/utils.c

index 59e19bf..4d8c436 100644 (file)
--- 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;
index 448fb65..0d2d423 100644 (file)
@@ -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)
index 2f67329..83c112d 100644 (file)
@@ -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
      */
index 27d5550..933638f 100644 (file)
@@ -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;
 }