d = s->dsp.pix_abs16x16(pix, ref_picture + (y * s->linesize) + x, s->linesize);
d = s->dsp.pix_abs[0][0](NULL, pix, ref_picture + (y * s->linesize) + x, s->linesize, 16);
static int full_motion_search(MpegEncContext * s,                              int *mx_ptr, int *my_ptr, int range,                              int xmin, int ymin, int xmax, int ymax, uint8_t *ref_picture){    int x1, y1, x2, y2, xx, yy, x, y;    int mx, my, dmin, d;    uint8_t *pix;    xx = 16 * s->mb_x;    yy = 16 * s->mb_y;    x1 = xx - range + 1;	/* we loose one pixel to avoid boundary pb with half pixel pred */    if (x1 < xmin)	x1 = xmin;    x2 = xx + range - 1;    if (x2 > xmax)	x2 = xmax;    y1 = yy - range + 1;    if (y1 < ymin)	y1 = ymin;    y2 = yy + range - 1;    if (y2 > ymax)	y2 = ymax;    pix = s->new_picture.data[0] + (yy * s->linesize) + xx;    dmin = 0x7fffffff;    mx = 0;    my = 0;    for (y = y1; y <= y2; y++) {	for (x = x1; x <= x2; x++) {	    d = s->dsp.pix_abs16x16(pix, ref_picture + (y * s->linesize) + x,			     s->linesize);	    if (d < dmin ||		(d == dmin &&		 (abs(x - xx) + abs(y - yy)) <		 (abs(mx - xx) + abs(my - yy)))) {		dmin = d;		mx = x;		my = y;	    }	}    }    *mx_ptr = mx;    *my_ptr = my;#if 0    if (*mx_ptr < -(2 * range) || *mx_ptr >= (2 * range) ||	*my_ptr < -(2 * range) || *my_ptr >= (2 * range)) {	fprintf(stderr, "error %d %d\n", *mx_ptr, *my_ptr);    }#endif    return dmin;}