* $Id$
*
* Authors: Samuel Hocevar <sam@zoy.org>
+ * Damien Fouilleul <damienf@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
for( i_y = p_vout->render.i_height ; i_y-- ; )
{
- uint8_t *p_line = p_pixels;
+ uint8_t *p_line = p_pixels;
for( i_x = p_vout->render.i_width / 8 ; i_x-- ; )
{
#if defined (MODULE_NAME_IS_i422_yuy2)
C_YUV422_YUYV( p_line, p_y, p_u, p_v );
C_YUV422_YUYV( p_line, p_y, p_u, p_v );
C_YUV422_YUYV( p_line, p_y, p_u, p_v );
-#else
- __asm__( ".p2align 3" MMX_YUV422_YUYV
- : : "r" (p_line), "r" (p_y), "r" (p_u), "r" (p_v) );
-
- p_line += 16; p_y += 8; p_u += 4; p_v += 4;
+#elif defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_CALL( MMX_YUV422_YUYV );
#endif
}
- p_pixels += i_pitch;
+ p_pixels += i_pitch;
}
+#if defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_END;
+#elif defined (MODULE_NAME_IS_i422_yuy2_sse2)
+ SSE2_END;
+#endif
}
/*****************************************************************************
for( i_y = p_vout->render.i_height ; i_y-- ; )
{
- uint8_t *p_line = p_pixels;
+ uint8_t *p_line = p_pixels;
for( i_x = p_vout->render.i_width / 8 ; i_x-- ; )
{
#if defined (MODULE_NAME_IS_i422_yuy2)
C_YUV422_YVYU( p_line, p_y, p_u, p_v );
C_YUV422_YVYU( p_line, p_y, p_u, p_v );
C_YUV422_YVYU( p_line, p_y, p_u, p_v );
-#else
- __asm__( ".p2align 3" MMX_YUV422_YVYU
- : : "r" (p_line), "r" (p_y), "r" (p_u), "r" (p_v) );
-
- p_line += 16; p_y += 8; p_u += 4; p_v += 4;
+#elif defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_CALL( MMX_YUV422_YVYU );
#endif
}
- p_pixels += i_pitch;
+ p_pixels += i_pitch;
}
+#if defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_END;
+#elif defined (MODULE_NAME_IS_i422_yuy2_sse2)
+ SSE2_END;
+#endif
}
/*****************************************************************************
for( i_y = p_vout->render.i_height ; i_y-- ; )
{
- uint8_t *p_line = p_pixels;
+ uint8_t *p_line = p_pixels;
for( i_x = p_vout->render.i_width / 8 ; i_x-- ; )
{
#if defined (MODULE_NAME_IS_i422_yuy2)
C_YUV422_UYVY( p_line, p_y, p_u, p_v );
C_YUV422_UYVY( p_line, p_y, p_u, p_v );
C_YUV422_UYVY( p_line, p_y, p_u, p_v );
-#else
- __asm__( ".p2align 3" MMX_YUV422_UYVY
- : : "r" (p_line), "r" (p_y), "r" (p_u), "r" (p_v) );
-
- p_line += 16; p_y += 8; p_u += 4; p_v += 4;
+#elif defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_CALL( MMX_YUV422_UYVY );
#endif
}
- p_pixels += i_pitch;
+ p_pixels += i_pitch;
}
+#if defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_END;
+#elif defined (MODULE_NAME_IS_i422_yuy2_sse2)
+ SSE2_END;
+#endif
}
/*****************************************************************************
C_YUV422_UYVY( p_line, p_y, p_u, p_v );
C_YUV422_UYVY( p_line, p_y, p_u, p_v );
C_YUV422_UYVY( p_line, p_y, p_u, p_v );
-#else
- __asm__( ".p2align 3" MMX_YUV422_UYVY
- : : "r" (p_line), "r" (p_y), "r" (p_u), "r" (p_v) );
-
- p_line += 16; p_y += 8; p_u += 4; p_v += 4;
+#elif defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_CALL( MMX_YUV422_UYVY );
#endif
}
}
+#if defined (MODULE_NAME_IS_i422_yuy2_mmx)
+ MMX_END;
+#elif defined (MODULE_NAME_IS_i422_yuy2_sse2)
+ SSE2_END;
+#endif
}
/*****************************************************************************