summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Melanson <mike@multimedia.cx>2003-01-01 19:32:28 +0000
committerMike Melanson <mike@multimedia.cx>2003-01-01 19:32:28 +0000
commite9a665eae94e4384e59705044d5e2d1cefa11f48 (patch)
tree0e16e4a4762359a91e0b93302586c93666d60bef /src
parent148e59d48e0eaa46bfa6279e5f71c94642d1206c (diff)
downloadxine-lib-e9a665eae94e4384e59705044d5e2d1cefa11f48.tar.gz
xine-lib-e9a665eae94e4384e59705044d5e2d1cefa11f48.tar.bz2
revert to old (and apparently much more reliable) transfer method
CVS patchset: 3744 CVS date: 2003/01/01 19:32:28
Diffstat (limited to 'src')
-rw-r--r--src/xine-utils/color.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xine-utils/color.c b/src/xine-utils/color.c
index 0802bdec3..bd38fe193 100644
--- a/src/xine-utils/color.c
+++ b/src/xine-utils/color.c
@@ -61,7 +61,7 @@
* instructions), these macros will automatically map to those special
* instructions.
*
- * $Id: color.c,v 1.12 2002/12/22 23:20:21 tmmm Exp $
+ * $Id: color.c,v 1.13 2003/01/01 19:32:28 tmmm Exp $
*/
#include "xine_internal.h"
@@ -314,6 +314,7 @@ void yuv444_to_yuy2_mmx(yuv_planes_t *yuv_planes, unsigned char *yuy2_map,
0x01, 0x00
};
unsigned char shifter[] = {0, 0, 0, 0, 0, 0, 0, 0};
+ unsigned char vector[8];
int block_loops = yuv_planes->row_width / 6;
int filter_loops;
int residual_filter_loops;
@@ -410,6 +411,7 @@ void yuv444_to_yuy2_mmx(yuv_planes_t *yuv_planes, unsigned char *yuy2_map,
paddd_r2r(mm3, mm2); /* mm2 += mm3 */
psrlq_i2r(3, mm2); /* divide by 8 */
+#if 0
/* load the destination address into ebx */
__asm__ __volatile__ ("mov %0, %%ebx"
: /* nothing */
@@ -427,6 +429,11 @@ void yuv444_to_yuy2_mmx(yuv_planes_t *yuv_planes, unsigned char *yuy2_map,
: /* nothing */
: /* nothing */ );
+#else
+ movq_r2m(mm2, *vector);
+ dest_plane[0] = vector[0];
+#endif
+
dest_plane += 4;
psrlq_i2r(16, mm1); /* toss out 2 C samples and loop again */