119 |
|
|
120 |
if(quarterpel) { |
if(quarterpel) { |
121 |
if ((dx&3) | (dy&3)) { |
if ((dx&3) | (dy&3)) { |
|
#if defined(ARCH_IS_IA32) /* new_interpolate is only faster on x86 (MMX) machines */ |
|
|
new_interpolate16x16_quarterpel(tmp - y * stride - x, |
|
|
(uint8_t *) ref, tmp + 32, |
|
|
tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding); |
|
|
#else |
|
122 |
interpolate16x16_quarterpel(tmp - y * stride - x, |
interpolate16x16_quarterpel(tmp - y * stride - x, |
123 |
(uint8_t *) ref, tmp + 32, |
(uint8_t *) ref, tmp + 32, |
124 |
tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding); |
tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding); |
|
#endif |
|
125 |
ptr = tmp; |
ptr = tmp; |
126 |
} else ptr = ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */ |
} else ptr = ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */ |
127 |
|
|
181 |
|
|
182 |
if(quarterpel) { |
if(quarterpel) { |
183 |
if ((dx&3) | (dy&3)) { |
if ((dx&3) | (dy&3)) { |
|
#if defined(ARCH_IS_IA32) /* new_interpolate is only faster on x86 (MMX) machines */ |
|
|
new_interpolate8x8_quarterpel(tmp - y*stride - x, |
|
|
(uint8_t *) ref, tmp + 32, |
|
|
tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding); |
|
|
#else |
|
184 |
interpolate8x8_quarterpel(tmp - y*stride - x, |
interpolate8x8_quarterpel(tmp - y*stride - x, |
185 |
(uint8_t *) ref, tmp + 32, |
(uint8_t *) ref, tmp + 32, |
186 |
tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding); |
tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding); |
|
#endif |
|
187 |
ptr = tmp; |
ptr = tmp; |
188 |
} else ptr = ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */ |
} else ptr = ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */ |
189 |
} else ptr = get_ref(ref, refh, refv, refhv, x, y, 1, dx, dy, stride); |
} else ptr = get_ref(ref, refh, refv, refhv, x, y, 1, dx, dy, stride); |