From d349cabadd8f4b3530a9ae7049faa3f11387eab8 Mon Sep 17 00:00:00 2001 From: Miguel Freitas Date: Fri, 13 Jun 2003 01:48:09 +0000 Subject: new deinterlacer plugin based on tvtime (please report if compilation breaks on non-x86 plataform) see xine-devel for more information CVS patchset: 5032 CVS date: 2003/06/13 01:48:09 --- src/post/deinterlace/plugins/linear.c | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/post/deinterlace/plugins/linear.c (limited to 'src/post/deinterlace/plugins/linear.c') diff --git a/src/post/deinterlace/plugins/linear.c b/src/post/deinterlace/plugins/linear.c new file mode 100644 index 000000000..1e84fb722 --- /dev/null +++ b/src/post/deinterlace/plugins/linear.c @@ -0,0 +1,63 @@ +/** + * Copyright (C) 2002 Billy Biggs . + * + * 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include "speedy.h" +#include "deinterlace.h" + +static void deinterlace_scanline_linear( uint8_t *output, + deinterlace_scanline_data_t *data, + int width ) +{ + interpolate_packed422_scanline( output, data->t0, data->b0, width ); +} + +static void copy_scanline( uint8_t *output, + deinterlace_scanline_data_t *data, + int width ) +{ + blit_packed422_scanline( output, data->m0, width ); +} + + +static deinterlace_method_t linearmethod = +{ + DEINTERLACE_PLUGIN_API_VERSION, + "Linear Interpolation", + "Linear", + 1, + 0, + 0, + 0, + 0, + 1, + deinterlace_scanline_linear, + copy_scanline, + 0 +}; + +#ifdef BUILD_TVTIME_PLUGINS +void deinterlace_plugin_init( void ) +#else +void linear_plugin_init( void ) +#endif +{ + register_deinterlace_method( &linearmethod ); +} + -- cgit v1.2.3