diff options
Diffstat (limited to 'libavcodec/ituh263enc.c')
-rw-r--r-- | libavcodec/ituh263enc.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index 557ed48a56..3f4485f376 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -657,7 +657,7 @@ void h263_encode_mb(MpegEncContext * s, void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code) { - int range, l, bit_size, sign, code, bits; + int range, bit_size, sign, code, bits; if (val == 0) { /* zero vector */ @@ -667,8 +667,7 @@ void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code) bit_size = f_code - 1; range = 1 << bit_size; /* modulo encoding */ - l= INT_BIT - 6 - bit_size; - val = (val<<l)>>l; + val = sign_extend(val, 6 + bit_size); sign = val>>31; val= (val^sign)-sign; sign&=1; |