-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Hi,
This isn't an "issue", but am new to Github and don't know how to contact you directly.
Thanks for the improvements you've made to this library and I thought the following may be of use, assuming it's relevant or not already considered.
Looking at the "technical_background.txt" file in docs of Eli Bihan's original ffdecsa, in "TRICK NUMBER 6: efficient normal<->slice conversion", he discusses his prefered transpose option, which I believe to be the method used in libdvbcsa.
I wondered if you'd come across Henry Warren's take on the same basic 2x2 transform for transposing 8 x 8 bits, which instead of treating each byte individually, packs 4 bytes each into 2 ints and transforms those.
The Bihan method above uses 24 shifts, 48 and, 24 or for this operation and the Warren one, 22 shift, 8 and, 8 or, 12 xor including the packing and unpacking. Details can be found here and in Figure 7-2:
https://books.google.co.nz/books?id=iBNKMspIlqEC&pg=RA1-SL20-PA8&lpg=PP1&focus=viewport
Apologies if this is a waste of time. I'm still quite near the bottom of the C learning curve, but it doesn't seem to be what is currently in use and on the surface would appear to be a tidy way of achieving 8 x dvbcsa_bs_word_t transposes.
Kind regards.