diff --git a/configure.ac b/configure.ac index 89b6d3f3ee00e7c05957c75f63d2a4b1305a26c8..136da55d2e996064dd31f699f37a2ce6c4827090 100644 --- a/configure.ac +++ b/configure.ac @@ -1253,7 +1253,6 @@ if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([gaussianblur]) VLC_ADD_PLUGIN([i420_yuy2]) VLC_ADD_PLUGIN([i422_yuy2]) - VLC_ADD_PLUGIN([i420_ymga]) VLC_ADD_PLUGIN([i422_i420]) VLC_ADD_PLUGIN([yuy2_i422]) VLC_ADD_PLUGIN([yuy2_i420]) @@ -1291,7 +1290,6 @@ if test "${SYS}" = "mingwce"; then VLC_ADD_PLUGIN([dtstospdif]) VLC_ADD_PLUGIN([i420_yuy2]) VLC_ADD_PLUGIN([i422_yuy2]) - VLC_ADD_PLUGIN([i420_ymga]) VLC_ADD_PLUGIN([i422_i420]) VLC_ADD_PLUGIN([yuy2_i422]) VLC_ADD_PLUGIN([yuy2_i420]) @@ -1364,7 +1362,7 @@ AS_IF([test "${enable_mmx}" != "no"], [ AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [ AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.]) - VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx]) + VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx],[-mmmx]) ]) AC_CACHE_CHECK([if $CC groks MMX inline assembly], @@ -1379,7 +1377,6 @@ AS_IF([test "${enable_mmx}" != "no"], [ VLC_ADD_PLUGIN([i420_rgb_mmx]) VLC_ADD_PLUGIN([i420_yuy2_mmx]) VLC_ADD_PLUGIN([i422_yuy2_mmx]) - VLC_ADD_PLUGIN([i420_ymga_mmx]) ]) AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly], diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h index aec513dc5f5d8878f50ab4ede2a13b0f265e0eb4..9c6676386f4eb7e99de0d65c14c0abe47a9286e3 100644 --- a/include/vlc_fourcc.h +++ b/include/vlc_fourcc.h @@ -166,8 +166,6 @@ #define VLC_CODEC_YVYU VLC_FOURCC('Y','V','Y','U') /* Packed YUV 2:1:1, Y:U:Y:V */ #define VLC_CODEC_Y211 VLC_FOURCC('Y','2','1','1') -/* Planar Y, packed UV, from Matrox */ -#define VLC_CODEC_YMGA VLC_FOURCC('Y','M','G','A') /* Packed YUV 4:2:2, U:Y:V:Y, reverted */ #define VLC_CODEC_CYUV VLC_FOURCC('c','y','u','v') /* 10-bit 4:2:2 Component YCbCr */ diff --git a/modules/video_chroma/Modules.am b/modules/video_chroma/Modules.am index eb0298fe4950ab205691ac3811f76f9bd7531b4b..08598322e38dbbc2ed61f6a15bbd1a383807a204 100644 --- a/modules/video_chroma/Modules.am +++ b/modules/video_chroma/Modules.am @@ -59,14 +59,6 @@ SOURCES_i422_i420 = \ i422_i420.c \ $(NULL) -SOURCES_i420_ymga = \ - i420_ymga.c \ - $(NULL) - -SOURCES_i420_ymga_mmx = \ - i420_ymga.c \ - $(NULL) - SOURCES_grey_yuv = \ grey_yuv.c \ $(NULL) diff --git a/modules/video_chroma/i420_ymga.c b/modules/video_chroma/i420_ymga.c deleted file mode 100644 index feafcc4ab44796e981e003d28c5499c7cdbd5870..0000000000000000000000000000000000000000 --- a/modules/video_chroma/i420_ymga.c +++ /dev/null @@ -1,163 +0,0 @@ -/***************************************************************************** - * i420_ymga.c : YUV to YUV conversion module for vlc - ***************************************************************************** - * Copyright (C) 2000, 2001 the VideoLAN team - * $Id$ - * - * Authors: Samuel Hocevar <sam@zoy.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 - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. - *****************************************************************************/ - -/***************************************************************************** - * Preamble - *****************************************************************************/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <errno.h> /* ENOMEM */ - -#include <vlc_common.h> -#include <vlc_plugin.h> -#include <vlc_filter.h> -#include <vlc_cpu.h> - -#define SRC_FOURCC "I420,IYUV,YV12" -#define DEST_FOURCC "YMGA" - -/***************************************************************************** - * Local and extern prototypes. - *****************************************************************************/ -static int Activate ( vlc_object_t * ); -static void I420_YMGA ( filter_t *, picture_t *, picture_t * ); -static picture_t *I420_YMGA_Filter( filter_t *, picture_t * ); - -/***************************************************************************** - * Module descriptor - *****************************************************************************/ -vlc_module_begin () -#if defined (MODULE_NAME_IS_i420_ymga) - set_description( N_("Conversions from " SRC_FOURCC " to " DEST_FOURCC) ) - set_capability( "video filter2", 80 ) -#elif defined (MODULE_NAME_IS_i420_ymga_mmx) - set_description( N_("MMX conversions from " SRC_FOURCC " to " DEST_FOURCC) ) - set_capability( "video filter2", 100 ) - add_requirement( MMX ) -#endif - set_callbacks( Activate, NULL ) -vlc_module_end () - -/***************************************************************************** - * Activate: allocate a chroma function - ***************************************************************************** - * This function allocates and initializes a chroma function - *****************************************************************************/ -static int Activate( vlc_object_t *p_this ) -{ - filter_t *p_filter = (filter_t *)p_this; - - if( p_filter->fmt_in.video.i_width & 1 - || p_filter->fmt_in.video.i_height & 1 ) - { - return -1; - } - - if( p_filter->fmt_in.video.i_width != p_filter->fmt_out.video.i_width - || p_filter->fmt_in.video.i_height != p_filter->fmt_out.video.i_height ) - return -1; - - switch( p_filter->fmt_in.video.i_chroma ) - { - case VLC_CODEC_YV12: - case VLC_CODEC_I420: - switch( p_filter->fmt_out.video.i_chroma ) - { - case VLC_CODEC_YMGA: - p_filter->pf_video_filter = I420_YMGA_Filter; - break; - - default: - return -1; - } - break; - - default: - return -1; - } - - return 0; -} - -/* Following functions are local */ - -VIDEO_FILTER_WRAPPER( I420_YMGA ) - -/***************************************************************************** - * I420_YMGA: planar YUV 4:2:0 to Matrox's planar/packed YUV 4:2:0 - *****************************************************************************/ -static void I420_YMGA( filter_t *p_filter, picture_t *p_source, - picture_t *p_dest ) -{ - VLC_UNUSED(p_filter); - uint8_t *p_uv = p_dest->U_PIXELS; - uint8_t *p_u = p_source->U_PIXELS; - uint8_t *p_v = p_source->V_PIXELS; - - int i_x; - - /* Copy the Y part */ - vlc_memcpy( p_dest->Y_PIXELS, p_source->Y_PIXELS, - p_dest->p[Y_PLANE].i_pitch * p_dest->p[Y_PLANE].i_visible_lines ); - - /* Copy the U:V part */ - for( i_x = p_dest->p[U_PLANE].i_pitch * p_dest->p[U_PLANE].i_visible_lines / 64; - i_x--; ) - { -#if defined (MODULE_NAME_IS_i420_ymga) - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; - *p_uv++ = *p_u++; *p_uv++ = *p_v++; *p_uv++ = *p_u++; *p_uv++ = *p_v++; -#else - __asm__( ".p2align 5 \n\ - movd (%0), %%mm0 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ - movd 4(%0), %%mm2 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ - movd 8(%0), %%mm4 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ - movd 12(%0), %%mm6 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ - movd (%1), %%mm1 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ - movd 4(%1), %%mm3 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ - movd 8(%1), %%mm5 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ - movd 12(%1), %%mm7 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ - punpcklbw %%mm1, %%mm0 # u3 v3 u2 v2 u1 v1 u0 v0 \n\ - punpcklbw %%mm3, %%mm2 # u3 v3 u2 v2 u1 v1 u0 v0 \n\ - punpcklbw %%mm5, %%mm4 # u3 v3 u2 v2 u1 v1 u0 v0 \n\ - punpcklbw %%mm7, %%mm6 # u3 v3 u2 v2 u1 v1 u0 v0 \n\ - movq %%mm0, (%2) # Store CrCb \n\ - movq %%mm2, 8(%2) # Store CrCb \n\ - movq %%mm4, 16(%2) # Store CrCb \n\ - movq %%mm6, 24(%2) # Store CrCb" - : : "r" (p_v), "r" (p_u), "r" (p_uv) ); - - p_v += 16; p_u += 16; p_uv += 32; -#endif - } -} - diff --git a/po/POTFILES.in b/po/POTFILES.in index 656468d796ca952561b94e3e2958f0833d611716..80bdaf3c5dc498180f723f20acdaeed6c38f2e5b 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1072,7 +1072,6 @@ modules/video_chroma/i420_rgb16.c modules/video_chroma/i420_rgb8.c modules/video_chroma/i420_rgb_c.h modules/video_chroma/i420_rgb_mmx.h -modules/video_chroma/i420_ymga.c modules/video_chroma/i420_yuy2.c modules/video_chroma/i420_yuy2.h modules/video_chroma/i422_i420.c diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c index 04af41a2ebb1e07b516141b4a6f9001525ceabf3..0a6327d5f06ec9bcbbd24af7092f2b3cf3873ce7 100644 --- a/src/misc/fourcc.c +++ b/src/misc/fourcc.c @@ -689,8 +689,6 @@ static const entry_t p_list_video[] = { B(VLC_CODEC_Y211, "Packed YUV 2:1:1, Y:U:Y:V "), A("Y211"), - B(VLC_CODEC_YMGA, "Planar Y, packed UV, from Matrox"), - A("YMGA"), B(VLC_CODEC_CYUV, "Creative Packed YUV 4:2:2, U:Y:V:Y, reverted"), A("cyuv"), A("CYUV"),