avcodec/h264: Fix undefined shifts in pack16to32() and pack8to16()

Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/125/head
Michael Niedermayer 10 years ago
parent 111456682f
commit eb7960b2bd
  1. 4
      libavcodec/h264.h

@ -949,7 +949,7 @@ static const uint8_t scan8[16 * 3 + 3] = {
0 + 0 * 8, 0 + 5 * 8, 0 + 10 * 8 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 #if HAVE_BIGENDIAN
return (b & 0xFFFF) + (a << 16); return (b & 0xFFFF) + (a << 16);
@ -958,7 +958,7 @@ static av_always_inline uint32_t pack16to32(int a, int b)
#endif #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 #if HAVE_BIGENDIAN
return (b & 0xFF) + (a << 8); return (b & 0xFF) + (a << 8);

Loading…
Cancel
Save