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.
diff --git a/vp8/encoder/onyx_int.h b/vp8/encoder/onyx_int.h
index b934d98..889bf73 100644
--- 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;