Commit Graph

38 Commits

Author SHA1 Message Date
Roy Oursler
fac7e7ce18 igzip: Pass writeable buffer to test_compress
The function test_compress in igzip_rand_test modifies the input buffer as part
of the test, passing in a read only buffer can cause issues.

Change-Id: Ib1e67ec72d9c95ea983b5f7550deb3d56cde4260
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-08-21 13:18:05 -07:00
Roy Oursler
995d420c6b igzip: Fix inflate for large output files
Change-Id: I3d3532100f8d60e0b446f5c90fc820cbfd2df1ec
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-08-03 12:54:05 -07:00
Roy Oursler
a778455448 igzip: Fix bug in create_rand_repeat_data
Change-Id: Ib3ab731ea9a96cdbd0380d6a88b3837ae0de0815
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
0b8fe87648 igzip: Verbose printing for multi_pass inflate
Change-Id: Iea1ebf1f185bf90da441d27df479e164d21fb74c
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
148898c6ba igizp: Print error when test_compress_file fails in igzip_rand_test
Change-Id: I5b03b006708778cb61edb3d456d22d08f1169309
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-01-04 09:13:59 -07:00
Roy Oursler
8965584ae3 igzip: Implement large hash table method as level 2
Move current level 2 compression to be level 3 and create a level 2
compression which is the same algorithm as level 1 but with a larger
hashtable.

Change-Id: I398a6017c2ff218dded24e229fb51c23ea69f314
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
fe90c14bc3 igzip: Fix issues for large file inputs to igzip_rand_test
Change-Id: Ic77834d771b2eebdfb7eeed782ee0d69e7905fa5
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
b4ebd1c6e7 igzip: Fix bug in igzip_rand_test where invalid flag is set
Change-Id: I0d9418bcb48bd40e2fb8bb9105f38cffe77ba33d
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
4ae2d1be29 igzip: Implement optimized level 2 compression
Change-Id: I8cf5bcd56f290d17205ac36dc2828c8acfc66947
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
3c62216aa1 igzip: Remove some uneccessary random data generation from igzip_rand_test
Change-Id: I7c10c95549b9d825360d8f033f8dc3d8546d4d4c
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
4de751f35a igzip: Improve VERBOSE printing in igzip_rand_test
Change-Id: Ib04361d0980920e81f901da3df234f9299669a98
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
864634a62b igzip: Modify rand_test to not call rand() within VERBOSE blocks
Change-Id: Ice907a9eae72662a741d3d02a3926683e65c173d
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
a7d474a55c igzip: Fix rand_test_bug where invalid flush case can have a valid flush
Change-Id: I6459432cb14b0c91f07b87a54c224f71ee03a05a
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
f7b6e73146 igzip: Improve igzip_rand_test compress_multi_pass by modifying in buffer
Modify igzip_rand_test to test that data after next_in can be modified without
producing incorrect compressed data.

Change-Id: Ic6b62f269c6783407fbec7222ae73f24d3735717
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-10-20 15:29:39 -07:00
Roy Oursler
48d7def5d9 igzip: Fix inflate total_out behavior to align with expected behavior
Modify total_out to be total data decompressed into user supplied buffers,
rather than to user supplied and internal buffers.

Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-08-18 14:28:10 -07:00
Roy Oursler
34c341db35 igzip: Add reset functions for both deflate and inflate.
Change-Id: I8677a4365ac5c2343751660176f3b2eb4746ddfe
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-06-26 04:14:44 -04:00
Roy Oursler
ed15402f5b igzip: Add stateful dictionary support
Change-Id: I75dbac947787bc0041674468c88d0aa41b8b082f
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-06-26 04:11:48 -04:00
Greg Tucker
a8966b6709 igzip: Add unit tests for adler and crc32_gzip
Also renamed test helper function, fixed clang warnings and adler usage.

