Delphi XE2 7zip wrapper

IN PROGRESS
Bids
5
Avg Bid (USD)
$436
Project Budget (USD)
$250 - $750

Project Description:
We first need you to fully implement all of the functions in attached SevenZipWrap.pas in Delphi through direct calls to 7z.dll.
All functions and parameters must be implemented just as in the current version in order to completely compatible our existing main application which will use your code.

You do not need to worry about binding strings as long as you can match or beat our current compression. A sample 7zip file attached for comparison. target.7z size: 737 KB (755,461 bytes)

However we will require five compression settings per the parameters below:

1- '-ms=off -mhc=off -m0=None -m0=Copy ' // store data in uncompressed form.
2- '-ms=off -mhc=off -m0=LZMA -m0d=15 -m0mf=hc3 -m0fb=32 ' // compress data using the LZMA data compression algorithm and a 32 KB buffer for hash chaining.
3- '-ms=off -mhc=off -m0=LZMA -m0d=21 -m0mf=bt4 -m0fb=32 ' // compress data using the LZMA data compression algorithm and a 4 MB buffer for binary trees.
4- '-ms=on -mhc=on -m0=BCJ -m1=LZMA -m1d=23 -m1mf=bt4 -m1fb=64 ' pre-process data using binary call jump converters to increase compressability, treat all files as a continuous data stream, and use an 8 MB buffer for LZMA compression.
5- '-ms=on -mhc=on -m0=BCJ2 -m1=LZMA -m1d=25 -m1mf=bt4b -m1fb=255 -m2=LZMA -m2d=20 -m2mf=bt4b -m2fb=64 -m3=LZMA -m3d=20 -m3mf=bt4b -m3fb=64 -mb0:1 -mb0s1:2 -mb0s2:3 ' // pre-process data, compress from a continuous stream, and use a 32 MB LZMA buffer.

I have heard that an ultra compression ratio is also now possible with 7zip, so a new compression setting may be introduced for that. I recall reading it required gigabytes of memory during compression and similarly during extraction; so definitely something optional. Last but not least, we currently do not support the lzma2 algorithm, but it is available in the new 7zip. It compresses a little worse but much faster. So some more compression presets, in addition to the five existing + one ultra, will be necessary to factor in the lzma2 choice. Please ask if you have any questions, or other feedback/suggestions regarding these compression presets.

For supporting LZMA2, you could also provide a boolean setting (with default value= FALSE) that would replace all instances of the LZMA algorithms with LZMA2 instead. This would save the hassle of defining new compression presets just for the LZMA2 codec.

Skills required:
Delphi
Additional Files: SevenZipWrap.pas target.7z
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 300
in 5 days
$ 280
in 10 days
Hire Digitalancer
$ 250
in 15 days
Hire gyk
$ 400
in 7 days
$ 950
in 25 days