summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Melanson <mike@multimedia.cx>2002-12-22 23:20:21 +0000
committerMike Melanson <mike@multimedia.cx>2002-12-22 23:20:21 +0000
commit2719c56c147846b7730cc94b44220009ba1ddd8c (patch)
tree8ef72b50d072c29384d99c30c0d4130ba2882065
parenta2dae3d58625f5c09b0a9e76588856396ab41d52 (diff)
downloadxine-lib-2719c56c147846b7730cc94b44220009ba1ddd8c.tar.gz
xine-lib-2719c56c147846b7730cc94b44220009ba1ddd8c.tar.bz2
fix MMX color converter when width is divisible by 6
CVS patchset: 3638 CVS date: 2002/12/22 23:20:21
-rw-r--r--src/xine-utils/color.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/xine-utils/color.c b/src/xine-utils/color.c
index 2602250cc..0802bdec3 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.11 2002/12/04 05:33:40 tmmm Exp $
+ * $Id: color.c,v 1.12 2002/12/22 23:20:21 tmmm Exp $
*/
#include "xine_internal.h"
@@ -321,8 +321,12 @@ void yuv444_to_yuy2_mmx(yuv_planes_t *yuv_planes, unsigned char *yuy2_map,
residual_filter_loops = (yuv_planes->row_width % 6) / 2;
shifter[0] = residual_filter_loops * 8;
- if (!residual_filter_loops)
+ /* if the width is divisible by 6, apply 3 residual filters and perform
+ * one less primary loop */
+ if (!residual_filter_loops) {
residual_filter_loops = 3;
+ block_loops--;
+ }
/* set up some MMX registers:
* mm0 = 0, mm7 = color filter */