From 2e6e8eabee65425e2d0a9f45d0bf2b224c6b8406 Mon Sep 17 00:00:00 2001 From: Robin KAY Date: Fri, 13 Jun 2003 23:05:35 +0000 Subject: Make deinterlacer plugin compile on Solaris. Remove defunct code from xine-utils. CVS patchset: 5040 CVS date: 2003/06/13 23:05:35 --- src/post/deinterlace/plugins/vfir.c | 49 +++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 21 deletions(-) (limited to 'src/post/deinterlace/plugins/vfir.c') diff --git a/src/post/deinterlace/plugins/vfir.c b/src/post/deinterlace/plugins/vfir.c index f60bbecd8..c57960f05 100644 --- a/src/post/deinterlace/plugins/vfir.c +++ b/src/post/deinterlace/plugins/vfir.c @@ -22,7 +22,11 @@ */ #include -#include +#if defined (__SVR4) && defined (__sun) +# include +#else +# include +#endif #ifdef HAVE_CONFIG_H # include "config.h" @@ -44,26 +48,7 @@ static void deinterlace_line( uint8_t *dst, uint8_t *lum_m4, uint8_t *lum_m3, uint8_t *lum_m2, uint8_t *lum_m1, uint8_t *lum, int size ) { - /** - * C implementation. - int sum; - - for(;size > 0;size--) { - sum = -lum_m4[0]; - sum += lum_m3[0] << 2; - sum += lum_m2[0] << 1; - sum += lum_m1[0] << 2; - sum += -lum[0]; - dst[0] = (sum + 4) >> 3; // This needs to be clipped at 0 and 255: cm[(sum + 4) >> 3]; - lum_m4++; - lum_m3++; - lum_m2++; - lum_m1++; - lum++; - dst++; - } - */ - +#ifdef ARCH_X86 mmx_t rounder; rounder.uw[0]=4; @@ -102,6 +87,24 @@ static void deinterlace_line( uint8_t *dst, uint8_t *lum_m4, dst+=4; } emms(); +#else + int sum; + + for(;size > 0;size--) { + sum = -lum_m4[0]; + sum += lum_m3[0] << 2; + sum += lum_m2[0] << 1; + sum += lum_m1[0] << 2; + sum += -lum[0]; + dst[0] = (sum + 4) >> 3; // This needs to be clipped at 0 and 255: cm[(sum + 4) >> 3]; + lum_m4++; + lum_m3++; + lum_m2++; + lum_m1++; + lum++; + dst++; + } +#endif } @@ -140,7 +143,11 @@ static deinterlace_method_t vfirmethod = "ffmpeg: Vertical Blend", "Vertical", 1, +#ifdef ARCH_X86 MM_ACCEL_X86_MMXEXT, +#else + 0, +#endif 0, 0, 0, -- cgit v1.2.3