Patch by Yann Vernier <[email protected]>.  From [1]:

   From: Malcolm Parsons <[email protected]>
   Subject: wmtv: incorrectly calculates bytes per line
   Date: Mon, 09 Apr 2001 21:15:52 +0100

   wmtv does not put the tv display in its window on my second head.
   According to bttv, wmtv is telling bttv that the display is:

   Display at ea800000 is 800 by 600, bytedepth 2, bpl 1600

   If I use xawtv, it correctly sets the bpl value:

   Display at ea800000 is 800 by 600, bytedepth 2, bpl 1664

   wmtv is probably incorrectly assuming width * bytedepth = bpl.

   From: Yann Vernier <[email protected]>
   Subject: wmtv: incorrectly calculates bytes per line
   Date: Sun, 15 Jul 2001 14:21:56 +0200

   Found the problem, at least this fixes it for me at 1600x1200.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=93439
---
 wmtv/src/wmtv.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/wmtv/src/wmtv.c b/wmtv/src/wmtv.c
index edd545c..d2998f5 100644
--- a/wmtv/src/wmtv.c
+++ b/wmtv/src/wmtv.c
@@ -1264,7 +1264,7 @@ GetFrameBuffer(void)
        int evbr, erbr, flr = 0;
        int bankr, memr, depth;
        int i, n;
-       int bytesperline, bitsperpixel;
+       int bytesperline, bytesperpixel;
        XPixmapFormatValues *pf;
 
        if (!XGetWindowAttributes(display, DefaultRootWindow(display), 
&Winattr)) {
@@ -1294,13 +1294,13 @@ GetFrameBuffer(void)
                        }
        }
 
-       bitsperpixel = (depth+7) & 0xf8;                                    /* 
Taken from */
-       bytesperline = Winattr.width * bitsperpixel / 8;    /* Gerd Knorr's 
xawtv */
+       bytesperpixel = (depth+7) & 0xf8;
+       bytesperline *= bytesperpixel;
 
        vfb.base = baseaddr;
        vfb.height = Winattr.height;
        vfb.width  = Winattr.width;
-       vfb.depth  = bitsperpixel;
+       vfb.depth  = bytesperpixel;
        vfb.bytesperline = bytesperline;
 
        if (Winattr.depth == 15)
-- 
2.5.0


-- 
To unsubscribe, send mail to [email protected].

Reply via email to