mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
vp8: fix signed overflows
In addition to avoiding undefined behaviour, an unsigned type makes more sense for packing multiple 8-bit values. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
e708afd3c0
commit
bb59156606
@ -919,7 +919,8 @@ void intra_predict(VP8Context *s, uint8_t *dst[3], VP8Macroblock *mb,
|
||||
int mb_x, int mb_y)
|
||||
{
|
||||
AVCodecContext *avctx = s->avctx;
|
||||
int x, y, mode, nnz, tr;
|
||||
int x, y, mode, nnz;
|
||||
uint32_t tr;
|
||||
|
||||
// for the first row, we need to run xchg_mb_border to init the top edge to 127
|
||||
// otherwise, skip it if we aren't going to deblock
|
||||
@ -948,7 +949,7 @@ void intra_predict(VP8Context *s, uint8_t *dst[3], VP8Macroblock *mb,
|
||||
// from the top macroblock
|
||||
if (!(!mb_y && avctx->flags & CODEC_FLAG_EMU_EDGE) &&
|
||||
mb_x == s->mb_width-1) {
|
||||
tr = tr_right[-1]*0x01010101;
|
||||
tr = tr_right[-1]*0x01010101u;
|
||||
tr_right = (uint8_t *)&tr;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user