]> git.sesse.net Git - x264/commitdiff
Fix extremely rare infinite loop in 2-pass VBV
authorFiona Glaser <fiona@x264.com>
Wed, 4 Nov 2009 07:15:35 +0000 (23:15 -0800)
committerFiona Glaser <fiona@x264.com>
Mon, 9 Nov 2009 04:21:45 +0000 (20:21 -0800)
Implicit conversion from double->float lost enough precision to cause the loop termination condition to never trigger.
Bug report by Tal Aloni.

encoder/ratecontrol.c

index 06911421b3f63922679f921b3357885536cc2ea7..49e88f70f1caf9257ada37ec9717f7a2a15a9fd6 100644 (file)
@@ -37,13 +37,13 @@ typedef struct
 {
     int pict_type;
     int kept_as_ref;
-    float qscale;
+    double qscale;
     int mv_bits;
     int tex_bits;
     int misc_bits;
     uint64_t expected_bits; /*total expected bits up to the current frame (current one excluded)*/
     double expected_vbv;
-    float new_qscale;
+    double new_qscale;
     int new_qp;
     int i_count;
     int p_count;