The BES YUV 4:2:0 chroma plane setup looks just plain wrong to me. Here's
a patch to fix it.
--
Ville Syrj�l�
[EMAIL PROTECTED]
http://www.sci.fi/~syrjala/
Index: DirectFB/gfxdrivers/matrox/matrox_bes.c
===================================================================
RCS file: /cvs/directfb/DirectFB/gfxdrivers/matrox/matrox_bes.c,v
retrieving revision 1.30
diff -u -r1.30 matrox_bes.c
--- DirectFB/gfxdrivers/matrox/matrox_bes.c 10 Sep 2002 15:41:13 -0000 1.30
+++ DirectFB/gfxdrivers/matrox/matrox_bes.c 23 Oct 2002 13:13:08 -0000
@@ -560,22 +560,24 @@
case DSPF_I420:
mbes->regs.besA1CORG = mbes->regs.besA1ORG + surface->height *
front_buffer->video.pitch;
+ mbes->regs.besA2CORG = mbes->regs.besA1CORG +
+ front_buffer->video.pitch/2;
+
mbes->regs.besA1C3ORG = mbes->regs.besA1CORG + surface->height/2 *
front_buffer->video.pitch/2;
- mbes->regs.besA2CORG = mbes->regs.besA2ORG + surface->height *
- front_buffer->video.pitch;
- mbes->regs.besA2C3ORG = mbes->regs.besA2CORG + surface->height/2 *
+ mbes->regs.besA2C3ORG = mbes->regs.besA1C3ORG +
front_buffer->video.pitch/2;
break;
case DSPF_YV12:
mbes->regs.besA1C3ORG = mbes->regs.besA1ORG + surface->height *
front_buffer->video.pitch;
+ mbes->regs.besA2C3ORG = mbes->regs.besA1C3ORG +
+ front_buffer->video.pitch/2;
+
mbes->regs.besA1CORG = mbes->regs.besA1C3ORG + surface->height/2 *
front_buffer->video.pitch/2;
- mbes->regs.besA2C3ORG = mbes->regs.besA2ORG + surface->height *
- front_buffer->video.pitch;
- mbes->regs.besA2CORG = mbes->regs.besA2C3ORG + surface->height/2 *
+ mbes->regs.besA2CORG = mbes->regs.besA1CORG +
front_buffer->video.pitch/2;
break;