#if defined (MODULE_NAME_IS_i420_yuy2)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211"
+# define VLC_TARGET
#elif defined (MODULE_NAME_IS_i420_yuy2_mmx)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv"
+# define VLC_TARGET VLC_MMX
#elif defined (MODULE_NAME_IS_i420_yuy2_sse2)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv"
+# define VLC_TARGET VLC_SSE
#elif defined (MODULE_NAME_IS_i420_yuy2_altivec)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422"
+# define VLC_TARGET
#endif
/*****************************************************************************
/* Following functions are local */
-VIDEO_FILTER_WRAPPER( I420_YUY2 )
-VIDEO_FILTER_WRAPPER( I420_YVYU )
-VIDEO_FILTER_WRAPPER( I420_UYVY )
+VLC_TARGET VIDEO_FILTER_WRAPPER( I420_YUY2 )
+VLC_TARGET VIDEO_FILTER_WRAPPER( I420_YVYU )
+VLC_TARGET VIDEO_FILTER_WRAPPER( I420_UYVY )
#if !defined (MODULE_NAME_IS_i420_yuy2_altivec)
-VIDEO_FILTER_WRAPPER( I420_IUYV )
-VIDEO_FILTER_WRAPPER( I420_cyuv )
+VLC_TARGET VIDEO_FILTER_WRAPPER( I420_IUYV )
+VLC_TARGET VIDEO_FILTER_WRAPPER( I420_cyuv )
#endif
#if defined (MODULE_NAME_IS_i420_yuy2)
VIDEO_FILTER_WRAPPER( I420_Y211 )
" \
: \
: "r" (p_u), "r" (p_v), \
- "r" (p_y1), "r" (p_y2) ); \
+ "r" (p_y1), "r" (p_y2) \
+ : "mm0", "mm1", "mm2", "mm3"); \
__asm__ __volatile__( \
".p2align 3 \n\t" \
MMX_INSTRUCTIONS \
: \
- : "r" (p_line1), "r" (p_line2) ); \
+ : "r" (p_line1), "r" (p_line2) \
+ : "mm0", "mm1", "mm2", "mm3"); \
p_line1 += 16; p_line2 += 16; \
p_y1 += 8; p_y2 += 8; \
p_u += 4; p_v += 4; \
movq (%1), %%xmm2 # Load 8 Cr v7 06 v5 v4 v3 v2 v1 v0 \n\
" \
: \
- : "r" (p_u), "r" (p_v) ); \
+ : "r" (p_u), "r" (p_v) \
+ : "xmm1", "xmm2"); \
__asm__ __volatile__( \
".p2align 3 \n\t" \
SSE2_INSTRUCTIONS \
: \
: "r" (p_line1), "r" (p_line2), \
- "r" (p_y1), "r" (p_y2) ); \
+ "r" (p_y1), "r" (p_y2) \
+ : "xmm0", "xmm1", "xmm2", "xmm3", "xmm4"); \
p_line1 += 32; p_line2 += 32; \
p_y1 += 16; p_y2 += 16; \
p_u += 8; p_v += 8; \