--- qpel.h 2004/10/17 10:20:15 1.5 +++ qpel.h 2005/10/26 12:38:34 1.7 @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: qpel.h,v 1.5 2004/10/17 10:20:15 edgomez Exp $ + * $Id: qpel.h,v 1.7 2005/10/26 12:38:34 Skal Exp $ * ****************************************************************************/ @@ -83,6 +83,11 @@ extern XVID_QP_FUNCS xvid_QP_Add_Funcs_Altivec_C; #endif +#ifdef ARCH_IS_X86_64 +extern XVID_QP_FUNCS xvid_QP_Funcs_x86_64; +extern XVID_QP_FUNCS xvid_QP_Add_Funcs_x86_64; +#endif + extern XVID_QP_FUNCS *xvid_QP_Funcs; /* <- main pointer for enc/dec structure */ extern XVID_QP_FUNCS *xvid_QP_Add_Funcs; /* <- main pointer for enc/dec structure */ @@ -131,13 +136,8 @@ Ops = xvid_QP_Funcs; quads = (dx&3) | ((dy&3)<<2); - x_int = xRef/4; - if (xRef < 0 && xRef % 4) - x_int--; - - y_int = yRef/4; - if (yRef < 0 && yRef % 4) - y_int--; + x_int = xRef >> 2; + y_int = yRef >> 2; dst = cur + y * stride + x; src = refn + y_int * (int)stride + x_int; @@ -235,13 +235,8 @@ Ops_Copy = xvid_QP_Funcs; quads = (dx&3) | ((dy&3)<<2); - x_int = xRef/4; - if (xRef < 0 && xRef % 4) - x_int--; - - y_int = yRef/4; - if (yRef < 0 && yRef % 4) - y_int--; + x_int = xRef >> 2; + y_int = yRef >> 2; dst = cur + y * stride + x; src = refn + y_int * (int)stride + x_int; @@ -339,13 +334,8 @@ Ops = xvid_QP_Funcs; quads = (dx&3) | ((dy&3)<<2); - x_int = xRef/4; - if (xRef < 0 && xRef % 4) - x_int--; - - y_int = yRef/4; - if (yRef < 0 && yRef % 4) - y_int--; + x_int = xRef >> 2; + y_int = yRef >> 2; dst = cur + y * stride + x; src = refn + y_int * (int)stride + x_int; @@ -439,13 +429,8 @@ Ops = xvid_QP_Funcs; quads = (dx&3) | ((dy&3)<<2); - x_int = xRef/4; - if (xRef < 0 && xRef % 4) - x_int--; - - y_int = yRef/4; - if (yRef < 0 && yRef % 4) - y_int--; + x_int = xRef >> 2; + y_int = yRef >> 2; dst = cur + y * stride + x; src = refn + y_int * (int)stride + x_int; @@ -540,13 +525,8 @@ Ops_Copy = xvid_QP_Funcs; quads = (dx&3) | ((dy&3)<<2); - x_int = xRef/4; - if (xRef < 0 && xRef % 4) - x_int--; - - y_int = yRef/4; - if (yRef < 0 && yRef % 4) - y_int--; + x_int = xRef >> 2; + y_int = yRef >> 2; dst = cur + y * stride + x; src = refn + y_int * (int)stride + x_int;