Justin Ruggles <[email protected]> writes:

> x_modified is just unnecessary, and final_val can be removed by simplifying
> the unsigned-to-signed conversion.
> ---
>  libavcodec/alac.c |   23 +++++++----------------
>  1 files changed, 7 insertions(+), 16 deletions(-)
>
> diff --git a/libavcodec/alac.c b/libavcodec/alac.c
> index f27992d..2aab84c 100644
> --- a/libavcodec/alac.c
> +++ b/libavcodec/alac.c
> @@ -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)) {
> -- 

LGTM

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to