[linux-dvb] PowerPC, Linux 2.6.11.7, TechnoTrend DVB-C 2.1 tuner, OSD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Klaus Schmidinger wrote:
> Johannes Stezenbach wrote:
> >I believe that is a vdr bug. Vdr swaps the byteorder for __BIG_ENDIAN
> >in dvbosd.c:cDvbOsd::Flush(). I don't know why. It's not necessary,
> >just use CPU byte order verywhere.
> 
> Well, apparently it _was_ necessary at some point, because people complained
> to _me_ and made me do
> 
> #if __BYTE_ORDER == __BIG_ENDIAN
>                 // actually the driver itself should access the bytes 
>                 according to the current endianness!
>                 colors[i] = ((colors[i] & 0xFF) << 24) | ((colors[i] & 
>                 0xFF00) << 8) | ((colors[i] & 0xFF0000) >> 8) | ((colors[i] 
>                 & 0xFF000000) >> 24);
> #endif
> 
> in VDR's cDvbOsd::Flush() (note the comment ;-).
> 
> Has this changed somewhere down the road of driver development?

Not that I know of. AFAIK the ttpci driver never required
byte-swapping here ("color" is not passed to the hardware,
it's only used on the CPU so it's always CPU-byteorder).

Maybe swapping is necessary for DXR3?

Johannes



[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux