Aℓex Converse <aconve...@google.com> writes:

> There is most likely a performance hit here but the current code is 
> *undefined.*
>
> Haters are welcome to send suggestions on how to do this without an if.
>
> From 554be95192ad9803f51f00fec18bf6db9a562779 Mon Sep 17 00:00:00 2001
> From: Alex Converse <aconve...@google.com>
> Date: Tue, 26 Apr 2011 09:07:43 -0700
> Subject: [PATCH 2/4] aacdec: Guard undefined shifts with an if.
> MIME-Version: 1.0
> Content-Type: multipart/mixed; boundary="------------1"
>
> This is a multi-part message in MIME format.
> --------------1
> Content-Type: text/plain; charset=UTF-8; format=fixed
> Content-Transfer-Encoding: 8bit
>
> ---
>  libavcodec/aacdec.c |    7 +++++--
>  1 files changed, 5 insertions(+), 2 deletions(-)
>
> --------------1
> Content-Type: text/x-patch; 
> name="0002-aacdec-Guard-undefined-shifts-with-an-if.patch"
> Content-Transfer-Encoding: 8bit
> Content-Disposition: attachment; 
> filename="0002-aacdec-Guard-undefined-shifts-with-an-if.patch"

Please configure your git to not do that.

> diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
> index 0c6312f..c9f2afd 100644
> --- a/libavcodec/aacdec.c
> +++ b/libavcodec/aacdec.c
> @@ -1083,8 +1083,11 @@ static int decode_spectrum_and_dequant(AACContext *ac, 
> float coef[1024],
>                              GET_VLC(code, re, gb, vlc_tab, 8, 2);
>                              cb_idx = cb_vector_idx[code];
>                              nnz = cb_idx >> 8 & 15;
> -                            bits = SHOW_UBITS(re, gb, nnz) << (32-nnz);
> -                            LAST_SKIP_BITS(re, gb, nnz);
> +                            if (nnz) {
> +                                bits = SHOW_UBITS(re, gb, nnz) << (32-nnz);
> +                                LAST_SKIP_BITS(re, gb, nnz);
> +                            } else
> +                                bits = 0;

Does this ever happen?

-- 
Måns Rullgård
m...@mansr.com
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to