1539 Commits
Author SHA1 Message Date
Timofey Solomko e4181a76a9 Swiftlinted. 2016-12-24 12:34:23 +03:00
Timofey Solomko e520458a11 Fixed problem caused by not specifying uncompressed size before lzma decoding. 2016-12-23 23:37:09 +03:00
Timofey Solomko b61a5a466d Moved multiByteDecode into DWP. Hopefully, now it works properly (I’ve also made some changes to it). 2016-12-23 23:36:35 +03:00
Timofey Solomko bd411906be Small cleanup in lzmadecoder. 2016-12-23 21:48:07 +03:00
Timofey Solomko c57f7f3a5d Fixed error due to unitialized lc,lp,pb befor resetting state. 2016-12-23 21:47:55 +03:00
Timofey Solomko c0fefcc77b Fixed reset bits calculation. 2016-12-23 21:47:19 +03:00
Timofey Solomko 35052bdc28 Added check of backwardSize, disabled stream padding. 2016-12-23 21:33:10 +03:00
Timofey Solomko 1468914491 Fixed problems with calculation of unpadded size of a block. 2016-12-23 21:20:33 +03:00
Timofey Solomko 4d35231c32 Dictionary size is now passed around and fixed the problem with big-endian integers. 2016-12-23 21:20:03 +03:00
Timofey Solomko a5158e27f2 Fixed crash in crc64. 2016-12-23 21:19:18 +03:00
Timofey Solomko d41bab2136 DWP is now final. 2016-12-23 20:40:48 +03:00
Timofey Solomko d00944bb94 Small docs changes in XZ. 2016-12-23 20:40:38 +03:00
Timofey Solomko 39050dd7d0 Probably completed lzma2. 2016-12-23 20:40:30 +03:00
Timofey Solomko 4bb92c00d5 A new attempt has been made to make an LZMADecoder initializer which can support both LZMA and LZMA2. Also lzma Constants are no longer a substruct. 2016-12-23 20:09:46 +03:00
Timofey Solomko ec8f15965a Added new convenience function for OutWindow. 2016-12-23 20:07:42 +03:00
Timofey Solomko d3650edbeb Finished LZMA/LZMADecoder. 2016-12-23 19:52:08 +03:00
Timofey Solomko 60008cc5c8 Moved initial values for properties of lzma classes to their declarations (where possible). 2016-12-23 19:16:28 +03:00
Timofey Solomko 5b942c31b7 pointerData is now stored as an instance property in all LZMA classes. 2016-12-23 19:09:50 +03:00
Timofey Solomko c95edcec2f lzmaDecode method rewritten as an instance method. 2016-12-23 19:02:29 +03:00
Timofey Solomko 53a80f8a79 Splitted code from LZMA into several files and added new class LZMADecoder. 2016-12-23 17:43:40 +03:00
Timofey Solomko 1aa51c18e0 Removed StreamHeader structure. 2016-12-23 15:13:18 +03:00
Timofey Solomko 8cc882619b Implemented parsing of index in xz and enable support of crc64 check. 2016-12-23 14:41:28 +03:00
Timofey Solomko c8a656a677 Added checks related to (un)compressed size of block. 2016-12-23 14:23:09 +03:00
Timofey Solomko eb78ca6af2 Added lzma2. 2016-12-22 23:52:18 +03:00
Timofey Solomko b232078e4e Completed block parsing in XZ. 2016-12-22 23:51:52 +03:00
Timofey Solomko 0e6f417d67 Main functions of LZMA restructured a bit to support addition of lzma2. 2016-12-22 23:51:12 +03:00
Timofey Solomko 6909d21c1c Added a couple of functions to DWP which may be used in the future. 2016-12-22 23:50:37 +03:00
Timofey Solomko 87c0f255d5 Added crc64. 2016-12-22 23:50:13 +03:00
Timofey Solomko f9641aec6d Fixed blockHeaderPadding and some cleanup. 2016-12-22 11:27:53 +03:00
Timofey Solomko 0d55c0f71f Hopefully fixed multiByteDecoder. 2016-12-22 11:18:14 +03:00
Timofey Solomko db000e2820 Added processIndex function and fixed misunderstanding about numberOfFilters. 2016-12-21 22:21:37 +03:00
Timofey Solomko 50d8369e8f Some progress on XZ. 2016-12-20 20:55:04 +03:00
Timofey Solomko c918f9156d Added footer and stream padding processing to xz archive. 2016-12-18 16:23:58 +03:00
Timofey Solomko fb45daaf67 Fixed typo in the name of the function. Added function to get bytes. 2016-12-18 16:23:37 +03:00
Timofey Solomko ebd50d61fe Added first things for xz archive support and tests for it. 2016-12-18 14:17:12 +03:00
Timofey Solomko bc64ce44b1 Added function which calculates crc32. 2016-12-18 14:16:16 +03:00
Timofey Solomko b4766be618 Internal decompress function of LZMA now has its argument label omitted. 2016-12-18 14:15:51 +03:00
Timofey Solomko 2322194cd4 Added a lot of comments and docs. Added missing exceptions. PointerData argument labels are now omitted. 2016-12-17 21:48:24 +03:00
Timofey Solomko a3c8959471 bitTreeReverseDecode moved into BitTreeDecoder class. 2016-12-17 21:46:27 +03:00
Timofey Solomko bace1536fa Added two functions which print a lot of diagnostic information if certain build optins are enabled. 2016-12-17 20:28:28 +03:00
Timofey Solomko 22fe02b56a Fixed problem when arrays with coders contained and pointed onto only one coder. Also fixed calculations in and around decodeDirectBits. 2016-12-17 20:12:04 +03:00
Timofey Solomko d4f3224129 Fixed problem with overreducing unpackSize after copyMatch. 2016-12-17 15:21:56 +03:00
Timofey Solomko 8a62693db6 Added a lot of breaks where throws should be. 2016-12-17 15:21:20 +03:00
Timofey Solomko 37a9b0437e Fixed bitTreeReverseDecode first argument problem. 2016-12-17 14:07:03 +03:00
Timofey Solomko c7acc7ec93 Fixed problem with decode not updating the probability. 2016-12-17 13:43:05 +03:00
Timofey Solomko 843dadf08c Added some comments and corrected decode literal part of lzma main cycle. 2016-12-16 22:19:18 +03:00
Timofey Solomko 85d2c0f7a4 Replaced pow() with bit shift operations. 2016-12-16 21:33:10 +03:00
Timofey Solomko b970fb142c decodeLiteral and decodeDistance are no longer separate functions. 2016-12-16 20:46:28 +03:00
Timofey Solomko 1df18966e5 rangeDecoder is now passed as inout parameter. Moved adding data to out array to OutWindow.put(byte:). 2016-12-16 20:42:01 +03:00
Timofey Solomko 0664e5e481 Finished first implementation draft. 2016-12-16 20:01:21 +03:00