3

I am looking for a C or C++ library that includes several well-known compression algorithms (particularly lossless ones), for the purpose of developing a custom compression scheme and comparing it to generic solutions. I have found one, called Basic Compression Library, but it does not seem to have been updated since 2006. I found a paper about another, called ExCom, that was published in 2010, but the website doesn't have a download link.

Are there other similar libraries that have been updated more recently and/or include more algorithms? Or is there a reason why they don't exist?

Rubix
  • 153
  • 4
  • 3
    Boost iostreams include compression filters for deflate (gzip), bzip2 and lzma (7zip). – Kerrek SB Nov 10 '11 at 16:33
  • Well, most compression libraries have been written in C/C++. A good question would be what is the domain of your data? In other words, what kind of data do you want to compress? Particular domains of data are suspect to much better compression ratios when the compression routine knows about the nature of the data. You have FLAC at http://sourceforge.net/projects/flac/files/flac-src/, suited only for audio, `zlib` for anything generic/unclassified/unknown, then as you probably know there is PNG for images etc. I imagine there are good special purpose XML compressors out there too, as well. – amn Nov 10 '11 at 16:43
  • 1
    I don't know why you're concerned about the age of the libraries. The popular algorithms were invented many years ago; LZW in 1984 for instance. – Mark Ransom Nov 10 '11 at 17:02
  • @MarkRansom I am not particularly concerned about the age, except that I was expecting there to be more out there in terms of collections of popular algorithms, and finding only one library that was 5 years old seemed odd to me. I am looking for some alternatives for comparison, but if there is nothing else out there I will probably just go with the Basic Compression Library. – Rubix Nov 10 '11 at 20:18
  • @amn I am looking specifically for collections of as many of the well-known algorithms as I can get. The data I am compressing is very simple scientific data, it will essentially consist of sets of 5000 to 10,000 32-bit integers that will vary within a range of about 5000. I expect I can get pretty good compression using some pretty simple encoding. I am looking for implementations of existing algorithms to potentially use as building blocks for my compression scheme, and also to use for comparison. – Rubix Nov 10 '11 at 20:27

2 Answers2

4

I know zlib and bzip

And you could take a Debian Linux distribution, and find all the compression utilities there.

Basile Starynkevitch
  • 1
  • 16
  • 251
  • 479
  • If it comes down to it, I could acquire implementations of well-known algorithms separately, but I am specifically asking about existing collections. – Rubix Nov 10 '11 at 20:34
1

You can try LibArchive, which has an expanding list of compression codecs supported :

http://code.google.com/p/libarchive/wiki/LibarchiveFormats

Cyan
  • 11,534
  • 6
  • 33
  • 68