From e5dfa4361955803ac10911a005803c1e514b6ca7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 11 Mar 2015 13:16:47 +0100 Subject: avcodec/vc1_pred: Fix undefined shift in ff_vc1_pred_mv() Found-by: Clang -fsanitize=shift Reported-by: Thierry Foucu Signed-off-by: Michael Niedermayer --- libavcodec/vc1_pred.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/vc1_pred.c b/libavcodec/vc1_pred.c index f74992b70d..35c75abd83 100644 --- a/libavcodec/vc1_pred.c +++ b/libavcodec/vc1_pred.c @@ -231,8 +231,10 @@ void ff_vc1_pred_mv(VC1Context *v, int n, int dmv_x, int dmv_y, else mixedmv_pic = 0; /* scale MV difference to be quad-pel */ - dmv_x <<= 1 - s->quarter_sample; - dmv_y <<= 1 - s->quarter_sample; + if (!s->quarter_sample) { + dmv_x *= 2; + dmv_y *= 2; + } wrap = s->b8_stride; xy = s->block_index[n]; -- cgit v1.2.3