Re: Re: SAA7146 DMA buffer overflow

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

 



Hi !

That's why I'm making sure that the buffer width is a multiple of 376 and the buffer height is a multiple of 256.
Without that, I got corrupted data !

I tried some different widths (376, 752, 3760, but only 376, 752 are used with that algorithm) and some heights (1024, 1280, 2048, 2816, 3840) and with that it always worked (for my cards, off course). DMA buffer bigger than 4 MB doesn't work - and it also makes no sense to use more buffer than needed under high load.

In the "refactored patch" with the recommendations of Oliver I keep the buffer size as it was before (because it's untested for other card types), and only change the buffer layout if module parameter is set, so there should be no new problems with that. With the buffer warnings we'll see if other people have problems with a too small buffer, too.

With a buffer size of 470k (376x1280) I now get a perfect TS stream (good data, no TS continuity problems),
even under very high I/O load conditions.

Now the best thing to do is to integrate it and see if I'm the only one having problems with too small DMA buffer.

Regards,
Ingo Schneider.


Johannes Stezenbach wrote:

On Sat, Feb 18, 2006, Ingo Schneider wrote:
Here comes the refactored patch.
I kept the default buffer size as it was before and limited the rate of buffer warnings. Without module parameter, buffer layout and size is now exactly the same as before, so only people getting buffer warnings are in need to change the buffer size.

Here's a link to some old postings on the saa7146 DMA subject:
http://linuxtv.org/mailinglists/linux-dvb/2003/11-2003/msg00028.html

As I remember it, with your buffer settings you get slightly
corrupted TS data.

Johannes



_______________________________________________

linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

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

  Powered by Linux