Mailing List archive

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

[linux-dvb] Questions Round2



Hi,

Some more questions, i stumbled on while digging trough the api:

1. soft-dmx doesn't check the crc of sections. Any reason for that?

2. acceleration hooks

This is a quite complex question ;) Background: Our STB is capable of
calculation the section crc itself. But it can only do that if the data
is still in the queue and has not been pulled out into the
dmxfeed->secbuf. To use the crc engine there are 2 possible solutions:

A) Copy all the dvb api soft dmx functions and hack them to use the
engine. This will result in lots of duplicate code.
B) Add some acceleration hooks into the feed structure. For example:

struct dvb_accel {

  void priv;

  u32 (*crc)(void *src, size_t count);
  void (*memcpy)(void *dst, void *src, size_t count);

}

Struct dvb_dmx_feed {
[...]
  struct dvb_accel accel;
[...]

}

allocate_feed() {
[...]
  feed->accel.crc = dvb_crc;
  feed->accel.memcpy = memcpy;
[...]
}

The api will initialize the accel functions with the normal
dvb_crc/memcpy functions. If the hardware is able to do crc itself it
can overwrite the handlers and benefit from its capabilties. 

Oppinions? Any other ideas?

Regards,
   Florian




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



Home | Main Index | Thread Index