Project

General

Profile

Feature #871

Use libdvbcsa instead of FFdecsa

Added by Alain Kalker almost 13 years ago. Updated about 12 years ago.

Status:
Rejected
Priority:
Low
Assignee:
-
Category:
Descrambling
Target version:
-
Start date:
2012-02-09
Due date:
% Done:

0%

Estimated time:

Description

Please consider switching Tvheadend to using libdvbcsa instead of FFdecsa.

libdvbcsa (http://www.videolan.org/developers/libdvbcsa.html) has a number of advantages:
Atheros AR7161
- It is faster (higher throughput in packets(#Mbits)/sec), important for use on low-end or embedded hardware
- It works on both big-endian and little-endian architectures, verified on Atheros AR7161 (big-endian MIPS) router
- It is being actively development/maintained, while development of FFdecsa seems all but halted

There are some minor problems:

API difference. While both libraries have a concept of 'packet clusters' (array of pointers to packet info), FFdecsa uses the raw packet data, while libdvbcsa uses the packet payload(sp?) meaning one has to add a 4-byte offset.
Also, libdvbcsa doesn't have a concept of 'even' or 'odd' keys, it can decrypt a packet cluster with any given key. One needs to manually assign packets to 2 clusters, one for 'even', 'one' for odd key decryption.
Also, libdvbcsa is normally an Autotools project, so the integration in standalone Tvheadend will need to be done.

Kind regards,

Alain


Files

libdvbcsa.patch (12 KB) libdvbcsa.patch Alain Kalker, 2012-02-11 19:57

History

#1

Updated by Hein Rigolo almost 13 years ago

Could try to provide a patch to replace ffdecsa with libdvbcsa?

#2

Updated by Alain Kalker almost 13 years ago

I'm working on it :-)

#3

Updated by Alain Kalker almost 13 years ago

Ok, so here is my first preliminary patch, against andoma's master.
I haven't integrated libdvbcsa into the tvheadend source tree yet, so you need to build and install libdvbcsa before you build tvheadend.

I've tested the code word client using a HDHomerun HDHR3-EU (great little box, by the way) on DVB-C, using Irdeto2 CA with OScam, including decrypting multiple channels simultaneously. CPU usage on a Core(TM)2 Duo E7500 @ 2.93GHz is about 8%, 11% when decrypting two channels.

#4

Updated by B. J. almost 13 years ago

Yes, it runs here too with libdvbcsa. CPU-Load is about 11% on AMD 4450e@2GHz. But bug #829 is still there. The cwc-client floods my server with around 100.000(!) global emms in about 10 minutes. If i use a oscam-proxy on the same machine blocking global emms the cpu-load runs up to 99% for the oscam process.

B.J.

#5

Updated by Alain Kalker almost 13 years ago

Thanks for the info, B. J.

I have sent a pull request to Andreas for this change, hope it will be integrated.

#6

Updated by Adam Sutton over 12 years ago

  • Category set to Descrambling
  • Priority changed from Normal to Low
#7

Updated by Adam Sutton about 12 years ago

  • Status changed from New to Rejected

Closing this, It's not been updated in ages. There is actually a PR in github related to this, but again there has been no input for ages and its no longer compatible.

Adam

Also available in: Atom PDF