On Sun, Nov 27, 2011 at 02:59:21AM +0000, Mans Rullgard wrote:
> Using an unsigned variable avoids problems with overflows.
> There is further no need for a 64-bit intermediate here.
> 
> Signed-off-by: Mans Rullgard <[email protected]>
> ---
>  libavformat/mpc.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/libavformat/mpc.c b/libavformat/mpc.c
> index a8f526a..dedbd20 100644
> --- a/libavformat/mpc.c
> +++ b/libavformat/mpc.c
> @@ -117,7 +117,8 @@ static int mpc_read_packet(AVFormatContext *s, AVPacket 
> *pkt)
>  {
>      MPCContext *c = s->priv_data;
>      int ret, size, size2, curbits, cur = c->curframe;
> -    int64_t tmp, pos;
> +    unsigned tmp;
> +    int64_t pos;
>  
>      if (c->curframe >= c->fcount && c->fcount)
>          return -1;
> @@ -134,8 +135,7 @@ static int mpc_read_packet(AVFormatContext *s, AVPacket 
> *pkt)
>      if(curbits <= 12){
>          size2 = (tmp >> (12 - curbits)) & 0xFFFFF;
>      }else{
> -        tmp = (tmp << 32) | avio_rl32(s->pb);
> -        size2 = (tmp >> (44 - curbits)) & 0xFFFFF;
> +        size2 = (tmp << (curbits - 12) | avio_rl32(s->pb) >> (44 - curbits)) 
> & 0xfffff;

LGTM but I'd like mask to be in capital (i.e. 0xFFFFF)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to