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.
This commit is contained in:
John Koleszar 2010-06-12 14:11:51 -04:00
parent 00d566eae1
commit cd475da8ed

View File

@ -523,8 +523,8 @@ typedef struct
int motion_lvl; int motion_lvl;
int motion_speed; int motion_speed;
int motion_var; int motion_var;
int next_iiratio; unsigned int next_iiratio;
int this_iiratio; unsigned int this_iiratio;
int this_frame_modified_error; int this_frame_modified_error;
double norm_intra_err_per_mb; double norm_intra_err_per_mb;