diff options
author | Mans Rullgard <mans@mansr.com> | 2012-08-04 05:57:53 +0400 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2012-11-23 16:03:54 +0400 |
commit | 5e39bb073a1d6fc6ac30b19893beefdd3c7d633f (patch) | |
tree | d6ed32fcac6c1cc85ec45d69b2a94d52473e05d1 | |
parent | c262649291e711c084c5d8fc3fd0eee175f155ff (diff) |
mpegvideo: simplify dxy calculation in hpel_motion()
Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r-- | libavcodec/mpegvideo_motion.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c index 9168793183..4ea31ad252 100644 --- a/libavcodec/mpegvideo_motion.c +++ b/libavcodec/mpegvideo_motion.c @@ -177,20 +177,19 @@ static inline int hpel_motion(MpegEncContext *s, op_pixels_func *pix_op, int motion_x, int motion_y) { - int dxy; + int dxy = 0; int emu=0; - dxy = ((motion_y & 1) << 1) | (motion_x & 1); src_x += motion_x >> 1; src_y += motion_y >> 1; /* WARNING: do no forget half pels */ src_x = av_clip(src_x, -16, s->width); //FIXME unneeded for emu? - if (src_x == s->width) - dxy &= ~1; + if (src_x != s->width) + dxy |= motion_x & 1; src_y = av_clip(src_y, -16, s->height); - if (src_y == s->height) - dxy &= ~2; + if (src_y != s->height) + dxy |= (motion_y & 1) << 1; src += src_y * s->linesize + src_x; if(s->unrestricted_mv && (s->flags&CODEC_FLAG_EMU_EDGE)){ |