summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_out/video_out_syncfb.c16
1 files changed, 11 insertions, 5 deletions
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 <X11/Xlib.h>
#include <X11/Xutil.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
@@ -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");