Re: Strange stripes on captured images

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



Hello Wolfram,

> Yes, I think I am seeing something similar.  With a standard bt878 on
> an ECS K7VZA board (Via KT133A chipset), the first image grabbed has
> these effects.  Apparently it is only the _first_ grabbed frame ('g'
> in xawtv) that is affected, e.g. 'grabdisplay' works fine because you
> don't usually notice the defect in the first frame.

I'm using a K7VZA (KT133A) with a "Multimedia Extension Board"
(Philips SAA7146 based) and the driver I have written myself. 8-)

I am experiencing the same problems. (Under Windoze the
situation is quite the same -- even with latest 4in1
drivers...)

I guess VIA really f*ck*d some things up inside their
PCI implementation. 8-(

Because I don't have fun poking around this, so I did two
simple things that might improve your situation, too:

1) Switch the pci-slots so your card gets an irq for it's own
(or at least shares the irq with a low-pci bandwith device)

(For me, my tv-card and the two other devices shared an irq. I know that
this should not matter, but you never know what "intelligent"
scheme the pci-arbiter uses. Perhaps the KT133A uses some
irq based mechanism to slice the available pci bandwith
between the components. When you got another pci bandwith
eater on the same irq, perhaps this does matter.
But this is really an assumption -- technically this should
not matter, but you never know.)

2) Adjust the pci latency timer of your devices. The latency timer
describes the length of a pci burst transfer -- the longer
a device can burst, the lesser is the chance that it will
encounter buffer underruns. But of course, the overall latency
of each component will increase, when every device has a large
latency timer.

So you can decrease the latency timer of all devices to a fair
minimum, while increasing the latency timer of your card:

setpci -v -d *:* latency_timer=20
setpci -v -s 00:0b.0 latency_timer=f0

(00:0b.0 is the slot id in my case, have a look at "lspci -vv"
for the slot id of your card)

Please note that most card have an upper limit for their
latency-timer built in, ie. even if you specify 0xf0, an
internal value might override this.

CU
Michael.





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux