dpxenc: fix signed c99 overflows
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 14 Oct 2012 03:48:02 +0000 (05:48 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 14 Oct 2012 03:48:02 +0000 (05:48 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/dpxenc.c

index 9b2cc6f..bd44b16 100644 (file)
@@ -105,13 +105,13 @@ static void encode_rgb48_10bit(AVCodecContext *avctx, const AVPicture *pic, uint
         for (x = 0; x < avctx->width; x++) {
             int value;
             if (s->big_endian) {
-                value = ((AV_RB16(src + 6*x + 4) & 0xFFC0) >> 4)
-                      | ((AV_RB16(src + 6*x + 2) & 0xFFC0) << 6)
-                      | ((AV_RB16(src + 6*x + 0) & 0xFFC0) << 16);
+                value = ((AV_RB16(src + 6*x + 4) & 0xFFC0U) >> 4)
+                      | ((AV_RB16(src + 6*x + 2) & 0xFFC0U) << 6)
+                      | ((AV_RB16(src + 6*x + 0) & 0xFFC0U) << 16);
             } else {
-                value = ((AV_RL16(src + 6*x + 4) & 0xFFC0) >> 4)
-                      | ((AV_RL16(src + 6*x + 2) & 0xFFC0) << 6)
-                      | ((AV_RL16(src + 6*x + 0) & 0xFFC0) << 16);
+                value = ((AV_RL16(src + 6*x + 4) & 0xFFC0U) >> 4)
+                      | ((AV_RL16(src + 6*x + 2) & 0xFFC0U) << 6)
+                      | ((AV_RL16(src + 6*x + 0) & 0xFFC0U) << 16);
             }
             write32(dst, value);
             dst += 4;