OSDN Git Service

rv34: fix signed multiplication overflow
authorMans Rullgard <mans@mansr.com>
Sat, 26 Nov 2011 14:50:23 +0000 (14:50 +0000)
committerMans Rullgard <mans@mansr.com>
Sat, 26 Nov 2011 18:49:51 +0000 (18:49 +0000)
Multiply by unsigned 0x01010101 to replicate bytes into 32-bit
word.

Signed-off-by: Mans Rullgard <mans@mansr.com>
libavcodec/rv34.c

index 091d49f..098f7b5 100644 (file)
@@ -933,7 +933,7 @@ static void rv34_pred_4x4_block(RV34DecContext *r, uint8_t *dst, int stride, int
         if(itype == VERT_LEFT_PRED) itype = VERT_LEFT_PRED_RV40_NODOWN;
     }
     if(!right && up){
-        topleft = dst[-stride + 3] * 0x01010101;
+        topleft = dst[-stride + 3] * 0x01010101u;
         prev = (uint8_t*)&topleft;
     }
     r->h.pred4x4[itype](dst, prev, stride);