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
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) {