On Sat, Oct 29, 2005 at 12:34:09PM +0200, Stefan Lucke wrote:
> Hi,
> 
> I get a visible disortion when decoding/displaying large videos.
> This happens _only_ when display is done via BES. Picture is ok
> when I use stretchblit instead of BES. With BES scaling, there is
> no difference if surface is YV12 or YUV2 .
> 
> Screen shots are:
> http://www.lucke.in-berlin.de/divx-avi-1280x720p-ok.jpg
> http://www.lucke.in-berlin.de/divx-avi-1280x720p-bad.jpg

I can confirm this on my G450. I must have only tested it with RGB formats 
originally since it works with those. After realizing that, I disabled 
filtering with YUV modes and the problem disappeared. After some further 
testing it seems that only vertical filtering needs to be disabled.

I can go up to 2000x1024 now. If I increase width above 2000 mplayer tends 
to crash. I think it's a bug in mplayer...

Did you have a G450 too? If so I'll have to swap in the G550 and try if 
the same thing is needed there. Or maybe it works on a G550 even with 
filtering which might also explain why I didn't notice the problem before.

Index: matrox_bes.c
===================================================================
RCS file: /cvs/directfb/DirectFB/gfxdrivers/matrox/matrox_bes.c,v
retrieving revision 1.58
diff -u -r1.58 matrox_bes.c
--- matrox_bes.c        26 Oct 2005 07:23:16 -0000      1.58
+++ matrox_bes.c        29 Oct 2005 12:45:55 -0000
@@ -560,6 +587,9 @@
                return;
      }

+     if (surface->width > 1024)
+          mbes->regs.besCTL &= ~BESVFEN;
+
      mbes->regs.besGLOBCTL |= 3*hzoom | (current_mode->yres & 0xFFF) << 16;

      mbes->regs.besPITCH = pitch / DFB_BYTES_PER_PIXEL(surface->format);

-- 
Ville Syrjälä
[EMAIL PROTECTED]
http://www.sci.fi/~syrjala/

_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to