ref: cd475da8ed054187ed5e2013cc71f46a28202575
parent: 00d566eae1591078ecbadcaf67e30b2778c06b4e
author: John Koleszar <jkoleszar@google.com>
date: Sat Jun 12 10:11:51 EDT 2010
Make this/next iiratio unsigned. This patch addresses issue #79, which is a regression since commit 28de670 "Fix RD bug." If the coded error value is zero, the iiratio calculation effectively multiplies by 1000000 by the DOUBLE_DIVIDE_CHECK macro. This can result in a value larger than INT_MAX, giving a negative ratio. Since the error values are conceptually unsigned (though they're stored in a double) this patch makes the iiratio values unsigned, which allows the clamping to work as expected.
--- a/vp8/encoder/onyx_int.h
+++ b/vp8/encoder/onyx_int.h
@@ -523,8 +523,8 @@
int motion_lvl;
int motion_speed;
int motion_var;
- int next_iiratio;
- int this_iiratio;
+ unsigned int next_iiratio;
+ unsigned int this_iiratio;
int this_frame_modified_error;
double norm_intra_err_per_mb;