summaryrefslogtreecommitdiff
path: root/src/libmpeg2/motion_comp_mmx.c
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-04-01 13:18:21 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-04-01 13:18:21 +0000
commitc466f03689df63a5c6cbad58318551759a96b183 (patch)
tree81f598fc01e62dad07984d622f907f0c3795542f /src/libmpeg2/motion_comp_mmx.c
parent597b77d5cf3b65ba2a14c1ac3ffbfab74b1f5593 (diff)
downloadxine-lib-c466f03689df63a5c6cbad58318551759a96b183.tar.gz
xine-lib-c466f03689df63a5c6cbad58318551759a96b183.tar.bz2
- sync with mpeg2dec 0.2.1
- small changes to frame freeing logic CVS patchset: 1655 CVS date: 2002/04/01 13:18:21
Diffstat (limited to 'src/libmpeg2/motion_comp_mmx.c')
-rw-r--r--src/libmpeg2/motion_comp_mmx.c188
1 files changed, 92 insertions, 96 deletions
diff --git a/src/libmpeg2/motion_comp_mmx.c b/src/libmpeg2/motion_comp_mmx.c
index 29bd78cbf..a1a5d3b54 100644
--- a/src/libmpeg2/motion_comp_mmx.c
+++ b/src/libmpeg2/motion_comp_mmx.c
@@ -1,8 +1,10 @@
/*
* motion_comp_mmx.c
- * Copyright (C) 1999-2001 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
+ * Copyright (C) 2000-2002 Michel Lespinasse <walken@zoy.org>
+ * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
*
* This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
+ * See http://libmpeg2.sourceforge.net/ for updates.
*
* mpeg2dec is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -34,15 +36,9 @@
/* MMX code - needs a rewrite */
-
-
-
-
-
-
/* some rounding constants */
-mmx_t round1 = {0x0001000100010001LL};
-mmx_t round4 = {0x0002000200020002LL};
+static mmx_t round1 = {0x0001000100010001LL};
+static mmx_t round4 = {0x0002000200020002LL};
/*
* This code should probably be compiled with loop unrolling
@@ -268,14 +264,14 @@ static inline void MC_avg_mmx (int width, int height,
} while (--height);
}
-static void MC_avg_16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_o_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_mmx (16, height, dest, ref, stride);
}
-static void MC_avg_8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_o_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_mmx (8, height, dest, ref, stride);
}
@@ -302,14 +298,14 @@ static inline void MC_put_mmx (int width, int height,
} while (--height);
}
-static void MC_put_16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_o_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_mmx (16, height, dest, ref, stride);
}
-static void MC_put_8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_o_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_mmx (8, height, dest, ref, stride);
}
@@ -333,14 +329,14 @@ static inline void MC_avg_x_mmx (int width, int height,
} while (--height);
}
-static void MC_avg_x16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_x_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_x_mmx (16, height, dest, ref, stride);
}
-static void MC_avg_x8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_x_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_x_mmx (8, height, dest, ref, stride);
}
@@ -363,14 +359,14 @@ static inline void MC_put_x_mmx (int width, int height,
} while (--height);
}
-static void MC_put_x16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_x_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_x_mmx (16, height, dest, ref, stride);
}
-static void MC_put_x8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_x_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_x_mmx (8, height, dest, ref, stride);
}
@@ -397,14 +393,14 @@ static inline void MC_avg_xy_mmx (int width, int height,
} while (--height);
}
-static void MC_avg_xy16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_xy_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_xy_mmx (16, height, dest, ref, stride);
}
-static void MC_avg_xy8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_xy_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_xy_mmx (8, height, dest, ref, stride);
}
@@ -430,14 +426,14 @@ static inline void MC_put_xy_mmx (int width, int height,
} while (--height);
}
-static void MC_put_xy16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_xy_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_xy_mmx (16, height, dest, ref, stride);
}
-static void MC_put_xy8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_xy_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_xy_mmx (8, height, dest, ref, stride);
}
@@ -463,14 +459,14 @@ static inline void MC_avg_y_mmx (int width, int height,
} while (--height);
}
-static void MC_avg_y16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_y_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_y_mmx (16, height, dest, ref, stride);
}
-static void MC_avg_y8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_y_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg_y_mmx (8, height, dest, ref, stride);
}
@@ -496,20 +492,20 @@ static inline void MC_put_y_mmx (int width, int height,
} while (--height);
}
-static void MC_put_y16_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_y_16_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_y_mmx (16, height, dest, ref, stride);
}
-static void MC_put_y8_mmx (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_y_8_mmx (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put_y_mmx (8, height, dest, ref, stride);
}
-MOTION_COMP_EXTERN (mmx)
+MPEG2_MC_EXTERN (mmx)
@@ -813,204 +809,204 @@ static inline void MC_avg4_16 (int height, uint8_t * dest, uint8_t * ref,
} while (--height);
}
-static void MC_avg_16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_o_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg1_16 (height, dest, ref, stride, CPU_MMXEXT);
}
-static void MC_avg_8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_o_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg1_8 (height, dest, ref, stride, CPU_MMXEXT);
}
-static void MC_put_16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_o_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put1_16 (height, dest, ref, stride);
}
-static void MC_put_8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_o_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put1_8 (height, dest, ref, stride);
}
-static void MC_avg_x16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_x_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg2_16 (height, dest, ref, stride, 1, CPU_MMXEXT);
}
-static void MC_avg_x8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_x_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg2_8 (height, dest, ref, stride, 1, CPU_MMXEXT);
}
-static void MC_put_x16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_x_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put2_16 (height, dest, ref, stride, 1, CPU_MMXEXT);
}
-static void MC_put_x8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_x_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put2_8 (height, dest, ref, stride, 1, CPU_MMXEXT);
}
-static void MC_avg_y16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_y_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg2_16 (height, dest, ref, stride, stride, CPU_MMXEXT);
}
-static void MC_avg_y8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_y_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg2_8 (height, dest, ref, stride, stride, CPU_MMXEXT);
}
-static void MC_put_y16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_y_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put2_16 (height, dest, ref, stride, stride, CPU_MMXEXT);
}
-static void MC_put_y8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_y_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put2_8 (height, dest, ref, stride, stride, CPU_MMXEXT);
}
-static void MC_avg_xy16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_xy_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg4_16 (height, dest, ref, stride, CPU_MMXEXT);
}
-static void MC_avg_xy8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_xy_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg4_8 (height, dest, ref, stride, CPU_MMXEXT);
}
-static void MC_put_xy16_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_xy_16_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put4_16 (height, dest, ref, stride, CPU_MMXEXT);
}
-static void MC_put_xy8_mmxext (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_xy_8_mmxext (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put4_8 (height, dest, ref, stride, CPU_MMXEXT);
}
-MOTION_COMP_EXTERN (mmxext)
+MPEG2_MC_EXTERN (mmxext)
-static void MC_avg_16_3dnow (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_o_16_3dnow (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg1_16 (height, dest, ref, stride, CPU_3DNOW);
}
-static void MC_avg_8_3dnow (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_avg_o_8_3dnow (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_avg1_8 (height, dest, ref, stride, CPU_3DNOW);
}
-static void MC_put_16_3dnow (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_o_16_3dnow (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put1_16 (height, dest, ref, stride);
}
-static void MC_put_8_3dnow (uint8_t * dest, uint8_t * ref,
- int stride, int height)
+static void MC_put_o_8_3dnow (uint8_t * dest, uint8_t * ref,
+ int stride, int height)
{
MC_put1_8 (height, dest, ref, stride);
}
-static void MC_avg_x16_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_avg_x_16_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_avg2_16 (height, dest, ref, stride, 1, CPU_3DNOW);
}
-static void MC_avg_x8_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_avg_x_8_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_avg2_8 (height, dest, ref, stride, 1, CPU_3DNOW);
}
-static void MC_put_x16_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_put_x_16_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_put2_16 (height, dest, ref, stride, 1, CPU_3DNOW);
}
-static void MC_put_x8_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_put_x_8_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_put2_8 (height, dest, ref, stride, 1, CPU_3DNOW);
}
-static void MC_avg_y16_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_avg_y_16_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_avg2_16 (height, dest, ref, stride, stride, CPU_3DNOW);
}
-static void MC_avg_y8_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_avg_y_8_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_avg2_8 (height, dest, ref, stride, stride, CPU_3DNOW);
}
-static void MC_put_y16_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_put_y_16_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_put2_16 (height, dest, ref, stride, stride, CPU_3DNOW);
}
-static void MC_put_y8_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_put_y_8_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_put2_8 (height, dest, ref, stride, stride, CPU_3DNOW);
}
-static void MC_avg_xy16_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_avg_xy_16_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_avg4_16 (height, dest, ref, stride, CPU_3DNOW);
}
-static void MC_avg_xy8_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_avg_xy_8_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_avg4_8 (height, dest, ref, stride, CPU_3DNOW);
}
-static void MC_put_xy16_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_put_xy_16_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_put4_16 (height, dest, ref, stride, CPU_3DNOW);
}
-static void MC_put_xy8_3dnow (uint8_t * dest, uint8_t * ref,
+static void MC_put_xy_8_3dnow (uint8_t * dest, uint8_t * ref,
int stride, int height)
{
MC_put4_8 (height, dest, ref, stride, CPU_3DNOW);
}
-MOTION_COMP_EXTERN (3dnow)
+MPEG2_MC_EXTERN (3dnow)
#endif