tsdecrypt reads and decrypts CSA encrypted incoming mpeg transport stream over UDP/RTP using code words obtained from OSCAM or similar CAM server. tsdecrypt communicates with CAM server using cs378x (camd35 over tcp) protocol or newcamd protocol. https://georgi.unixsol.org/programs/tsdecrypt/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ChangeLog 4.3KB

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