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
