[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]

 



On Sun, May 15, 2005 at 12:13:30PM +0200, Klaus Schmidinger wrote:
> Johannes Stezenbach wrote:
> >Klaus Schmidinger wrote:
> >...
> >>So, somebody with a big endian machine please test VDR without the
> >>lines mentioned above and let me know if it works.
> >>But please also do so with the old DVB driver, not just dvb-kernel.
> >>VDR is supposed to still run with the DVB driver (at least that's
> >>what I do ;-).
> >
> >
> >Does the old driver work on BE at all?
> >
> >Johannes
> 
> From the VDR HISTORY file:
> 
> 
> 2002-04-21: Version 1.0.1
> 
> - Fixed color palette handling on "big endian" systems (thanks to Jean 
> Martin
>   for pointing out this one).
> 
> 
> Has there already been a dvb-kernel driver back in 2002-04?

dvb-kernel started 2002/10/16, but maybe the vdr change
refers to the DXR3 driver?

But, the old DVB driver has the following comment in OSDSetPalette():
  u32 blend = (colors[i] & 0xF0000000) >> 4;
  u32 yuv = blend ? RGB2YUV(colors[i] & 0xFF, (colors[i] >> 8) & 0xFF, (colors[i] >> 16) & 0xFF) | blend : 0;
  yuv = ((yuv & 0xFFFF0000) >> 16) | ((yuv & 0x0000FFFF) << 16); // TODO kls2003-06-15: not sure if this is endian-proof
  wdebi(av7110, DEBINOSWAP, DATA_BUFF3_BASE + i*4, yuv, 4);

So, hm, as yuv is passed to the hardware I'm wondering about the word swap.
The "fix" from the original posting lead me off the track.

Paavo, could you please check if it works if you remove your driver
changes, and remove the byte swap in VDR. If it doesn't work, the
word swap in OSDSetPalette() has to be fixed. Or RGB2YUV().
I don't know...

Anyway, it is a driver issue, the byte swap in VDR should be removed.

Johannes



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

  Powered by Linux