fixing twice added offset bug, was triggered by 4mv + sub_cmp != mb_cmp
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 14 Jan 2004 02:21:39 +0000 (02:21 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 14 Jan 2004 02:21:39 +0000 (02:21 +0000)
bug was introduced in version 1.75 (2003-12-30)
this may have lead to a small drop in quality of the 4mv mode, but should have only affected the mbd=0 case

Originally committed as revision 2698 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/motion_est.c

index 17e3ceb..bb4b923 100644 (file)
@@ -846,7 +846,7 @@ static inline int h263_mv4_search(MpegEncContext *s, int mx, int my, int shift)
             uint8_t *dest_y = s->me.scratchpad + offset;
 
             if(s->quarter_sample){
-                uint8_t *ref= ref_data[0] + (mx4>>2) + (my4>>2)*stride + offset;
+                uint8_t *ref= ref_data[0] + (mx4>>2) + (my4>>2)*stride;
                 dxy = ((my4 & 3) << 2) | (mx4 & 3);
 
                 if(s->no_rounding)
@@ -854,7 +854,7 @@ static inline int h263_mv4_search(MpegEncContext *s, int mx, int my, int shift)
                 else
                     s->dsp.put_qpel_pixels_tab       [1][dxy](dest_y   , ref    , stride);
             }else{
-                uint8_t *ref= ref_data[0] + (mx4>>1) + (my4>>1)*stride + offset;
+                uint8_t *ref= ref_data[0] + (mx4>>1) + (my4>>1)*stride;
                 dxy = ((my4 & 1) << 1) | (mx4 & 1);
 
                 if(s->no_rounding)