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

Reply via email to