avcodec/h264: Fix undefined shifts in pack16to32() and pack8to16()
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 10 Mar 2015 20:15:05 +0000 (21:15 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 10 Mar 2015 20:25:39 +0000 (21:25 +0100)
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264.h

index 21e9952..8496f0b 100644 (file)
@@ -949,7 +949,7 @@ static const uint8_t scan8[16 * 3 + 3] = {
     0 +  0 * 8, 0 +  5 * 8, 0 + 10 * 8
 };
 
-static av_always_inline uint32_t pack16to32(int a, int b)
+static av_always_inline uint32_t pack16to32(unsigned a, unsigned b)
 {
 #if HAVE_BIGENDIAN
     return (b & 0xFFFF) + (a << 16);
@@ -958,7 +958,7 @@ static av_always_inline uint32_t pack16to32(int a, int b)
 #endif
 }
 
-static av_always_inline uint16_t pack8to16(int a, int b)
+static av_always_inline uint16_t pack8to16(unsigned a, unsigned b)
 {
 #if HAVE_BIGENDIAN
     return (b & 0xFF) + (a << 8);