Commit c49c5e23 authored by Michael Niedermayer's avatar Michael Niedermayer

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.

Originally committed as revision 12872 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 59b377ac
......@@ -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