Change-Id: I4ad22d046809483456608be1f4fdc4adbf0e09e4
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-06-26 04:03:35 -04:00
Roy Oursler
b3c09b9b7c igzip: Improve random data generation in igzip-rand_test
Change-Id: I4835a9e376b4fa24080d765255703a959389487d
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-06-21 05:47:04 -04:00
Roy Oursler
87652b4489 igzip: Modify inflate to optionally calculate adler32 hash
Change-Id: I314617b89b59d53608e464c7d2cf299faa3528b5
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-06-21 05:42:12 -04:00
Roy Oursler
0cc3d93758 igzip: Modify test to test zlib compression
Change-Id: I52979c9e572ef9703995adf8d2163ba1797b8f53
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-06-21 05:41:47 -04:00
Hailiang Wang
52f644d3ff igzip:use fgetpos() to replace ftell() to get file's length.
Change-Id: Ia1f3c06e92c01da9d22b3d70b2b05fe4808c9f2c
Signed-off-by: Hailiang Wang <hailiangx.e.wang@intel.com>
2017-06-21 05:22:07 -04:00
Roy Oursler
01dfbcc484 igzip: implement igzip two pass
Change-Id: I9564b2da251a02197b39cab5f141e7aff1ae8439
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-03-30 16:50:48 -07:00
Roy Oursler
3bc0efa6c2 igzip: Add inflate std vector test to igzip_rand_test
Change-Id: If84de68e9f096e225b3b7e8b695f84c3ab6fe778
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 16:18:00 -07:00
Roy Oursler
7fefb53938 igzip: Add a hufftable for the static Huffman code in Deflate
Change-Id: If8aadce05bcb705e608fe3ed6028be9a7448fa59
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 16:15:57 -07:00
Roy Oursler
e4c2106049 igzip: Fix naming conflict in igzip_rand_test when compiling with Makefile.unx
Change-Id: I312d276d2fc5d3ddc1e9dcf54674f7246c9e2a72
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 11:21:40 -07:00
Roy Oursler
886297517b igzip: Delete igzip_check.c and set igzip_rand_test.c to a check test
Change-Id: Ie8127e2aa5f1dcc69501c9e86f83497ddf50b070
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 11:19:24 -07:00
Roy Oursler
266ac91a6e igzip: Allow user to write a custom gzip header before compressing with gzip
Modify gzip_flag so that if set to IGZIP_GZIP_NO_HDR, no gzip hdr is written.

Change-Id: I79dbd5287cf471777b10412c17d23dc7f5a57bf6
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 11:17:33 -07:00
Roy Oursler
e569ff70e7 igzip: Create flag for inflate to return crc of the decompressed data
Change-Id: I2d966f2d4ca135e3c938a9501bf5d2e11d8e92fe
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 11:16:34 -07:00
Roy Oursler
4ea4f81138 igzip: Make gzip format a run time option.
Change-Id: Ia986d378763146b33c733751652bff788ec3cb9d
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 11:16:07 -07:00
Roy Oursler
7391f27cca igzip: Fix small bugs in igzip_rand_test on test failure.
Change-Id: I7677c3f28ddd9feee22632cb0f117ba2a4dfbc65
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:12:45 -07:00
Roy Oursler
88f95d8594 igzip: Merge inflate.h and igzip_lib.h and fix external naming
Merge inflate.h and igzip_lib.h and rename many defines to avoid conflicts,
along with general cleanup of the new header.

Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:40:43 -07:00
Roy Oursler
340e0f99df igzip: Implement stateful inflate.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:17:07 -07:00
Roy Oursler
a1981da94e igzip: Create stateless FULL_FLUSH mode
Add flush modes to isal_deflate_stateless. IGZIP_USE_GZIP_FORMAT is not
supported because of limitations imposed by the statelessness.

Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:16:11 -07:00
Roy Oursler
456be4cfc1 igzip: Rearrange inflate_state
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:53:34 -07:00
Roy Oursler
09a5a243bf igzip: Implement statelesss inflate in assembly
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:45:53 -07:00
Roy Oursler
39ce31de30 igzip: Fix minor bug in igzip_rand_test
Stop igzip_rand_test from trying to free a null pointer.

Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 11:01:40 -07:00
Greg Tucker
660f49b02d Add data compression unit
Include fast DEFLATE compatable compression functions.

Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-06-10 17:03:38 -07:00