On Thu, Nov 24, 2011 at 11:16:19PM +0000, Mans Rullgard wrote: > Casting the left-most byte to unsigned avoids an undefined > result of the shift by 24 if bit 7 is set. This affects > the rm demuxer. > > Signed-off-by: Mans Rullgard <[email protected]> > --- > libavutil/common.h | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavutil/common.h b/libavutil/common.h > index 9691f5b..7e93a1a 100644 > --- a/libavutil/common.h > +++ b/libavutil/common.h > @@ -218,8 +218,8 @@ static av_always_inline av_const int > av_popcount_c(uint32_t x) > return (x + (x >> 16)) & 0x3F; > } > > -#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24)) > -#define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((a) << 24)) > +#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << > 24)) > +#define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << > 24)) > > /** > * Convert a UTF-8 character (up to 4 bytes) to its 32-bit UCS-4 encoded > form.
ok Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
