From 32764ef5abbd049a26528115135ececf17707a1d Mon Sep 17 00:00:00 2001 From: Joachim Koenig Date: Sat, 3 Nov 2001 17:32:51 +0000 Subject: deinterlacing improvements CVS patchset: 936 CVS date: 2001/11/03 17:32:51 --- src/video_out/video_out_syncfb.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/video_out/video_out_syncfb.c b/src/video_out/video_out_syncfb.c index 70500f9e6..2c82fa293 100644 --- a/src/video_out/video_out_syncfb.c +++ b/src/video_out/video_out_syncfb.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_syncfb.c,v 1.19 2001/11/03 14:46:05 richwareham Exp $ + * $Id: video_out_syncfb.c,v 1.20 2001/11/03 17:32:51 joachim_koenig Exp $ * * video_out_syncfb.c, SyncFB (for Matrox G200/G400 cards) interface for xine * @@ -36,6 +36,7 @@ #include "config.h" #endif +#include #include #include #include @@ -298,9 +299,17 @@ static void syncfb_adapt_to_output_area(syncfb_driver_t* this, if(ioctl(this->fd, SYNCFB_GET_CONFIG, &this->syncfb_config)) printf("video_out_syncfb: error. (get_config ioctl failed)\n"); - this->syncfb_config.syncfb_mode = SYNCFB_FEATURE_BLOCK_REQUEST | SYNCFB_FEATURE_SCALE | SYNCFB_FEATURE_OFFSET; + this->syncfb_config.syncfb_mode = SYNCFB_FEATURE_SCALE | SYNCFB_FEATURE_OFFSET | SYNCFB_FEATURE_CROP; if(this->deinterlace_enabled) { this->syncfb_config.syncfb_mode |= SYNCFB_FEATURE_DEINTERLACE; + this->syncfb_config.src_crop_top = 1; + this->syncfb_config.src_crop_bot = 1; + this->syncfb_config.default_repeat = 1; + } + else { + this->syncfb_config.src_crop_top = 0; + this->syncfb_config.src_crop_bot = 0; + this->syncfb_config.default_repeat = 2; } this->syncfb_config.src_palette = this->palette; @@ -321,7 +330,6 @@ static void syncfb_adapt_to_output_area(syncfb_driver_t* this, this->syncfb_config.image_offset_top = 0; // FIXME: what's this about?! this->syncfb_config.image_offset_bot = 0; // FIXME: what's this about?! - this->syncfb_config.default_repeat = 2; if(ioctl(this->fd,SYNCFB_SET_CONFIG,&this->syncfb_config)) printf("video_out_syncfb: error. (set_config ioctl failed)\n"); @@ -639,8 +647,6 @@ static void syncfb_display_frame(vo_driver_t* this_gen, vo_frame_t* frame_gen) // the rest is only successful and safe, if the overlay is really on if(this->overlay_state) { - // FIXME: hardware deinterlacing is not yet activated. - if(this->deinterlace_enabled); if(this->bufinfo.id != -1) { printf("video_out_syncfb: error. (invalid syncfb image buffer state)\n"); -- cgit v1.2.3