Delphi XE2 7zip wrapper

In Progress Posted Feb 12, 2013 Paid on delivery
In Progress Paid on delivery

We first need you to fully implement all of the functions in attached [url removed, login to view] 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. [url removed, login to view] 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.

Delphi

Project ID: #4238965

About the project

5 proposals Remote project Active Feb 16, 2013

Awarded to:

Digitalancer

Hi, I am ready to work with you in developing the 7Zip wrapper with Delphi XE2.

$250 USD in 15 days
(7 Reviews)
5.1

5 freelancers are bidding on average $436 for this job

sveralex

Hello, here is my bid

$300 USD in 5 days
(4 Reviews)
5.8
bomrom

Hi! Can make it! See PM, please.

$280 USD in 10 days
(17 Reviews)
5.5
gyk

Delphi expert is ready to help you.

$400 USD in 7 days
(8 Reviews)
4.2
igors233

I have a large experience in 7z, more details in inbox.

$950 USD in 25 days
(3 Reviews)
4.1