alac: adjust conditions for updating entropy decoder history

avoids some unnecessary arithmetic in certain situations
This commit is contained in:
Justin Ruggles 2012-07-09 10:42:52 -04:00
parent a06fdadd97
commit 6fd8a28b59
1 changed files with 3 additions and 3 deletions

View File

@ -131,11 +131,11 @@ static void bastardized_rice_decompress(ALACContext *alac,
sign_modifier = 0;
/* now update the history */
history += x_modified * rice_history_mult -
((history * rice_history_mult) >> 9);
if (x_modified > 0xffff)
history = 0xffff;
else
history += x_modified * rice_history_mult -
((history * rice_history_mult) >> 9);
/* special case: there may be compressed blocks of 0 */
if ((history < 128) && (output_count+1 < output_size)) {