Commit 98ad3f3c authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

I422_YUY2: clobber lists for MMX and SSE2

parent 0fdf4e2e
...@@ -72,14 +72,17 @@ vlc_module_begin () ...@@ -72,14 +72,17 @@ vlc_module_begin ()
set_description( N_("Conversions from " SRC_FOURCC " to " DEST_FOURCC) ) set_description( N_("Conversions from " SRC_FOURCC " to " DEST_FOURCC) )
set_capability( "video filter2", 80 ) set_capability( "video filter2", 80 )
# define CPU_CAPABILITY 0 # define CPU_CAPABILITY 0
# define VLC_TARGET
#elif defined (MODULE_NAME_IS_i422_yuy2_mmx) #elif defined (MODULE_NAME_IS_i422_yuy2_mmx)
set_description( N_("MMX conversions from " SRC_FOURCC " to " DEST_FOURCC) ) set_description( N_("MMX conversions from " SRC_FOURCC " to " DEST_FOURCC) )
set_capability( "video filter2", 100 ) set_capability( "video filter2", 100 )
# define CPU_CAPABILITY CPU_CAPABILITY_MMX # define CPU_CAPABILITY CPU_CAPABILITY_MMX
# define VLC_TARGET VLC_MMX
#elif defined (MODULE_NAME_IS_i422_yuy2_sse2) #elif defined (MODULE_NAME_IS_i422_yuy2_sse2)
set_description( N_("SSE2 conversions from " SRC_FOURCC " to " DEST_FOURCC) ) set_description( N_("SSE2 conversions from " SRC_FOURCC " to " DEST_FOURCC) )
set_capability( "video filter2", 120 ) set_capability( "video filter2", 120 )
# define CPU_CAPABILITY CPU_CAPABILITY_SSE2 # define CPU_CAPABILITY CPU_CAPABILITY_SSE2
# define VLC_TARGET VLC_SSE
#endif #endif
set_callbacks( Activate, NULL ) set_callbacks( Activate, NULL )
vlc_module_end () vlc_module_end ()
...@@ -159,6 +162,7 @@ VIDEO_FILTER_WRAPPER( I422_Y211 ) ...@@ -159,6 +162,7 @@ VIDEO_FILTER_WRAPPER( I422_Y211 )
/***************************************************************************** /*****************************************************************************
* I422_YUY2: planar YUV 4:2:2 to packed YUY2 4:2:2 * I422_YUY2: planar YUV 4:2:2 to packed YUY2 4:2:2
*****************************************************************************/ *****************************************************************************/
VLC_TARGET
static void I422_YUY2( filter_t *p_filter, picture_t *p_source, static void I422_YUY2( filter_t *p_filter, picture_t *p_source,
picture_t *p_dest ) picture_t *p_dest )
{ {
...@@ -252,6 +256,7 @@ static void I422_YUY2( filter_t *p_filter, picture_t *p_source, ...@@ -252,6 +256,7 @@ static void I422_YUY2( filter_t *p_filter, picture_t *p_source,
/***************************************************************************** /*****************************************************************************
* I422_YVYU: planar YUV 4:2:2 to packed YVYU 4:2:2 * I422_YVYU: planar YUV 4:2:2 to packed YVYU 4:2:2
*****************************************************************************/ *****************************************************************************/
VLC_TARGET
static void I422_YVYU( filter_t *p_filter, picture_t *p_source, static void I422_YVYU( filter_t *p_filter, picture_t *p_source,
picture_t *p_dest ) picture_t *p_dest )
{ {
...@@ -345,6 +350,7 @@ static void I422_YVYU( filter_t *p_filter, picture_t *p_source, ...@@ -345,6 +350,7 @@ static void I422_YVYU( filter_t *p_filter, picture_t *p_source,
/***************************************************************************** /*****************************************************************************
* I422_UYVY: planar YUV 4:2:2 to packed UYVY 4:2:2 * I422_UYVY: planar YUV 4:2:2 to packed UYVY 4:2:2
*****************************************************************************/ *****************************************************************************/
VLC_TARGET
static void I422_UYVY( filter_t *p_filter, picture_t *p_source, static void I422_UYVY( filter_t *p_filter, picture_t *p_source,
picture_t *p_dest ) picture_t *p_dest )
{ {
...@@ -449,6 +455,7 @@ static void I422_IUYV( filter_t *p_filter, picture_t *p_source, ...@@ -449,6 +455,7 @@ static void I422_IUYV( filter_t *p_filter, picture_t *p_source,
/***************************************************************************** /*****************************************************************************
* I422_cyuv: planar YUV 4:2:2 to upside-down packed UYVY 4:2:2 * I422_cyuv: planar YUV 4:2:2 to upside-down packed UYVY 4:2:2
*****************************************************************************/ *****************************************************************************/
VLC_TARGET
static void I422_cyuv( filter_t *p_filter, picture_t *p_source, static void I422_cyuv( filter_t *p_filter, picture_t *p_source,
picture_t *p_dest ) picture_t *p_dest )
{ {
......
...@@ -35,7 +35,8 @@ ...@@ -35,7 +35,8 @@
MMX_INSTRUCTIONS \ MMX_INSTRUCTIONS \
: \ : \
: "r" (p_line), "r" (p_y), \ : "r" (p_line), "r" (p_y), \
"r" (p_u), "r" (p_v) ); \ "r" (p_u), "r" (p_v) \
: "mm0", "mm1", "mm2" ); \
p_line += 16; p_y += 8; \ p_line += 16; p_y += 8; \
p_u += 4; p_v += 4; \ p_u += 4; p_v += 4; \
} while(0) } while(0)
...@@ -145,7 +146,8 @@ movq %%mm1, 8(%0) # Store high UYVY \n\ ...@@ -145,7 +146,8 @@ movq %%mm1, 8(%0) # Store high UYVY \n\
MMX_INSTRUCTIONS \ MMX_INSTRUCTIONS \
: \ : \
: "r" (p_line), "r" (p_y), \ : "r" (p_line), "r" (p_y), \
"r" (p_u), "r" (p_v) ); \ "r" (p_u), "r" (p_v) \
: "xmm0", "xmm1", "xmm2" ); \
p_line += 32; p_y += 16; \ p_line += 32; p_y += 16; \
p_u += 8; p_v += 8; \ p_u += 8; p_v += 8; \
} while(0) } while(0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment