1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
|
- created
- released 0.0.1
- simplified s, A, B
- released 0.0.2
- simplified nxt=
- released 0.0.3
- removed commented code
- code formatting
- released 0.0.4
- kk now unsigned char
- removed 64 bit ints
- released 0.0.5
- created decrypt_2ts
- released 0.0.6
- renamed files
- created decrypt_many_ts, removed others
- external interface has 2 functions only: set_cws() and decrypt_many_ts()
- reformatted code
- reimplemented s12,s34,s56,s7
- unsigned char become int for table optimization
- released 0.0.7
- optional icc compiler
- kk now 0..55
- decrypt_many_ts really works (no parallelism yet)
- added get_cws() to interface
- created stream.c
- created key_schedule_stream, using iA[] and iB[]
- released 0.0.8
- decrypt_many_ts() makes a group, sorts the packets, processes them
- preliminar stream_cypher_group() created
- parallel computing activated
- huge speed increase (+500%) thanks to stream_cypher_group()
- released 0.0.9
- block_cypher_group() created (no parallelism yet)
- released 0.0.10
- block_cypher_group() has 56 simple iterations
- block_cypher_group() doesn't shift registers anymore
- released 0.0.11
- some parallelization on block_cypher_group()
- released 0.0.12
- better parallelization of block_cypher_group()
- released 0.0.13
- block_cypher() was still called by error when N=23
- speed is now 109Mbit/s on AMD XP2000+ CPU
- released 0.0.14
- stream_cypher_group() has a init and normal variant
- A[0]-A[9] instead of A[1]-A[10], same for B
- implemented virtual shift of A and B
- speed is now 117Mbit/s on AMD XP2000+ CPU
- released 0.0.15
- better optimization of E and F in the stream cypher
- speed is now 119Mbit/s on AMD XP2000+ CPU
- released 0.0.16
- removed some debug overhead
- speed is now 120Mbit/s on AMD XP2000+ CPU
- released 0.0.17
- don't move packets with residue anymore
- speed is now 123Mbit/s on AMD XP2000+ CPU
- released 0.0.18
- solved alignment problems
- search groupable packets even beyond ungroupable ones
(more speed in some real world cases)
- created decrypt_many_ts2(), useful with circular buffers
- released 0.0.19
- removed old code
- released 0.0.20
- partially converted code to size-independent group
- icc doesn't work with optimizations on
- released 0.1.1
- merge loops on block_decypher (speed++ gcc, speed-- icc)
- transposition are now functions (speed-- icc)
- icc works again (compiler bug work around?)
- released 0.1.2
- better use of COPY8 &co
- better flags for gcc
- removed old code
- released 0.1.3
- int and not char in block cypher (speed++++++ gcc, speed-- icc)
- released 0.1.4
- group abstraction finally implemented
- support for group width 64
- released 0.1.5
- group 64 mmx implemented (speed++ gcc)
- released 0.1.6
- more parallelism in block cypher (speed++ gcc)
- transposition before and after block (disabled because of no speed gain yet)
- released 0.1.7
- more parallelism in block cypher (speed++ gcc)
- transposition before and after block enabled (speed++ gcc)
- gcc options (unrolled 500) speed gcc++
- released 0.1.8
- reworked FFN_ALL_* constants (speed++++ gcc)
- released 0.1.9
- transposition in block as inlined functions
- group abstraction working well
- released 0.1.10
- group 128 sse implemented, but batch is 64 mmx (not faster than group 64 mmx)
- released 0.1.11
- lot of code polishing and dead code elimination
- better and more debug output
- released 0.1.12
- name change: FFdecsa
- released 0.2.0
- separated test cases
- corrected all group_modes (now called parallel_modes)
- parallel 128 8 char implemented
- parallel 64 long implemented
- parallel 128 2 long implemented
- parallel 128 2 mmx implemented (incredibly slow, the compiler is very confused)
- parallel 128 16 charA implemented (very slow compilation)
- parallel 128 16 char implemented
- renamed softcsa* to FFdecsa*
- released 0.2.1
- new external interface (based on ranges)
- released 0.2.2
- can be compiled with g++ too
- using g++ the code is 3% faster!
- external interface: function name changing and new functions
- a group of ranges is now called a cluster
- renamed autogenerated files
- released 0.2.3
- written docs
- removed unneeded files
- added Copyright and license notes
- reworked "logic"
- released 0.3.0
- Makefile reworked
- misc fixes
- added vdr patch
- released 1.0.0 (public release)
|