]> granicus.if.org Git - libx264/commitdiff
Fixes by Loren Merritt (lorenm at u.washington.edu).
authorMåns Rullgård <mru@mru.ath.cx>
Wed, 11 Aug 2004 20:24:20 +0000 (20:24 +0000)
committerMåns Rullgård <mru@mru.ath.cx>
Wed, 11 Aug 2004 20:24:20 +0000 (20:24 +0000)
git-svn-id: svn://svn.videolan.org/x264/trunk@25 df754926-b1dd-0310-bc7b-ec298dee348c

encoder/ratecontrol.c

index 7d79947ae1625745a7476111b7f3cbfa79d7367f..230a97d2b6795192a50a92b9fe1cc5127fe738a6 100644 (file)
@@ -83,7 +83,7 @@ int x264_ratecontrol_new( x264_t *h )
     rc->qpa = rc->qp;
     rc->qpm = rc->qp;
 
-    rc->buffer_size = h->param.i_rc_buffer_size;
+    rc->buffer_size = h->param.i_rc_buffer_size * 1000;
     if(rc->buffer_size <= 0)
         rc->buffer_size = rc->bitrate / 2;
     rc->buffer_fullness = h->param.i_rc_init_buffer;
@@ -221,14 +221,14 @@ void x264_ratecontrol_start( x264_t *h, int i_slice_type )
         rc->qp = rc->qpa + dqp;
     }
 
-    if(rc->fbits > 0.8 * maxbits)
-        rc->qp += 1;
-    else if(rc->fbits > 0.9 * maxbits)
+    if(rc->fbits > 0.9 * maxbits)
         rc->qp += 2;
-    else if(rc->fbits < 1.2 * minbits)
-        rc->qp -= 1;
+    else if(rc->fbits > 0.8 * maxbits)
+        rc->qp += 1;
     else if(rc->fbits < 1.1 * minbits)
         rc->qp -= 2;
+    else if(rc->fbits < 1.2 * minbits)
+        rc->qp -= 1;
 
     rc->qp = x264_clip3(rc->qp, h->param.i_qp_min, h->param.i_qp_max);
     rc->qpm = rc->qp;