mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
alac: eliminate 2 unneeded local variables in bastardized_rice_decompress()
x_modified is just unnecessary, and final_val can be removed by simplifying the unsigned-to-signed conversion.
This commit is contained in:
parent
6fd8a28b59
commit
7e6593e977
@ -110,32 +110,23 @@ static void bastardized_rice_decompress(ALACContext *alac,
|
||||
int sign_modifier = 0;
|
||||
|
||||
for (output_count = 0; output_count < output_size; output_count++) {
|
||||
int32_t x;
|
||||
int32_t x_modified;
|
||||
int32_t final_val;
|
||||
|
||||
/* standard rice encoding */
|
||||
int k; /* size of extra bits */
|
||||
int x, k;
|
||||
|
||||
/* read k, that is bits as is */
|
||||
k = av_log2((history >> 9) + 3);
|
||||
k = FFMIN(k, alac->rice_limit);
|
||||
x = decode_scalar(&alac->gb, k, readsamplesize);
|
||||
|
||||
x_modified = sign_modifier + x;
|
||||
final_val = (x_modified + 1) / 2;
|
||||
if (x_modified & 1) final_val *= -1;
|
||||
|
||||
output_buffer[output_count] = final_val;
|
||||
|
||||
x += sign_modifier;
|
||||
sign_modifier = 0;
|
||||
|
||||
output_buffer[output_count] = (x >> 1) ^ -(x & 1);
|
||||
|
||||
/* now update the history */
|
||||
if (x_modified > 0xffff)
|
||||
if (x > 0xffff)
|
||||
history = 0xffff;
|
||||
else
|
||||
history += x_modified * rice_history_mult -
|
||||
((history * rice_history_mult) >> 9);
|
||||
history += x * 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)) {
|
||||
|
Loading…
Reference in New Issue
Block a user