Mailing List archive

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

[linux-dvb] Re: Losless Section Demux version 1.4



> Crc check can't be done there because the crc engine cannot access
> system ram but only demux ram. memcopy wasn't used to always copy a
> complete section before, but it didn't copy more than one section. A
> quick grep shows me, that our driver is the only one available that uses
> the hardware acceleration callbacks. If we keep the current situation,
> then we could just remove these callbacks because they were rendered
> useless.

OK, let's dig out old code and I'll browse my files for
the oldcode fix patch and we can keep both versions in 
the kernel, with the nodule option which one to use.

modprobe dvb-core old_section_demux=1

> > The old code is broken in boundary conditions, dropping some sections
> > that should have been otherwise correctly received.
> 
> Details?

If e.g. one byte of new section starts at the last byte of TS packet,
this section will not be received because the old driver requires at
least 2 bytes to be able to predict next section's length. New driver 
doesn't need such prediciton. There are also some other conditional 
rejections if similar type of circumstances are met in other parts 
of the code..

> > The new code reduces the number of memcopy's. Depending on TS stream,
> > it could sometimes deliver many sections with a single memcopy.
> 
> And that's what broke the hardware accel callbacks. And remember you are
> using those PCI cards which probably sit in a system with GHz Pentiums.
> Think about embedded systems like ours with 66 MHz where doing crc32 in
> software really slows things down.

OK, let's have both of them codes and allow too choose





-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index