diff options
Diffstat (limited to 'src/video_out/deinterlace.c')
-rw-r--r-- | src/video_out/deinterlace.c | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/src/video_out/deinterlace.c b/src/video_out/deinterlace.c index ea8964a7b..9b057f51d 100644 --- a/src/video_out/deinterlace.c +++ b/src/video_out/deinterlace.c @@ -28,10 +28,8 @@ #include <string.h> #include "xine_internal.h" #include "deinterlace.h" -#include "memcpy.h" +#include "xineutils.h" -#include "cpu_accel.c" -#include "memcpy.c" /* DeinterlaceFieldBob algorithm @@ -72,9 +70,9 @@ static void deinterlace_bob_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], // copy first even line no matter what, and the first odd line if we're // processing an odd field. - fast_memcpy(pdst, pEvenLines, LineLength); + xine_fast_memcpy(pdst, pEvenLines, LineLength); if (IsOdd) - fast_memcpy(pdst + LineLength, pOddLines, LineLength); + xine_fast_memcpy(pdst + LineLength, pOddLines, LineLength); height = height / 2; for (Line = 0; Line < height - 1; ++Line) @@ -103,7 +101,7 @@ static void deinterlace_bob_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], // half the time this function is called, those words' meanings will invert. // Copy the odd line to the overlay verbatim. - fast_memcpy((char *)Dest + LineLength, YVal3, LineLength); + xine_fast_memcpy((char *)Dest + LineLength, YVal3, LineLength); n = LineLength >> 3; while( n-- ) @@ -167,7 +165,7 @@ static void deinterlace_bob_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], // Copy last odd line if we're processing an even field. if (! IsOdd) { - fast_memcpy(pdst + (height * 2 - 1) * LineLength, + xine_fast_memcpy(pdst + (height * 2 - 1) * LineLength, pOddLines + (height - 1) * SourcePitch, LineLength); } @@ -236,9 +234,9 @@ static int deinterlace_weave_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], // copy first even line no matter what, and the first odd line if we're // processing an even field. - fast_memcpy(pdst, pEvenLines, LineLength); + xine_fast_memcpy(pdst, pEvenLines, LineLength); if (!IsOdd) - fast_memcpy(pdst + LineLength, pOddLines, LineLength); + xine_fast_memcpy(pdst + LineLength, pOddLines, LineLength); height = height / 2; for (Line = 0; Line < height - 1; ++Line) @@ -271,7 +269,7 @@ static int deinterlace_weave_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], // Copy the even scanline below this one to the overlay buffer, since we'll be // adapting the current scanline to the even lines surrounding it. The scanline // above has already been copied by the previous pass through the loop. - fast_memcpy((char *)Dest + LineLength, YVal3, LineLength); + xine_fast_memcpy((char *)Dest + LineLength, YVal3, LineLength); n = LineLength >> 3; while( n-- ) @@ -356,7 +354,7 @@ static int deinterlace_weave_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], // Copy last odd line if we're processing an odd field. if (IsOdd) { - fast_memcpy(pdst + (height * 2 - 1) * LineLength, + xine_fast_memcpy(pdst + (height * 2 - 1) * LineLength, pOddLines + (height - 1) * SourcePitch, LineLength); } @@ -421,9 +419,9 @@ static int deinterlace_greedy_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], // copy first even line no matter what, and the first odd line if we're // processing an EVEN field. (note diff from other deint rtns.) - fast_memcpy(pdst, pEvenLines, LineLength); //DL0 + xine_fast_memcpy(pdst, pEvenLines, LineLength); //DL0 if (!IsOdd) - fast_memcpy(pdst + LineLength, pOddLines, LineLength); //DL1 + xine_fast_memcpy(pdst + LineLength, pOddLines, LineLength); //DL1 height = height / 2; for (Line = 0; Line < height - 1; ++Line) @@ -447,7 +445,7 @@ static int deinterlace_greedy_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], Dest = (uint64_t *)(pdst + (Line * 2 + 2) * LineLength); } - fast_memcpy((char *)Dest + LineLength, L3, LineLength); + xine_fast_memcpy((char *)Dest + LineLength, L3, LineLength); // For ease of reading, the comments below assume that we're operating on an odd // field (i.e., that info->IsOdd is true). Assume the obvious for even lines.. @@ -528,7 +526,7 @@ static int deinterlace_greedy_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], /* Copy last odd line if we're processing an Odd field. */ if (IsOdd) { - fast_memcpy(pdst + (height * 2 - 1) * LineLength, + xine_fast_memcpy(pdst + (height * 2 - 1) * LineLength, pOddLines + (height - 1) * SourcePitch, LineLength); } @@ -568,9 +566,9 @@ static void deinterlace_onefield_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], * processing an odd field. */ - fast_memcpy(pdst, pEvenLines, LineLength); + xine_fast_memcpy(pdst, pEvenLines, LineLength); if (IsOdd) - fast_memcpy(pdst + LineLength, pOddLines, LineLength); + xine_fast_memcpy(pdst + LineLength, pOddLines, LineLength); height = height / 2; for (Line = 0; Line < height - 1; ++Line) @@ -589,7 +587,7 @@ static void deinterlace_onefield_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], } // Copy the odd line to the overlay verbatim. - fast_memcpy((char *)Dest + LineLength, YVal3, LineLength); + xine_fast_memcpy((char *)Dest + LineLength, YVal3, LineLength); n = LineLength >> 3; while( n-- ) @@ -611,7 +609,7 @@ static void deinterlace_onefield_yuv_mmx( uint8_t *pdst, uint8_t *psrc[], /* Copy last odd line if we're processing an even field. */ if (! IsOdd) { - fast_memcpy(pdst + (height * 2 - 1) * LineLength, + xine_fast_memcpy(pdst + (height * 2 - 1) * LineLength, pOddLines + (height - 1) * SourcePitch, LineLength); } @@ -630,7 +628,7 @@ static int check_for_mmx(void) static int config_flags = -1; if ( config_flags == -1 ) - config_flags = mm_accel(); + config_flags = xine_mm_accel(); if (config_flags & MM_ACCEL_X86_MMX) return 1; return 0; @@ -658,7 +656,7 @@ void deinterlace_yuv( uint8_t *pdst, uint8_t *psrc[], { switch( method ) { case DEINTERLACE_NONE: - fast_memcpy(pdst,psrc[0],width*height); + xine_fast_memcpy(pdst,psrc[0],width*height); break; case DEINTERLACE_BOB: if( check_for_mmx() ) @@ -670,7 +668,7 @@ void deinterlace_yuv( uint8_t *pdst, uint8_t *psrc[], if( check_for_mmx() ) { if( !deinterlace_weave_yuv_mmx(pdst,psrc,width,height) ) - fast_memcpy(pdst,psrc[0],width*height); + xine_fast_memcpy(pdst,psrc[0],width*height); } else /* FIXME: provide an alternative? */ abort_mmx_missing(); @@ -679,7 +677,7 @@ void deinterlace_yuv( uint8_t *pdst, uint8_t *psrc[], if( check_for_mmx() ) { if( !deinterlace_greedy_yuv_mmx(pdst,psrc,width,height) ) - fast_memcpy(pdst,psrc[0],width*height); + xine_fast_memcpy(pdst,psrc[0],width*height); } else /* FIXME: provide an alternative? */ abort_mmx_missing(); |