Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: patch OSD color on linuxppc
Thanks Klaus,
You're patch works fine.
Now linux dvb + vdr is ok on linuxppc
thanks everybody.
>From: Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de>
>To: linux-dvb@linuxtv.org
>Subject: [linux-dvb] Re: patch OSD color on linuxppc
>Date: Mon, 15 Apr 2002 18:47:13 +0200
>
>Ralph Metzler wrote:
> >
> > Jean Martin writes:
> > > --- dvb.c Sat Apr 13 00:01:13 2002
> > > +++ dvbmodppc.c Sat Apr 13 00:01:04 2002
> > >
> > > @@ -1899,9 +1899,15 @@
> > > if (copy_from_user(colors, dc->data,
>sizeof(colors)))
> > > return -EFAULT;
> > > for (i=0; i<len; i++)
> > > - OSDSetColor(dvb, dc->color+i,
> > > +#ifndef __powerpc__
> > > + OSDSetColor(dvb, dc->color+i,
> > > colors[i*4] , colors[i*4+1],
> > > colors[i*4+2], colors[i*4+3]);
> > > +#else
> > > + OSDSetColor(dvb, dc->color+i,
> > > + colors[i*4+3] ,colors[i*4+2],
> > > + colors[i*4+1], colors[i*4+0]);
> > > +#endif
> > > return 0;
> > > }
> > > case OSD_SetTrans:
> >
> > No, this only seems to be necessary because VDR treats the palette as an
>array
> > of u32 (or enums to be specific) but it is defined as an array of u8.
> > VDR uses enum entries with ABGR ABGR ... which translate to
> > R G B A R G B A ... on little-endian but A B G R A B G R ...
> > on big-endian when casting u32* to u8*. It should use u8 arrays
> > with the right order instead.
>
>I don't have a PPC, so I can't test this. But maybe this helps:
>
>--- dvbosd.c 2002/01/13 16:25:18 1.12
>+++ dvbosd.c 2002/04/13 11:34:48 1.13
>@@ -25,6 +25,9 @@
>
> int cPalette::Index(eDvbColor Color)
> {
>+#if __BYTE_ORDER == __BIG_ENDIAN
>+ Color = eDvbColor(((Color & 0xFF) << 24) | ((Color & 0xFF00) << 8) |
>((Color & 0xFF0000) >> 8) | ((Color & 0xFF000000) >> 24));
>+#endif
> for (int i = 0; i < numColors; i++) {
> if (color[i] == Color) {
> used[i] = true;
>
>Klaus
>--
>_______________________________________________________________
>
>Klaus Schmidinger Phone: +49-8635-6989-10
>CadSoft Computer GmbH Fax: +49-8635-6989-40
>Hofmark 2 Email: kls@cadsoft.de
>D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
>_______________________________________________________________
>
>
>--
>Info:
>To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe
>linux-dvb" as subject.
>
_________________________________________________________________
Rejoignez le plus grand service de messagerie au monde avec MSN Hotmail.
http://www.hotmail.com/fr
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index