Commit 1b9ce756 authored by michael's avatar michael

Change k limiting code, i think the code was buggy.

If you have ALAC files TEST them! Mine produce the same md5 but the new
code is not identical if limiting does happen.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@12872 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent fdd8e95e
......@@ -226,18 +226,20 @@ static void bastardized_rice_decompress(ALACContext *alac,
k = count_leading_zeros(history) + ((history + 16) >> 6 /* / 64 */) - 24;
extrabits = show_bits(&alac->gb, k);
if (k >= rice_kmodifier)
k = rice_kmodifier;
block_size = (((1 << k) - 1) & rice_kmodifier_mask) * x
+ extrabits - 1;
x = (x << k) - x;
extrabits = show_bits(&alac->gb, k);
if (extrabits < 2) {
x = 1 - extrabits;
block_size += x;
skip_bits(&alac->gb, k - 1);
} else {
x += extrabits - 1;
skip_bits(&alac->gb, k);
}
block_size = x;
}
if (block_size > 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment