diff -rc xawtv-3.95/common/commands.c xawtv-3.95.mga/common/commands.c *** xawtv-3.95/common/commands.c 2004-04-19 18:24:05.000000000 +0200 --- xawtv-3.95.mga/common/commands.c 2005-10-29 17:46:48.000000000 +0200 *************** *** 1034,1041 **** /* size */ memset(&fmt,0,sizeof(fmt)); fmt.fmtid = VIDEO_RGB24; ! fmt.width = 2048; ! fmt.height = 1572; if (argc > 1) { if (0 == strcasecmp(argv[1],"full")) { /* nothing */ --- 1034,1045 ---- /* size */ memset(&fmt,0,sizeof(fmt)); fmt.fmtid = VIDEO_RGB24; ! /* MGA VIDEO ! "Because the Marvel is only "perfect" at fullsize, we can nicely fix ! everyting to grab good images" - Ian ! */ ! fmt.width = 720; /* was 2048 */ ! fmt.height = 576; /* was 1572 */ if (argc > 1) { if (0 == strcasecmp(argv[1],"full")) { /* nothing */ diff -rc xawtv-3.95/libng/grab-ng.c xawtv-3.95.mga/libng/grab-ng.c *** xawtv-3.95/libng/grab-ng.c 2003-03-28 13:19:28.000000000 +0100 --- xawtv-3.95.mga/libng/grab-ng.c 2005-10-29 17:46:48.000000000 +0200 *************** *** 29,35 **** #include "grab-ng.h" int ng_debug = 0; ! int ng_chromakey = 0x00ff00ff; int ng_jpeg_quality = 75; int ng_ratio_x = 4; int ng_ratio_y = 3; --- 29,36 ---- #include "grab-ng.h" int ng_debug = 0; ! /* MGA VIDEO uses a blue chroma key. */ ! int ng_chromakey = 0x000000ff; /* was 0x00ff00ff */ int ng_jpeg_quality = 75; int ng_ratio_x = 4; int ng_ratio_y = 3; diff -rc xawtv-3.95/libng/plugins/drv1-v4l.c xawtv-3.95.mga/libng/plugins/drv1-v4l.c *** xawtv-3.95/libng/plugins/drv1-v4l.c 2003-02-14 15:14:05.000000000 +0100 --- xawtv-3.95.mga/libng/plugins/drv1-v4l.c 2005-10-29 17:46:48.000000000 +0200 *************** *** 693,698 **** --- 693,703 ---- fprintf(stderr,"v4l: %dx%d, %d bit/pixel, %d byte/scanline\n", h->fbuf.width,h->fbuf.height, h->fbuf.depth,h->fbuf.bytesperline); + /* MGA VIDEO + DGA will report correct spanned resoultion under Xinerama but V4L + will not. This will cause Xawtv to disable overlay. We can bypass + this check since overlay is safe on MGA hardware. + if ((fmt->bytesperline > 0 && h->fbuf.bytesperline != fmt->bytesperline) || (h->fbuf.width != fmt->width) || *************** *** 702,707 **** --- 707,713 ---- "WARNING: Is v4l-conf installed correctly?\n"); h->ov_error = 1; } + */ if (ng_vfmt_to_depth[fmt->fmtid] != ((h->fbuf.depth+7)&0xf8)) { fprintf(stderr, "WARNING: v4l and x11 disagree about the color depth\n" *************** *** 782,788 **** h->win.width = fmt->width; h->win.height = fmt->height; h->win.flags = 0; ! h->win.chromakey = 0; /* check against max. size */ xioctl(h->fd,VIDIOCGCAP,&h->capability); --- 788,795 ---- h->win.width = fmt->width; h->win.height = fmt->height; h->win.flags = 0; ! /* MGA VIDEO uses a blue chromakey */ ! h->win.chromakey = h->win.chromakey = 0x000000ff; /* was 0 */ /* check against max. size */ xioctl(h->fd,VIDIOCGCAP,&h->capability); *************** *** 799,807 **** --- 806,817 ---- #if 0 /* pass aligned values -- the driver does'nt get it right yet */ + /* MGA VIDEO + "It looks like bug in rounding in division by 4." - Leon h->win.width &= ~3; h->win.height &= ~3; h->win.x &= ~3; + */ if (h->win.x < x) h->win.x += 4; if (h->win.x+h->win.width > x+fmt->width)