On Fri, Feb 10, 2012 at 03:02:12AM +0000, Paul B Mahol wrote:
> 
> Signed-off-by: Paul B Mahol <[email protected]>
> ---
>  libavcodec/wavpack.c |   49 +++++++++++++++++++++++++++++--------------------
>  1 files changed, 29 insertions(+), 20 deletions(-)
> 
> diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
> index 1098873..bcdbb20 100644
> --- a/libavcodec/wavpack.c
> +++ b/libavcodec/wavpack.c
> @@ -408,7 +408,8 @@ static inline int 
> wv_get_value_integer(WavpackFrameContext *s, uint32_t *crc,
>  
>          if (s->got_extra_bits && get_bits_left(&s->gb_extra_bits) >= 
> s->extra_bits) {
>              S |= get_bits(&s->gb_extra_bits, s->extra_bits);
> -            *crc = *crc * 9 + (S & 0xffff) * 3 + ((unsigned)S >> 16);
> +            if (s->avctx->err_recognition & AV_EF_CRCCHECK)
> +                *crc = *crc * 9 + (S & 0xffff) * 3 + ((unsigned)S >> 16);

I think it's better to calculate CRC in any case and just ignore results where
(un)needed.

Besides that looks OK.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to