summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBastien Nocera <hadess@users.sourceforge.net>2003-02-21 17:46:22 +0000
committerBastien Nocera <hadess@users.sourceforge.net>2003-02-21 17:46:22 +0000
commitafb1aad1f68277ceb1bdb9c82f94659133c8da97 (patch)
tree57a47d67f5e32c831a4f8b505eea5c2208b89b8a /src
parent948bc821ff485be7809132c99ad8cb18c39079b9 (diff)
downloadxine-lib-afb1aad1f68277ceb1bdb9c82f94659133c8da97.tar.gz
xine-lib-afb1aad1f68277ceb1bdb9c82f94659133c8da97.tar.bz2
- don't abort when we're not on an mmx capable machine, simply fallback
on non-deinterlaced CVS patchset: 4233 CVS date: 2003/02/21 17:46:22
Diffstat (limited to 'src')
-rw-r--r--src/video_out/deinterlace.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/video_out/deinterlace.c b/src/video_out/deinterlace.c
index d9e323a29..28a054572 100644
--- a/src/video_out/deinterlace.c
+++ b/src/video_out/deinterlace.c
@@ -766,13 +766,6 @@ static int config_flags = -1;
#endif
}
-static void abort_mmx_missing(void)
-{
- printf("deinterlace: Fatal error, MMX instruction set needed!\n");
- /* FIXME: is it possible to call some "nicer" xine exit function? */
- abort();
-}
-
/* generic YUV deinterlacer
pdst -> pointer to destination bitmap
psrc -> array of pointers to source bitmaps ([0] = most recent)
@@ -791,7 +784,7 @@ void deinterlace_yuv( uint8_t *pdst, uint8_t *psrc[],
if( check_for_mmx() )
deinterlace_bob_yuv_mmx(pdst,psrc,width,height);
else /* FIXME: provide an alternative? */
- abort_mmx_missing();
+ xine_fast_memcpy(pdst,psrc[0],width*height);
break;
case DEINTERLACE_WEAVE:
if( check_for_mmx() )
@@ -800,7 +793,7 @@ void deinterlace_yuv( uint8_t *pdst, uint8_t *psrc[],
xine_fast_memcpy(pdst,psrc[0],width*height);
}
else /* FIXME: provide an alternative? */
- abort_mmx_missing();
+ xine_fast_memcpy(pdst,psrc[0],width*height);
break;
case DEINTERLACE_GREEDY:
if( check_for_mmx() )
@@ -809,13 +802,13 @@ void deinterlace_yuv( uint8_t *pdst, uint8_t *psrc[],
xine_fast_memcpy(pdst,psrc[0],width*height);
}
else /* FIXME: provide an alternative? */
- abort_mmx_missing();
+ xine_fast_memcpy(pdst,psrc[0],width*height);
break;
case DEINTERLACE_ONEFIELD:
if( check_for_mmx() )
deinterlace_onefield_yuv_mmx(pdst,psrc,width,height);
else /* FIXME: provide an alternative? */
- abort_mmx_missing();
+ xine_fast_memcpy(pdst,psrc[0],width*height);
break;
case DEINTERLACE_ONEFIELDXV:
printf("deinterlace: ONEFIELDXV must be handled by the video driver.\n");