faq.txt

来自「这是一个LINUX环境的 VDR 插件源代码,可支持Irdeto, Seca, 」· 文本 代码 · 共 78 行

TXT
78
字号
-------FFdecsa-------FFdecsa is a fast implementation of the CSA decryption algorithm for MPEGTS packets.Q: What does FF stands for?A: FFdecsa means "Fucking Fast decsa".Q: Why would you use such a rude name?A: Because this code is fucking fast, more than 800% the speed of the best   implementation I'm able to find around at the moment.Q: How it that possible? Are all other programmers stupid?A: No, they just tried to save a cycle or two tweaking a fundamentally wrong   implementation. The algorithm has to be implemented in a totally different   way to achieve good speed.Q: Do you use multimedia instructions?A: I use every trick I could come up with, including multimedia instructions.   They are not fundamental in achieving speed, a version without them runs   at 6x the speed of the best implementation around (which uses MMX).Q: So how did you do that?A: By using a different approach for the implementation. This code is not   exploiting some new CSA vulnerability, it is just doing the same   calculations better. Think about replacing bubble sort with quick sort.Q: You're joking, it's impossible to gain so much speed.A: Speed test are available, technical documentation is available, source   code is available. Try it yourself.   If you want details, these are some of the documented tricks I used   (more details in the docs directory):    TRICK NUMBER 0: emulate the hardware    TRICK NUMBER 1: virtual shift registers    TRICK NUMBER 2: parallel bitslice    TRICK NUMBER 3: multimedia instructions    TRICK NUMBER 4: parallel byteslice    TRICK NUMBER 5: efficient bit permutation    TRICK NUMBER 6: efficient normal<->slice conversion    TRICK NUMBER 7: try hard to process packets together    TRICK NUMBER 8: try to avoid doing the same thing many times    TRICK NUMBER 9: compiler    TRICK NUMBER a: a lot of brain workQ: How can be this code useful?A: You can use this code in place of the old slow implementations and save a   lot of CPU power.Q: Just that?A: Well, new applications are possible.   Decrypting a whole transponder is easily doable now. Well, a $50 CPU can   decrypt four transponder at the same time if you have four DVB boards (but   I couldn't test that).Q: You're cheating, this code is fake, I don't believe one word.A: Go away. This is technical stuff for people with brains.Q: This code is great, may I distribute your code in original or modified   form?A: Only if you respect the license.Q: May I use your code in my player/library/plugin...?A: Again, you have to respect the license.Q: Are you an extraterrestrial programmer?A: No, just a Turkish guy with a PC to play with :-)Q: Why did you spend your time doing this?A: Because I thought that my approach was doable and I was sure it would   have been much faster, so I had to implement it to confirm I was right.   I got 8x the speed and that's enough to be proud of it. And I could not   just keep the code for myself only.Q: What is the answer to the meaning of the universe?A: 42,43,71,5f,65,85,f6,76,0d,13,28,96,...

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?