Archiving |
Zzip - The New Compressor | | | A new archiver that uses a BWT algorithm to achieve superior compression. The author has now released the source code to zzip under the GPL. |
TZipTV Delphi 32-bit component | | Rate
| TZipTV returns to the programmer internal file information of files compacted within a compressed archive. Archives supported include ZIP, ARC, LZH, LHA, HA, RAR, PAK, ARJ, ZOO. Seperate extraction components included in this package are TUnZIP, TUnARJ, TUnARC, TUnLHA, TUnZOO. Also contains TUnSFX (exe to archive). |
SQX Archiver! | | Rate
| The folks at SpeedProject in Germany have created a developer's toolkit that gives you full access to the SQX format archives created by their Squeez and SpeedCommander utilities. The toolkit and DLLs are completely free. |
aPlib Compression Library | | Rate
| 32bit pmode compression library based on the algorithm used in aPACK. Both the library and some samples are included on this page. |
UniquE's RAR File Library | | Rate
| The URARFileLib is a small library that allows you to read files from RAR archives created with RAR and WinRAR. Decompression and decryption with full RAR v2.0 compatibility is done directly in your application, thus there is no need for a DLL or any other external file. This file library is based on the free unRAR source code by Eugene Roshal, and designed for easy but powerful usage in demos and intros. This library is also useful if you want to port your demos since the URARFileLib supports multiple operating systems (Linux, SunOS, and Win32).
Update: As of June, 2002, The library is hosted at a new URL, has a new dual license, and improved samples for Win32, Linux, and UNIX. |
Common Archives Library Project | | Rate
| Home page for the Common Archivers Library project. This page is completely in Japanese, but an English version of the index is available at a single click. The goal of this project appears to be to provide standard library software that works with any and all archives. Good idea. |
NuLib Home Page | | Rate | NuLib is a program for the Apple II which manipulates NuFx archives. The page is also the distribution site for NuLib2, and improved version of the program, and NufxLib, a programming library. |
Delphi Zip | | Rate | Delphi Zip is a set of libraries for Delphi based on the Info-zip library releases. |
Huffman Compression Engine | | Rate | This program is currently capable of reading and extracting files made with LHA and other utilities that generate .lzh files, from -lh4- to -lh7-. The foundation of the algorithm for this program like ARJ is based on Haruhiko Okumura's work on ar002, which was the foundation of LHA. Unlike Haruhiko's work however, the dictionary size is dynamic and currently allows for dictionary sizes of up to 64KB. On larger files, compression of files is usually 0.5% to 5% tighter than PKzip, and work in progress will likely yield even better results. Files created with this utility natively create -lh7- signed archives, which on larger files results in slightly better compression than that of lha32 by Haruyasu Yoshizaki. |
Delphi Skunkworks - Data Compression | | Rate | A page full of links to data compression resources for Delphi Programmers. Mostly libraries. |
libcomprex - Comprex (de)compression library | | Rate | From the site: The libcomprex library transparently handles automatic compression and decompression of files. The API is similar to C's built-in file access functions, which provides a smooth transition to libcomprex. libcomprex can also open uncompressed files, making it a good replacement for the native file access functions. |
CodeProject archiver - targets files and/or Win32 resources | | Rate | This CodeProject article presents an archiver that moves files in and out of an archive, and will extract from resources as well. It doesn't support the standard Zip format, and in a blinding flash of frankness, the author says The code is crap but it works and I couldn't find it done anywhere else. |
Arithmetic Coding |
Carryless Rangecoder | | Rate
| Mikael Lundqvist has adapted Dmitry Subbotin's C++ rangecoder to C. Michael says it is simple and fast.
One DataCompression.info commented that some more documentation would be helpful. |
Pegasus ELS Sample Code | | Rate | Pegasus has a patented range coder that they license at no charge. This archive contains some C code that provides a sample implementation. |
Audio |
The OpenH323 Project | | Rate
| This open source project aims to create a free H.323 stack. The project was started as a reaction to the high cost of commercial implementations of audio and video compression code implementing the various components of H.323. Roger H. adds There are now several useful applications which use the library including OpenMCU (a reliable multi person conference server) and GnomeMeeting (a GTK/Gnome GUI client for Linux/BSD Unix.
Version 1.13.13 of OpenH323 shipped in Marh, 2004. |
FLAC Source Code | | Rate
| Source code to the FLAC library, command-line encoder/decoder, and player plugins. FLAC is an open-source lossless audio codec. |
The LPAC Homepage | | Rate
| LPAC is a codec for lossless compression of 8, 12, 16, 20, and 24 bit audio files. It has cross-platform support for Windows, Linux and Solaris. Direct playback of LPAC files is possible with a Winamp plug-in. A satisfied user tells the DCL Compression on the material I use is superior to the FLAC encoder. |
RareWares AAC Page | | Rate
| A nice collection of AAC software, including encoders, decoders, and miscellaneous plugins. |
Hawk Software HawkVoice | | Rate
| HawkVoice is a game oriented, multiplayer voice over network API released under the GNU Library General Public License (LGPL), with support for Linux/Unix and Windows 9x/ME/NT/2000. It is designed to be a portable, open source code alternative to DirectPlay(R) Voice in DX8. |
The Ogg Vorbis CODEC project | | Rate
| Ogg Vorbis is a fully Open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit, polyphonic) audio and music at fixed and variable bitrates from 16 to 128 kbps/channel. This places Vorbis in the same competetive class as audio representations such as MPEG-4 (AAC), and similar to, but higher performance than MPEG-1/2 audio layer 3, MPEG-4 audio (TwinVQ), WMA and PAC.
DataCompression.info reader Serge enthusiastically said: Hell! The best lossy codec to date! |
Patent-Clear and Headache-Free Sound Format | | Rate | Charlie Cho reviews Ogg Vorbis for Web Techniques Magazine, February of 2002. |
QuickTime Components Project | | Rate | This site is dedicated to open source QuickTime development for popular open source audio and video codecs. We are currently working on Ogg Vorbis, an audio codec developed by Xiphophorus, and MNG, an animation video codec. |
JMAC: Open Source Java Monkey's Audio Decoder/JavaSound SPI | | Rate | JMAC is a Java implementation of the Monkey's Audio decoder/JavaSound SPI. Currently, Monkey's Audio format up to 3.97 version supported. JMAC is distributed under the terms of the GNU Library General Public License.
Version 1.41 of JMAC is shipping as of May, 2004. |
Dali | | Rate | Dali is a project at Cornell that aims to create a programming environment dedicated to the manipulation of video, audio, and image data. Naturally, this includes multiple codecs for various data types. |
Helix DNA Producer SDK Project Home Page | | Rate | The Helix DNA Producer is a project that Real Networks has dropped into the open source space. Producer is a platform for creating streaming content and downloadable media files. |
Maaate: The Australian audio analysis toolkit | | Rate | Maaate consists of a set of libraries that let you analyze the audio streams encoded in MPEG files. Besides simply parsing the audio out of MPEG files, it also does some sort of energy detection, silence analysis and more. But reading between the lines I think this library's strength is supposed to be a nice architecture that lets you easily add the modules you need for your work. |
OptimFROG SDK | | Rate | Florin Ghido has packaged his lossless compressor into a nice SDK - take advantage of his great audio compression in products of your own. |
Foobar2000 | | Rate | Foobar2000 is a relatively new audio player for Windows PCs. It seems to be attracting a little bit of interest among the literati, perhaps because it is mostly open sourced. It has a nice list of features, including tremendous list of codec support, as well as some unusual ones, such as the ability to play files in Zip archives. |
AC3Filter | | Rate | A DirectShow filter which will allow you to play AVI files containing AC3 encoded audio. A nice stream of releases with steady improvement.
Version 0.66b is shipping as of March, 2003. |
FLAC - Free Lossless Audio Coder | | Rate | FLAC is an open-source project which specifies a lossless compressed audio format and provides an encoder, decoder, and several player plugins. Aside from yielding better compression than Shorten, the format supports sample-accurate seeking and many other features useful for streaming and archival.
Reader Colin B. says: Incredible lossless audio compression, depending on the source, of course. I have seen high-quality speech recordings compressed to 10% of the original size, losslessly..
FLAC 1.1.0 released in January, 2003. A good roster of new features for this coder, including updates for libraries and plugins. |
MediaPipe | | Rate | MediaPipe is a flexible framework to manipulate media on MacOS X. It allows you to build decoding, filtering, encoding and even streaming pipelines that correspond exactly to your needs. Additionally, if a format is not supported, or a transformation missing, it features an SDK that allows you to quickly implement the pipe you want. |
Tremor - Fixed Point Ogg Vorbis Decoder | | Rate | The folks at Ogg Vorbis would like to see their audio format work its way into some hardware players. One good effort towards making this happen is a fixed=point implementation of the algorithm, which can then presumably be ported to machines using cheaper CPUs that lack the sophisticated FPUs of our desktop machines. |
VorbisSPI | | Rate | VorbisSPI is a Java Service Provider Interface that adds OGG Vorbis audio format support to Java platform. It supports icecast streaming. It is based on JOrbis Java libraries. |
Digital Audio Access Protocol, | | Rate | Apple's iTunes 4.0 player is able to play music across a local network or the Internet, using a proprietary protocol. This protocol not only tells machines how to stream audio content, it provides access to playlists and track information as well. The folks at the Digital Audio Access Protocol project are determined to reverse engineer that protocol so they can use the iTunes protocol on other operating systems or platforms. |
AVI File Support Library | | Rate | This open source project gives you the ability to read and write AVI files under Linux. The really interesting part about all that is that this is done using the Win32 DLLs from Microsoft to do the compression and decompression. Clever!
The avifile component is shipping version 0.7.37 as of May, 2003. |
OGG-S | | Rate | OGG-S is an open source project that aims to create a Digital Rights interface for all media files, but particularly for Ogg Vorbis.
This project is shippnig Beta 1 in March, 2003. |
Burrows-Wheeler Transform/Block Sorting |
Zzip - The New Compressor | | | A new archiver that uses a BWT algorithm to achieve superior compression. The author has now released the source code to zzip under the GPL. |
The bzip2 and libbzip2 official home page | | Rate
| The home page for Julian Seward's great BWT projects: a compression program and a library. A prelease of bzip2 1.0 was released 4/15/00 |
Block Sorting Compression Algorithm | | Rate | This is an academic project. A library and a sample program will be developed, that will implement the Burrows-Wheeler compression algorithm, using C++ and templates. This is the same algorithm for BZip. |
libbzip2 for WinCE | | Rate | A version of libzip2 in source format for WinCE, along with demo code and project files. Ciprian Miclaus created this port along with one of zlib, and has made them available for all manking. Thanks Ciprian! |
zipstream, bzip2stream: iostream wrappers for the zlib and bzip2 libraries | | Rate | This article describes STL-compliant iostream implementations that compress and decompress using the deflate and bzip2 algorithms. It makes it really easy to use compressed streams in your C++ app.
Updated July, 2003, to fix a gzip header problem.
Updated August, 2003 to fix a couple of minor problems. |
BWTCoder: Industrial strength BWT compression | | Rate | This is a preliminary shot at creating an open source BWT compression engine. Things look very preliminary at this point with just a couple of files available for download and not much message traffic. |
Bzip2 classes | | Rate | Gilad Novik created a pair of classes to compress and decompress data using the bzip2 format. |
Data Compression |
ANSI-C Bit Manipulation Libraries | | | Michael Dipperstein has written a few compression programs, which naturally requires that you be able to read and write bits one at a time, and possibly in chunks of other sizes. He has packaged up this capability as a separate library, and makes it available to the world here. |
QccPack -- Quantization, Compression, and Coding Library | | Rate
| James E. Fowler at Mississippi State University has created this library, which is an open source collection of routines that are useful for people interested in data compression research. The distribution includes QccSPIHT.
Version 0.45 is available as of December, 2003. |
Source and Executables for the Amiga | | Rate
| A huge selection of compression source and executables for the enigmatic Amiga.. I don't know if this is a mirror site or independent. |
DjVu - Next generation image compression technology | | Rate
| DjVu is an image compression technique that is meant to be used on scanned documents. AT&T has created a browser plugin that supports DjVu files. AT&T claims that DjVu files are 5 to 8 times smaller than GIF or JPEG images of similar quality. Some public source code is provided here, but the exciting parts of DjVu are not available.
Update: I believe this project has morphed away from AT&T and into the Open Source World. The AT&T site has been gone since 6/2002, I hope that this represents its new incarnation. I'm also moving the project status from Commercial to Non-Commercial |
Programmer's Heaven Compression Programs | | Rate
| A really nice set of programs and source code for all sorts of data compression. This area doesn't appear to be actively maintained, so there are plenty of out-of-date files, but good stuff mixed in as well. |
Free Compression and Archiving Libraries and Source Code | | Rate
| This web site keeps links to free libraries and source code. If you like this, you might want to browse around in some of their other areas as well.
DataCompression.info user Andrew S. was not too impressed with this site: I tried one half of their links and they were all dead or directed to content not related to the topic. |
The Delphi Companion | | Rate | Lots of links that appear to have a bias towards data compression with Delphi. |
Delphi Skunkworks - Data Compression | | Rate | A page full of links to data compression resources for Delphi Programmers. Mostly libraries. |
Encrypted Compressed Transfer Protocol | | Rate | This group aims to create a transfer protocol that has the functions of FTP and the advantges of HTTP. The main features will be encryption and compression. Work in progress - if you speak German you can learn more about the project here. |
The Open Compression Toolkit for C++ | | Rate | The Open Compression Toolkit is a set of modular C++ classes and utilities for implementing and testing compression algorithms. - Simple interface and skeleton code for creating new compression algorithms.
- Complete testing framework for validating and comparing new algorithms.
- Support for algorithms that use external dictionaries/headers.
- Utility classes and sample code for bitio, frequency counting, etc.
|
DjVuLibre | | Rate | This is an open-source package of DjVu programs and libraries, including encoders, viewers, browser plugins, and various utlities. The DjVu standard for document encoding was once an ATT research project, but now has been commercialized by LizardTech. This project is an attempt to popularize and evangelize the DjVu technology, with at least the benign awareness of LizardTech.
Release 3.5.13 shipped in April of 2004. |
Esoterica/Miscellany |
C Library to search over compressed texts | | Rate
| A team from the University of Pisa in Italy have created a set of two libraries to demonstrate the ability to perform searches in compressed text. The code is packaged as two LGPL libraries: HuffwLib and CGrepLib, and sample programs are available on the site for demonstration purposes. |
Encrypted Compressed Transfer Protocol | | Rate | This group aims to create a transfer protocol that has the functions of FTP and the advantges of HTTP. The main features will be encryption and compression. Work in progress - if you speak German you can learn more about the project here. |
UnicodeCompressor : another alphaworks technology | | Rate | IBM has developed a pair of Java clases that compress Unicode according to the Standard Compression Scheme for Unicode. Looks like they might be giving it away here. |
The Open Compression Toolkit for C++ | | Rate | The Open Compression Toolkit is a set of modular C++ classes and utilities for implementing and testing compression algorithms. - Simple interface and skeleton code for creating new compression algorithms.
- Complete testing framework for validating and comparing new algorithms.
- Support for algorithms that use external dictionaries/headers.
- Utility classes and sample code for bitio, frequency counting, etc.
|
CRC Encoding | | Rate | Marcel de Wijs has written an article on creating CRC codes in C#. |
MFFM Bit Stream | | Rate | A C++ hierarchy that is designed to efficiently read and write bit streams. Needless to say, this is quite useful for compression programs.
Version 1.0 shipped in December, 2003. |
NX Developers | | Rate | This site appears to the home page for a project dedicated to developing an Open Source X Windows compression library. |
jpg2html | | Rate | jpg2html converts JPEG images into HTML. A series of jpg2html procedures are being written to explore different means and different effects. |
GIF - Compuserve's Graphics Interchange Format |
Corona | | Rate
| Corona is an image input/output library that can read, write, and manipulate image files in just a few lines of code. It can write PNG files, and read PNG, JPEG, PCX, BMP, TGA, and GIF. Corona was designed to be easy to use, and exports a straightforward C++ API. With just a few lines of C++, you can add image loading to your application.
Corona 1.0.1 shipped in May, 2003, and added support for TGA images as well as a few more functions. |
True-Color GIF Example | | Rate
| Yes, it is possible to create GIF images with far more than 256 colors. This page will show you exactly how that is done, or at least prove to you that it is possible. It links to a GIF library called ANGIF that purports to be able to pull this trick off. |
Libungif - An uncompressed GIF library | | Rate | A library for reading and writing gif images. The save functionality uses an uncompressed gif algorithm to avoid the Unisys LZW patent. This library is based on Eric Raymond's giflib and implements a superset of that library's API.
Version 4.1.2 of this library shipped in March, 2004. |
zlib and libpng for Windows CE | | Rate | Kazuo Adachi ported both of these important packages to Windows CE and Windows CE .Net. This includes binaries for what I believe are all the currently support CPUs. |
Gzip |
GZipHelper | | Rate
| This nice post on the CodeGuru web site does Gzip compression to and from memory, instead of to and from files. |
The Zip, GZip, BZip2 and Tar Implementation For .NET | | Rate
| #ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
Visitor Samuel L. had this to say Extremely useful and well written, well done, great that is open source. |
CGZip, a C++ wrapper for gzip methods | | Rate | This wrapper class provides you with simple access to the gzip compression methods in zlib. You can compress and decopress to/from memory (including strings) to files. Looks promising. Release 1.1 was released 12/2002, although I can't tell what if anything has changed. |
Huffman Coding |
C Library to search over compressed texts | | Rate
| A team from the University of Pisa in Italy have created a set of two libraries to demonstrate the ability to perform searches in compressed text. The code is packaged as two LGPL libraries: HuffwLib and CGrepLib, and sample programs are available on the site for demonstration purposes. |
Basic Compression Library | | Rate
| Marcus Geelnard has created a batch of compression routines that you can plug and ply into your programs at will. Marcus is using the wonderfully open zlib license, which means thare are just about no reason you can't use this code. The 1.0.5 added an LZ77 codec to the RLE, Huffman, and Rice coders Satisfied user Todd W said: I needed a simple set of compression routines for use in an embedded system. I must be able to store a fair amount of information in a small EEPROM as a generic database. The Huffman coder works very well in the application and has met my needs exactly! Very nice! |
Huffman Compression Engine | | Rate
| Huffman Compression Engine with Turbo Pascal Interface. |
libhuffman - Huffman encoder/decoder library | | Rate
| libhuffman is a Huffman encoder/decoder library and a command line interface to the library. The encoder is a 2 pass encoder. The first pass generates a huffman tree and the second pass encodes the file. The decoder is one pass and uses a huffman code table at the beginning of the compressed file to decode the file.
Beta 3 shipped in October, 2003. |
Huffman.java | | Rate
| Advertises itself as "A dirty but free implementation of a huffman encoder/decoder in Java." Not completely free, it is covered by the GLPL, and naturally includes fully documented source. |
Huffman Compression Engine | | Rate | This program is currently capable of reading and extracting files made with LHA and other utilities that generate .lzh files, from -lh4- to -lh7-. The foundation of the algorithm for this program like ARJ is based on Haruhiko Okumura's work on ar002, which was the foundation of LHA. Unlike Haruhiko's work however, the dictionary size is dynamic and currently allows for dictionary sizes of up to 64KB. On larger files, compression of files is usually 0.5% to 5% tighter than PKzip, and work in progress will likely yield even better results. Files created with this utility natively create -lh7- signed archives, which on larger files results in slightly better compression than that of lha32 by Haruyasu Yoshizaki. |
Image Compression |
QccPack -- Quantization, Compression, and Coding Library | | Rate
| James E. Fowler at Mississippi State University has created this library, which is an open source collection of routines that are useful for people interested in data compression research. The distribution includes QccSPIHT.
Version 0.45 is available as of December, 2003. |
CXImage | | Rate
| Yet another image library! This one promises to load, save, and display BMP, JPEG, GIF, PNG, MNG, and J2K compressed images.
Version 5.9 of this library shipped in February, 2004. |
IMAGELIB from Colosseum Builders, Inc - V 4.0 | | Rate
| Due to the overwhelming number of requests for JPEG code that works with Borland C++Builder we have put out an Alpha version of the Colosseum Builders' Image Library for C++. The latest version includes encoders and decoders for JPEG, GIF, Windows BMP, XBM, and PNG. It also includes an interface to VCL so that these image formats can be used at design-time with C++Builder. The current version now works with MSVC++. |
DjVu - Next generation image compression technology | | Rate
| DjVu is an image compression technique that is meant to be used on scanned documents. AT&T has created a browser plugin that supports DjVu files. AT&T claims that DjVu files are 5 to 8 times smaller than GIF or JPEG images of similar quality. Some public source code is provided here, but the exciting parts of DjVu are not available.
Update: I believe this project has morphed away from AT&T and into the Open Source World. The AT&T site has been gone since 6/2002, I hope that this represents its new incarnation. I'm also moving the project status from Commercial to Non-Commercial |
Netpbm | | Rate | Netpbm is a C package of routines for conversion, rendering, and manipulation of graphics files. The program understands a wide array of image formats, and best of all, is completely free.
The 10.22 release shipped in May of 2004. |
Dali | | Rate | Dali is a project at Cornell that aims to create a programming environment dedicated to the manipulation of video, audio, and image data. Naturally, this includes multiple codecs for various data types. |
Java Image Coding | | Rate | Java libraries to read various image formats, including many which are compressed. Hence its appearance here. |
FreeImage | | Rate | The Free, Quality Image library for Windows. This library decodes quite a number of image formats, but don't expect to see GIF in there anytime soon. Perhaps after the patent expires? |
FreeImage | | Rate | FreeImage is yet another free library for image reading, writing, and manipulation. FreeImage supports a long list of compressed formats, including JPEG, PNG, TIFF, and more. Claims to support multiple platforms, but it does apear that most of the experience with this project is on Win32 systems.
Version 3.2.1 is shipping in March, 2004. |
JXPM - XPM processing library for Personal Java | | Rate | This library lets you read XMP image files using Personal Java - a defunct standard targeted at handhelds and other slighly constrained platforms. |
TIFF Software | | Rate | A library that supports reading and writing of TIFF files. |
Imagero | | Rate | A Java library that can read a few different image file types. Currently that includes BMP, some TIFF, PNG, JPEG, and more, along with metadata from a few different file types,
Version 1.30 is shipping as of January, 2004 |
OpenTiff | | Rate | OpenTiff is an object-oriented interface to TIFF formated image files. Unlike other Tiff toolkits, it allows an arbitrary set of tags to be defined and used in a Tiff file. |
In Memory Image Compression | | Rate | This article by Amer Gerzic uses GDI+ to load an image, then compresses it into memory. In the sample code he loads a BMP file and converts it to an in-memory JPEG file. |
Animal - AN IMAging Library | | Rate | Yet another imaging library that claims to support over 80 image formats under Win32. This is listed as an Alpha status project that is shipping version 0.10.4 as of February, 2004. |
ImageMagick | | Rate | ImageMagick is a robust collection of tools and libraries offered under a free license to read, write, and manipulate an image in many image formats (over 87 major formats) including popular formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF. Programming interfaces are provided for C/C++, Java, Perl, VB, and more.
Version 5.5.7 is shipping in May, 2003. |
Java and Windows Pdf Extraction Decoding Access Library | | Rate | A Java library released under the LGPL license for extracting text and images from pdf files, with full source code and examples. It also provides a rasterizer.
A commercial product called WinPedal is also available. WinPedal is an EXE that has grouping functionality that converts PDF text into XML. |
dcm4che - DICOM in Java | | Rate | This open source project is an implementatoin of DICOM in Java. DICOM refers to the Digital Imaging and Communications in Medicine standard, which provides standards for moving pictures around in medical applications. |
GraphicsMagick Image Processing System | | Rate | GraphicsMagic is a branch off of the ImageMagick project. I suppose there are some interesting political machinations behind all that, but for right now you should just know that GraphicsMagick is attempting to provide a stable set of code that can be used in other free and proprietary products. This consists of a big batch of image processing library functions, as well as a command line tool that lets you easily exercise some of those functions.
Version 1.0.5 shipped in March, 2004. |
DevIL - A full featured cross-platform image library | | Rate | DevIL provides the code needed to load a wide variety of images into your program. A nice long list of images that can be loaded are listed here, and a smaller but still quite nice list of formats that can be written to. Displaying images is currently supported under OpenGL, Windows GDI, SDL, DirectX, and Allegro,
Version 1.6.5 shipped in July, 2002. |
DjVuLibre | | Rate | This is an open-source package of DjVu programs and libraries, including encoders, viewers, browser plugins, and various utlities. The DjVu standard for document encoding was once an ATT research project, but now has been commercialized by LizardTech. This project is an attempt to popularize and evangelize the DjVu technology, with at least the benign awareness of LizardTech.
Release 3.5.13 shipped in April of 2004. |
Incredible Claims |
Lzip | | Rate
| Lossy data compression which can reduce input files to 0% of their size. Hint: product was released April 1, 2000.
DCL reader Tim A. marvels: Wow! it's even faster than tarring to /dev/null! |
Info-ZIP |
Zippity Do Dah | | Rate
| Al Williams wrote an excellent article on using the Info-Zip DLLs to manipulate Zip files. There are lots of commercial libraries that let you access Zip files, but your choices in free software are few and far between. So if you need a free solution, Al's article is a must-read. Many thanks to Al for getting this back on line after Visual Developer's web site disappeared. |
Internet |
Flatcompression | | Rate | This open source project is working on an ISAPI compression filter, designed for use with IIS. The project is listed as being in beta status by the maintainer, with hopeful comments for the future in the SourceForge discussion forums. |
ModZipRead | | Rate | Mod ZipRead is an Apache 2 module to browser Zip Archives. It uses zziplib. |
JBIG |
JBIG2DEC | | Rate | A JBIG2 decoder open source project, described as being O/S independent. The alpha releases are capable of decoding some JBIG2 documents but aren't ready for prime time yet.
Version 0.4 was released July 31, 2003. |
JBIG Kit | | Rate | Markus Kuhn has this to say about it: I wrote the freely available JBIG-KIT 1.2 portable ANSI C library, which implements a highly effective lossless bi-level image compression algorithm based on context sensitive arithmetic coding. The JBIG algorithm (specified in ITU-T Recommendation T.82), which is implemented in this library, is especially suitable for compressing scanned documents and fax pages. You can also download the (unfortunately German) project report (Studienarbeit) that I wrote about JBIG-KIT (abstract).
Release 1.5 available as of 6/2002. |
JPEG |
Data Compression Newsletter #12 - Using Intel's JPEG Library | | Rate
| This issue of the Data Compression Newsletter from Dr. Dobb's has some sample code showing how one might use Intel's JPEG library to display JPEG files under Win32. |
Corona | | Rate
| Corona is an image input/output library that can read, write, and manipulate image files in just a few lines of code. It can write PNG files, and read PNG, JPEG, PCX, BMP, TGA, and GIF. Corona was designed to be easy to use, and exports a straightforward C++ API. With just a few lines of C++, you can add image loading to your application.
Corona 1.0.1 shipped in May, 2003, and added support for TGA images as well as a few more functions. |
JPEG Library | | Rate
| Intel has a C/C++ JPEG library that works with Visual C++ under Win32. It would appear that their motivation is to distribute code that is optimized for the MMX extensions in their processor. License agreement has a few points that should be examined, but essentially it appears to be free. Please correct me if I'm wrong.
One reviewer of this site had this to say: I tried out the IJL library. It was slower than the Independent JPEG Group code. I was using IJL 1.5.
Vlandimire says: I use this library, v. 1.51 works very well. |
Independent JPEG Group | | Rate
| The Independent JPEG Group is a source of free JPEG software. It is in wide use. Oddly enough, the groups home page doesn't have anything interesting on it except a link to an ftp site, and a link to a couple of FAQs. |
A free C++/MFC source code image framework with jpeg and dib codecs | | Rate
| Free MFC source code for displaying JPEG files. Completely free, can be used in commercial products.
DCL User Comment: Very slow and awkward to work with... |
Intel's PII Inverse DCT Application Notes | | Rate | Intel has a nice document showing how one can optimize the inverse DCT when running on processors with the MMX instructions, such as the Pentium II. Listings include code you can drop into the Independent JPEG Group's library.
DCL reader Neil H. had this to say: The drop-in replacement for the iDCT of the IJG works fine for 8-bit data (not 12-bit). It reduced total compression time to 2/3 or so of the original cross-platform code. The iDCT itself is supposed to be 4x faster. |
PASJPEG | | Rate | PASJPEG is a port of the sixth public release of the IJG C source (release 6a of 7-Feb-96) [3], that implements JPEG baseline, extended-sequential, and progressive compression processes to Turbo Pascal 7.0 for DOS (TP). The code has been tested under Delphi 2.0 [6], it can be ported to other Pascal environments, since many compilers try to be compatible to TP. |
MMXDCT | | Rate | MMXDCT is an implementation of 8x8 FDCT/IDCT with MMX technology. With the help of MMX, only about 1000 CPU cycles are needed to do an 8x8 IDCT. |
Common Lisp JPEG Library | | Rate | JPEG compression and decompression routines in ANSI Lisp. |
libExif | | Rate | A library that allows you to parse and read the meta-tag content in EXIF files. C code, but no comments regarding compilers or platforms. |
OpenExif Toolkit | | Rate | This toolkit lets you access EXIF metadata that has been stored in JPEG files, typically from a digital camera. |
mjpgTools | | Rate | mjpgTools is an encapsulation of the JPeGlib and MJPeGtools and several other useful routines into a single Win32 DLL. This is an Open Source project, so have at it. |
libDSP | | Rate | A C++ library of digital signal processing routines. We link to it here because it includes a DCT algorithm, plus a few other possibly interesting routines. |
The ExifReader class | | Rate | A .NET library for reading EXIF metadata from JPEG files. |
Classes to read and write BMP, JPEG and JPEG 2000 | | Rate | Tony Lin created some classes that can read these three popular image formats, and includes an MFC demo app. The Jasper coder is used for JEPG2K support. |
codecs.org | | Rate | codecs.org is a meta-project containing a wide range of tools and libraries designed to improve the state of codecs and their optimization. This includes libcodec, which contains routines for forward and reverse DCTs, MPEG motion compensation and estimation, block placement, etc. |
jpg2html | | Rate | jpg2html converts JPEG images into HTML. A series of jpg2html procedures are being written to explore different means and different effects. |
JPEG-2000 |
Almacom JPEG-2000 library | | Rate
| The page says: The Almacom JPEG-2000 library was written in an effort to produce the cleanest and simplest implementation possible of the JPEG-2000 standard. We have put a particular emphasis on good architecture design and code simplicity, while at the same time providing an implementation as complete and efficient as possible.
DataCompression.info user Luca M. said I was looking for a good library of wavelets. Now I've found it ! |
Luratech | | Rate
| Luratech has plugins and an SDK for both their proprietary format and JPEG2000. Products come in a dizzying array of options, ActiveX controls, C-SDK, Java-SDK, plugins for PhotoShop or browsers. Note that some of their products can now be downloaded as freeward!
Note: What was once LuraTech is now Algo Vision LuraTech. |
jp2IE - JPEG2000 ActiveX Control for Internet Explorer | | Rate
| The jp2IE control is an extension of Microsoft뭩 Internet Explorer and allows the display of JPEG/JPEG2000 compressed files. It is based on the IJG implementation of the JPEG Standard Part 1/2 (ISO/IEC 10918-1/2) and the JASPER implementation of the JPEG2000 Standards Part 1 (ISO/IEC 15444-1). |
Classes to read and write BMP, JPEG and JPEG 2000 | | Rate | Tony Lin created some classes that can read these three popular image formats, and includes an MFC demo app. The Jasper coder is used for JEPG2K support. |
JPEG 2000 Browser Plugin | | Rate | Elysium says that this product is the first publicly released JPEG 2000 plugin for the Windows platform. It works with Netscape, Opera, and IE browsers, and is free. |
JPEG-LS |
Lossless JPEG Codec | | Rate
| A freely redistributable lossless JPEG codec. Encoder, decoder, man pages, full C source, and some documentation. |
LOCO-I/JPEG-LS Software Download Page | | Rate
| HP offers some free JPEG-LS software, including a Windows DLL, PhotoShop plugin, and reference executables good on several platforms, including Windows, Linux, Solaris, and of course, HP-UX.
One anonymous reader dissed the package with this comment: Not particularly user friendly. |
JPEG-LS Public Domain Code | | Rate | A free implementation of the upcoming JPEG-LS compression standard. |
LHA |
Micco's Home Page | | Rate
| Home of LHMelt, UNLHA32.DLL, UNARJ32.DLL. All text on this page is in Japanese, except for a single link pointing to English information on UNLHA32.DLL. |
LHA Library for Java | | Rate | jLHA is a Java library that supports reading and writing of LHA archives. It attempts to use the same interface as the java.util.zip package. It looks like there was a burst of activity in the spring of 2002, not much activity since them. |
Huffman Compression Engine | | Rate | This program is currently capable of reading and extracting files made with LHA and other utilities that generate .lzh files, from -lh4- to -lh7-. The foundation of the algorithm for this program like ARJ is based on Haruhiko Okumura's work on ar002, which was the foundation of LHA. Unlike Haruhiko's work however, the dictionary size is dynamic and currently allows for dictionary sizes of up to 64KB. On larger files, compression of files is usually 0.5% to 5% tighter than PKzip, and work in progress will likely yield even better results. Files created with this utility natively create -lh7- signed archives, which on larger files results in slightly better compression than that of lha32 by Haruyasu Yoshizaki. |
Lossless Compression |
Charles Bloom's binary executables | | Rate
| Includes WaveVideo, PPMZ, LZP, and WaveCode. Charles has source for most of this stuff available elsewhere on his page. |
Lzip | | Rate
| Lossy data compression which can reduce input files to 0% of their size. Hint: product was released April 1, 2000.
DCL reader Tim A. marvels: Wow! it's even faster than tarring to /dev/null! |
The LPAC Homepage | | Rate
| LPAC is a codec for lossless compression of 8, 12, 16, 20, and 24 bit audio files. It has cross-platform support for Windows, Linux and Solaris. Direct playback of LPAC files is possible with a Winamp plug-in. A satisfied user tells the DCL Compression on the material I use is superior to the FLAC encoder. |
The UCL Compression Library | | Rate
| UCL is a portable lossless data compression library written in ANSI C. This work is from Markus F.X.J. Oberhumer, known for LZO, UPX and more.
DataCompression.info reader Swift G. had this to say: Excellent library. The compression routines are fast and if you need binary compression this is the way to go. |
UnicodeCompressor : another alphaworks technology | | Rate | IBM has developed a pair of Java clases that compress Unicode according to the Standard Compression Scheme for Unicode. Looks like they might be giving it away here. |
libmspack - A library for Microsoft compression formats | | Rate | A project whose goal is to implement libraries to support the various and sundry compression formats that Microsoft has cooked up over the years. Early in the process, much work left to be done. |
MG4J: Managing Gigabytes for Java? | | Rate | A Java implementation of the inverted-index compression systems described in the book Managing Gigaybtes. This GPLed effort doesn't appear to have any connection with Witten, Moffat, or Bell.
Version 0.8.2 is shipping in October, 2003. |
DIUcl | | Rate | DIUcl is a freeware port of UCL to Borland's Delphi language. UCL is the compressor used in the UPX Ultimate Packer for Executables by Markus F.X.J. Oberhumer. Decompression is extremely fast, and requires very little memory. The author claims that the decompressor fits into less than 200 bytes of code. Supports in-place compression and decompression. Using DIUcl is very simple: There's a compress() function that compresses a block of memory, and there's a decompress() function that handles decompression. Real-time decompression should be possible for virtually any application, which makes DIUcl the ideal tool to compress your database Blob fields.
Version 1.10 is shipping as of June, 2003. |
OptimFROG SDK | | Rate | Florin Ghido has packaged his lossless compressor into a nice SDK - take advantage of his great audio compression in products of your own. |
FLAC - Free Lossless Audio Coder | | Rate | FLAC is an open-source project which specifies a lossless compressed audio format and provides an encoder, decoder, and several player plugins. Aside from yielding better compression than Shorten, the format supports sample-accurate seeking and many other features useful for streaming and archival.
Reader Colin B. says: Incredible lossless audio compression, depending on the source, of course. I have seen high-quality speech recordings compressed to 10% of the original size, losslessly..
FLAC 1.1.0 released in January, 2003. A good roster of new features for this coder, including updates for libraries and plugins. |
BitMagic | | Rate | BitMagic is C++ library designed and developed to implement efficient platform independent bitsets, with the following key features: - Several types of on-the-fly adaptive compression.
- Dynamic range of addressable space of 232 bits.
- Efficient memory management.
- Serialization in platform independent, compact format suitable for storing in files and databases.
- Performance tuning for 32-bit and 64-bit systems.
Version 3.1.4 shipped August, 2003. |
CodeProject: Compress Data | | Rate | A new article on The CodeProject describing code to compress/decompress to/from an ISequentialStream interface. Code is supplied to implement this for Cfile and CByteArray. The compression itself is done via zlib. The rationale for this project is that the author needed cookbook code that worked with MFC objects. |
LZO |
The LZO home page. | | Rate
| LZO is a compression library designed for real time projects that need fast compressors and decompressors. LZO is free under the GPL. Current release is LZO 1.07. |
The UCL Compression Library | | Rate
| UCL is a portable lossless data compression library written in ANSI C. This work is from Markus F.X.J. Oberhumer, known for LZO, UPX and more.
DataCompression.info reader Swift G. had this to say: Excellent library. The compression routines are fast and if you need binary compression this is the way to go. |
Not Really Vanished | | Rate
| The home page for NRV, the next generation successor to LZO. NRV is a portable lossless data compression library written in C++. It offers pretty fast compression and *very* fast decompression. Decompression requires no memory. NRV is free under the GPL.
DCL reader Luigi T. saidIt would be very useful for my needs, but at the moment the source code seems to not be available. |
LZO download site | | Rate | The primary site for downloading LZO files. This includes mini-LZO, a shrunk down version of the LZO library, Perl-LZO, and Python-LZO. |
LZO.Net | | Rate | A .NET wrapper around the native LZO libraries. |
LZ77/LZSS and derivatives |
lz.adb | | | Ada source for compression based on the LZH package. |
Collake Software - JCALG1 | | Rate
| Home of JCALG1, an LZSS derived lossless compression algorithm with full x86 32bit assembly source. Data Compressioni Library user comment: I found LZSS C source and an EXE. The EXE was useful for testing. I expect to use this in an embedded app after further research.. |
The African Chief | | Rate | The African Chief has a variety of compression programs listed here, including units for Delphi and Turbo Pascal. Techniques supported include LZSS and Zip. Most appear to include source. |
Tlzrw1 : Delphia compression component with LZH and LZRW1/KH | | Rate | The LZH and LZRW1/KH routines are from the SWAG Pascal code archive. |
TLZHCompressor a compression component for Delphi | | Rate | This unit implements a component which allows the user to compress data using a combination of LZSS compression and adaptive Huffman coding (Similar to that use by LHARC 1.x), or conversely to decompress data that was previously compressed by this unit. |
BriefLZ | | Rate | An Open Source library that implements an LZSS algorithm, designed for speed. ANSI C, with 16- and 32-bit x86 assembler versions available as well. |
JCALG1 | | Rate | JCALG1 is a small, open-source, LZSS derived compression library. - Features Coded in 100% 32bit x86 assembly language for maximum performance and minimum size.
- Good compression ratio, typically much better than ZIP's deflate.
- Extremely small and fast decompressor.
- Adjustable window size to allow for faster compression at the cost of compression ratio.
- Decompression requires no memory, other than the destination buffer.
- Easy integration with any application.
- Free!
|
LZMA SDK From 7-Zip | | Rate | Igor Pavlov has released his LZMA code in a separate SDK, and is claiming excellent performance characteristics that make this a potential hit in the embedded world. |
The Standard Function Library: Compression Functions | | Rate | The guys at iMatix had the idea that they could write a super-library of C functions that woud be so useful it would rule the world. As far as I can tell, it didn't catch on. However, there are a few compression functions here that some folks might find interesting. |
Free DCL Decompressor | | Rate | Mark Adler built a decompressor that is able to read streams built with PKWare's Data Compression Library. Since PKWare hasn't released source for DCL, this is a very good thing, and free to boot. |
LZ78/LZW and derivatives |
Java PDF Libraries | | Rate
| A variety of libraries that can be used to read and write PDF format. |
MP3/MPEG Audio |
ID3/mp3info | | Rate
| ID3 (or mp3info as it is called on Sourceforge) is a collection of classes useful for reading ID3-tags and ID3v2-tags as well as technical information on the file like bitrates and playing times. It also includes an API to write ID3 (V1 and V2) tags to an mp3 file. |
Yet another java id3 lib | | Rate | A Java library that lets you read and write the ID3 tags embedded in MP3 files. Yep, it's free. |
Winamp OpenSource LCD Plugin for various LCD & VFD modules | | Rate | With this plugin your copy of Winamp will display track information on an LCD display attached to your PC. Just the thing if you're looking to set up a jukebox of some kind, maybe in your car. Windows, free. |
PlusV | | Rate | PlusV is a brand new audio compression enhancement technology that allows audio files to be compressed in as little as 64 or even 48 kbits/s. PlusV is not a compression scheme of its own, it is an extension that can be applied to existing audio formats. When combined with the MP3 technology, MP3+V files are fully compatible with existing MP3 files and decoders. To get full audio quality out of PlusV files, you just need a PlusV capable decoder, like a PlusV capable WinAmp plugin. |
MP3Sharp: JavaLayer C# Port | | Rate | A straight-up port of the JavaZoom MP3 library to C#. |
getID3() | | Rate | This PHP script reads ID3 tags from MP3 files, as well as tons of other tag types from various other audio and other media files. |
CWinamp - more than just a Winamp2 API wrapper | | Rate | A wrapper class that allows you control the Winamp MP3 player from your Visual C++ app. |
MPEG |
FFmpeg Streaming Multimedia System | | Rate
| The FFmpeg project consists of two main parts: FFmpeg, which encodes and decodes the multimedia streams, and FFserver, which provides streams via HTTP for various multimedia clients. FFMpeg is completely portable since it does not rely on proprietary DLLs. The library libavcodec, which contains all the ffmpeg codecs, can be reused in any program licensed under the GNU General Public License.
Version 0.4.8 is shipping in September, 2003. Tons of new stuff in 0.4.7, a bit more in 0.4.8. |
RareWares AAC Page | | Rate
| A nice collection of AAC software, including encoders, decoders, and miscellaneous plugins. |
DecMPA - Simple MPEG Audio Decoder Library | | Rate
| The goal of DecMPA is to provide simple and efficient MPEG audio decoding routines, nothing more and nothing less. It does not contain any playback functionality - basically you just shove MPEG audio data in and get decoded PCM audio data out. Everything that is not directly connected with MPEG decoding is beyond the scope of this library. This also has the nice side-effect of making DecMPA highly portable because it hardly uses any operating system services at all.
Reader Jacob says: Very easy to use, well documented... |
Project Mayo | | Rate
| An open source group working on creating an MPEG-4 codec. The site has projects that support a core MPEG-4 codec, players for Linux, Windows, and the Mac, and streaming code. |
Free MPEG Software! | | Rate
| Lots of links to free software from the MPEG Simulation Group. |
FFDShow FFDShow MPEG-4 Video Decoder | | Rate | FFDShow MPEG-4 Video Decoder is a DirectShow decoding filter for decompressing DIVX movies, picture postprocessing, and show subtitles. It uses libavcodec from ffmpeg project or for video decompression (it can use xvid.dll installed with xvid codec too), postprocessing code from mplayer to enhance visual quality of low bitrate movies, and is based on original DirectShow filter from XviD, which is GPL'ed educational implementation of MPEG4 encoder |
ooMPEG: object-oriented MPEG decoder | | Rate | The description from the site: ooMPEG is a reentrant multi-threaded MPEG decoder written in C++. ooMPEG is based on the MPEG Library, a wrapper written around the Berkeley MPEG decoder. The original was written in C by Greg Ward at McGill, and could only play a single MPEG movie in a single thread.. |
MMXDCT | | Rate | MMXDCT is an implementation of 8x8 FDCT/IDCT with MMX technology. With the help of MMX, only about 1000 CPU cycles are needed to do an 8x8 IDCT. |
libdvbpsi | | Rate | This nice little library is designed to perform the decoding and generation of all Program Specific Information in MPEG-2 TS and DVB streams. The project says that it currently supports the Program Association Table in MPEG-2 and the Program Map Table in MPEG-2. |
IvyTV | | Rate | IvyTV seeks to create an open source kernel mode driver for the iTVC15 familiy of MPEG codecs, which are found on the Hauppage PVR capture cards. |
Maaate: The Australian audio analysis toolkit | | Rate | Maaate consists of a set of libraries that let you analyze the audio streams encoded in MPEG files. Besides simply parsing the audio out of MPEG files, it also does some sort of energy detection, silence analysis and more. But reading between the lines I think this library's strength is supposed to be a nice architecture that lets you easily add the modules you need for your work. |
GPL MPEG-1/2 DirectShow Decoder Filter | | Rate | GPL MPEG-1/2 Decoder is a free DirectShow MPEG decoder filter. It can be used to play MPEG-1 and MPEG-2 streams in any media player based on DirectShow. In addition, it can be used as DVD decoder for unencrypted discs. |
GPAC | | Rate | GPAC is an implementation of the MPEG-4 Systems standard (ISO/IEC 14496-1) developed from scratch in ANSI C. The main development goal is to provide a clean (a.k.a. readable by as many people as possible), small and flexible alternative to the MPEG-4 Systems reference software. The MPEG-4 Reference software is indeed a very large piece of software, designed to verify the standard rather than provide a small, production-stable software. GPAC is written in ANSI C for portability reasons (embedded platforms and DSPs) with a simple goal: keep the memory footprint as low as possible. The project will at term provide a 2D/3D core player, complete MPEG-4 Systems encoders and publishing tools for content distribution.
Version 0.1.4 is shipping as of May, 2004. |
OpenIPMP | | Rate | The folks at OpenIPMP are busy trying to create open standards for Digital Rights Management to work with MPEG streams. It appears that MPEG-4 is where the work is being done right now. Read the "Background" page for a pretty good synopsis of what they are doing and where they are going.
Version 0.8.0 of their software is shipping in May, 2003. |
codecs.org | | Rate | codecs.org is a meta-project containing a wide range of tools and libraries designed to improve the state of codecs and their optimization. This includes libcodec, which contains routines for forward and reverse DCTs, MPEG motion compensation and estimation, block placement, etc. |
ezMPEG | | Rate | ezMPEG is an easy-to-use and easy-to-understand MPEG1 video encoder API. The author says I started this project because I wanted to know how MPEG works and the best way to learn it is to implement my own encoder. So I downloaded the ISO specs and began to read and code. My implementation doesn't have the goal to be better than all the others. The goal is to have a simple, portable and esay to understand code for all the people (and for me) who wants to know how a MPEG1 video encoder works.
Version 0.1b of this library shipped in April, 2003. It is still listed as being in Alpha status, so temper your expectations for right now. |
Libmpeg3 | | Rate | A library the provides the functions you need for editing MPEG streams. MPEG streams were really not created with editing in mind, so a library like this needs to take into account a lot of quirky things.
Version 1.5.4 is shipping as of February, 2004. |
Nvideo-Tech | | Rate | These guys make the MpegDecSdk, which appears to be a free library for Windows and Linux. Way short on documentation at this point! |
XviD.org - Home of the XviD Codec | | Rate | This project is developing an open source MPEG-4 codec. The code is currently ported to Solaris, Win32, and Linux.
Version 1.0RC3 is shipping in March, 2004. |
PNG |
PNG Source Code and Libraries | | Rate
| The source for libpng and zlib. Can't do PNG without them. |
Toolkits and Programming Libraries with PNG Support | | Rate
| Toolkits and Programming Libraries with PNG Support |
QuickTime Components Project | | Rate | This site is dedicated to open source QuickTime development for popular open source audio and video codecs. We are currently working on Ogg Vorbis, an audio codec developed by Xiphophorus, and MNG, an animation video codec. |
PNGWriter | | Rate | I can't imagine a better description of this product than is found on the first line of their web page: "PNGwriter is a C++ class for creating PNG images." And yes, it's a free library, and it's portable as all get-out, working on Win32, Linux, Mac OS X, and more.
Version 0.3.7 shipped in October 2003. |
libmng | | Rate | The MNG file format exists to provide a way to create animated graphics based on the PNG format. Programs that want an easy way to display and manipulate mng format files can use libmng, which is found here.
Version 1.0.5 of libmng is shipping as of March, 2003. TNGImage 1.2 (the Delphi Wrapper for libmng) shipped in April, 2003. |
zlib and libpng for Windows CE | | Rate | Kazuo Adachi ported both of these important packages to Windows CE and Windows CE .Net. This includes binaries for what I believe are all the currently support CPUs. |
PPM |
Compress::PPMd | | Rate | Salvador Fandi? Garc? has created a Perl interface to Dmitry Shkarin PPMd compression library.
Version 0.05 is shipping as of March, 2003. |
Run Length Encoding/RLE |
Basic Compression Library | | Rate
| Marcus Geelnard has created a batch of compression routines that you can plug and ply into your programs at will. Marcus is using the wonderfully open zlib license, which means thare are just about no reason you can't use this code. The 1.0.5 added an LZ77 codec to the RLE, Huffman, and Rice coders Satisfied user Todd W said: I needed a simple set of compression routines for use in an embedded system. I must be able to store a fair amount of information in a small EEPROM as a generic database. The Huffman coder works very well in the application and has met my needs exactly! Very nice! |
SFastPacker | | Rate | This is the Assembler code used to compress or decompress some data by modified RLE algorithm. The ZIP file contains ASM/OBJ files + a PAS unit which represents packing functions in easy to use manner (can compress files, streams etc) and can be used in Delphi applications. |
The Standard Function Library: Compression Functions | | Rate | The guys at iMatix had the idea that they could write a super-library of C functions that woud be so useful it would rule the world. As far as I can tell, it didn't catch on. However, there are a few compression functions here that some folks might find interesting. |
Speech |
Cysip DSP Courses | | Rate
| These folks offer some seminars on communcations. On their page, if you go to the links to free software, you will find Matlab code for CELP and LPC Vocoders. This same page also has a wide variety of links for speech coding stuff. |
The OpenH323 Project | | Rate
| This open source project aims to create a free H.323 stack. The project was started as a reaction to the high cost of commercial implementations of audio and video compression code implementing the various components of H.323. Roger H. adds There are now several useful applications which use the library including OpenMCU (a reliable multi person conference server) and GnomeMeeting (a GTK/Gnome GUI client for Linux/BSD Unix.
Version 1.13.13 of OpenH323 shipped in Marh, 2004. |
Hawk Software HawkVoice | | Rate
| HawkVoice is a game oriented, multiplayer voice over network API released under the GNU Library General Public License (LGPL), with support for Linux/Unix and Windows 9x/ME/NT/2000. It is designed to be a portable, open source code alternative to DirectPlay(R) Voice in DX8. |
OpenLPC Codec | | Rate
| A low bitrate codec, described as being derived from the work of Ron Frederick. Freeware. |
Speex | | Rate
| The Speex project aims to build a patent-free, Open Source/Free Software voice codec. Unlike other codecs like MP3 and Ogg Vorbis, Speex is designed to compress voice at low bitrates in the 8-32 kbps/channel range. Possible applications include VoIP, internet audio streaming, archiving of speech data (e.g. voice mail), and audio books. In some sense, it is meant to be complementary to the Ogg Vorbis codec.
Speex 1.1.5 was released in April, 2004. |
Open G.729(A) Initiative | | Rate | VoiceAge, of Montreal, announces the "Open G.729(A) Initiative," which allows developers to freely use their G.729(A) codec object code for non-commercial purposes. This initiative provides you with an opportunity to work with the G.729(A) codec for free while developing products or applications. Take advantage of voice compression to prove that VoIP works efficiently and provides good voice quality.
Note: this site went all-Flash - which means you will have to navigate to the Open G.729 page manually. |
Suffix Trees |
ANSI C implementation of a Suffix Tree | | Rate | A C implementation of a Suffix Tree. This project also includes a Perl module that can use the C code. |
Video |
The OpenH323 Project | | Rate
| This open source project aims to create a free H.323 stack. The project was started as a reaction to the high cost of commercial implementations of audio and video compression code implementing the various components of H.323. Roger H. adds There are now several useful applications which use the library including OpenMCU (a reliable multi person conference server) and GnomeMeeting (a GTK/Gnome GUI client for Linux/BSD Unix.
Version 1.13.13 of OpenH323 shipped in Marh, 2004. |
Charles Bloom's binary executables | | Rate
| Includes WaveVideo, PPMZ, LZP, and WaveCode. Charles has source for most of this stuff available elsewhere on his page. |
On2 Technologies VP3.2 Open Source Project | | Rate
| These folks are hard at work on an open source video codec. VP4 appears to be a commercial effort, VP3 seems to be free.
One DataCompression.info user had this to say: Impressive effort by both ON2 and Xiph. Something has to replace MPEG with its rapidly deteriorating technnology and efficiency. This one has the potential but now needs the acceptance. |
Advanced Multimedia Processing Lab | | Rate
| This lab at CMU seems to be doing some interesting things with video compression. At a minimum, they have an H.263 codec you can download. |
Public Source Code Release of Matching Pursuit Video Codec | | Rate
| This codec appears to use techniques which are compatible with H.263 and MPEG-2, although it is not compatible with those standards. The Matching Pursuit algorithm is used in place of DCT after motion compensation. |
H.263/H.263+ Research Library, Release 0.2 | | Rate
| A free H.263 library. |
OpenH263 Software Implementation | | Rate
| The open source project to create an H.263 codec. No output yet! |
Dali | | Rate | Dali is a project at Cornell that aims to create a programming environment dedicated to the manipulation of video, audio, and image data. Naturally, this includes multiple codecs for various data types. |
Codec Pack All in 1 | | Rate | A collection of codecs for playing DivX movies. All you need to see DivX movies: DivX, XviD, AC3.
Version 6.0.0.8 of this collection shipped in April, 2004. |
Helix DNA Producer SDK Project Home Page | | Rate | The Helix DNA Producer is a project that Real Networks has dropped into the open source space. Producer is a platform for creating streaming content and downloadable media files. |
mjpgTools | | Rate | mjpgTools is an encapsulation of the JPeGlib and MJPeGtools and several other useful routines into a single Win32 DLL. This is an Open Source project, so have at it. |
Ogg Theora | | Rate | Theora is the first video codec from Xiph.org, keepers of Ogg. Theora is based on the VP3 codec from On2. |
DWIT Video Codec Homepage | | Rate | To quote the page: The DWIT video codec is a real-time Differential Wavelet Integer-based Transform software video codec that runs on SGI Octane and O2 workstations. The codec is written in C++ and is distributed under GNU Copyleft. |
MediaPipe | | Rate | MediaPipe is a flexible framework to manipulate media on MacOS X. It allows you to build decoding, filtering, encoding and even streaming pipelines that correspond exactly to your needs. Additionally, if a format is not supported, or a transformation missing, it features an SDK that allows you to quickly implement the pipe you want. |
AVI File Support Library | | Rate | This open source project gives you the ability to read and write AVI files under Linux. The really interesting part about all that is that this is done using the Win32 DLLs from Microsoft to do the compression and decompression. Clever!
The avifile component is shipping version 0.7.37 as of May, 2003. |
Wavelets |
Charles Bloom's binary executables | | Rate
| Includes WaveVideo, PPMZ, LZP, and WaveCode. Charles has source for most of this stuff available elsewhere on his page. |
Luratech | | Rate
| Luratech has plugins and an SDK for both their proprietary format and JPEG2000. Products come in a dizzying array of options, ActiveX controls, C-SDK, Java-SDK, plugins for PhotoShop or browsers. Note that some of their products can now be downloaded as freeward!
Note: What was once LuraTech is now Algo Vision LuraTech. |
GWIC - GNU Wavelet Image Codec | | Rate | From the site: GWIC is a simple, fast and relatively efficient lossy image compression algorithm designed for compression of natural images. Currently both gray scale (8 12 and 16bpp) and RGB-images are supported, but in future support for alpha-channels is planned. GWIC is still in the middle of the designing phase, and thus should not yet be used in any real applications, since the file-format and algorithms are likely to change.. |
DWIT Video Codec Homepage | | Rate | To quote the page: The DWIT video codec is a real-time Differential Wavelet Integer-based Transform software video codec that runs on SGI Octane and O2 workstations. The codec is written in C++ and is distributed under GNU Copyleft. |
Zip |
UnZip-Ada | | | A pure Ada decompression library. You can extract files from zip archives using this library, although you can't create them.
Release 11 shipped in November of 2002. |
The Zip, GZip, BZip2 and Tar Implementation For .NET | | Rate
| #ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
Visitor Samuel L. had this to say Extremely useful and well written, well done, great that is open source. |
Zippity Do Dah | | Rate
| Al Williams wrote an excellent article on using the Info-Zip DLLs to manipulate Zip files. There are lots of commercial libraries that let you access Zip files, but your choices in free software are few and far between. So if you need a free solution, Al's article is a must-read. Many thanks to Al for getting this back on line after Visual Developer's web site disappeared. |
Delphi Zip/Unzip Package, v1.10 For Delphi v2+ | | Rate
| Contains VCLs, examples, and DLLs for Delphi v2. Gives your programs full support for PKZIP v2.04g compatible file compression/expansion. 100% Freeware. Based largely on the InfoZip project. |
Zip Library | | Rate
| This library, found on the code project, is an MFC compatible set of code that handles most operations you would want to do on Zip files. Notably, it includes support for multi-disk archives. |
CInfoZip | | Rate
| CInfoZip by Alchemy Lab is an MFC class that makes it easy to add Zip support to your C++ programs written using Visual C++. Despite the fact that Alchemy Labs is a commercial operation, they're giving this code away for free. |
BCB and Delphi Freeware Zip Component page | | Rate
| A set of components and DLLs that allow you to manipulate zip files from within your Delphi or C++ Builder programs. It's all free. Don't know ifyou can use the DLLs with any other languages. |
The Fortran interface to read gzipped files | | Rate | libfgz lets you read and write gzipped files from Fortran.
Version 0.2 is shipping as of August, 2003. |
JazzLib | | Rate | This project provides an implementation of the java.util.zip classes. The code is pure java (no native code is used), and aims to be compatible with existing java.util.zip implementations.
Version 0.06 of jazzlib shipped in January of 2003. This product is still under development, but I don't have a clear roadmap, no idea when to expect a 1.0 release. |
Zip Home Page | | Rate | Zip is a free .NET Zip File library which works with C# or other languages that use the CLR. |
The African Chief | | Rate | The African Chief has a variety of compression programs listed here, including units for Delphi and Turbo Pascal. Techniques supported include LZSS and Zip. Most appear to include source. |
Rubyzip | | Rate | Rubyzip is a ruby module for reading and writing zip files.
As of March, 2004, Rubyzip is shipping version 0.5.4 |
Delphi Zip v1.10 DLL Source Code | | Rate | This archive contains the C language source code for the 2, DLLs in the Delphi Zip package: ZIPDLL.DLL and UNZDLL.DLL. This archive includes makefiles for Microsoft VC++ v4.0. 100% Freeware. Based largely on the InfoZip project. |
The Zziplib library | | Rate | An open source library that does one thing only: extract files in a Zip archive, as long as they are stored or deflated.
Release 10.82 was shipped in July, 2003. |
GNOME Structured File Library | | Rate | A library that allows you to read various types of structure files in the GNOME environment. Structure files includes MS OLE2 streams, as well as Zip files. |
ModZipRead | | Rate | Mod ZipRead is an Apache 2 module to browser Zip Archives. It uses zziplib. |
Win32 Wrapper classes for Gilles Volant's Zip/Unzip API | | Rate | This article is an addition to an earlier CodeProject posting that was designed to make your life easier when working with Zip files. The previous article had support for extraction and navigation of Zip files. This article adds support for creation of Zip files. |
Compression and decompression using the Crypto++ library | | Rate | This article from the archives of The CodeProject describes how to use the free library to perform in-memory compression and decompression. |
The Data Compression Newsletter #11 -The CodeProject Zip Library | | Rate | Issue #11 of the DDJ Compression Newsletter contains some sample code that uses the Zip library from The CodeProject to create a little unzip program. A very simple program that uses a free library to get a lot done. |
Zipios++ | | Rate | A C++ open source library for accessing zip files. This is a work in development, which as of the current beta now has support for reading and writing Zip files. Distributed under the LGPL. |
PKZip library for PHP | | Rate | This project is still in beta. The current release provides the ability to manipulate zip archives by adding and removing files. |
TurboPower Abbrevia | | Rate | TurboPower has given up on the retail library business, and will be placing most of their products into an open source state. Abbrevia is TurboPower's compression library. It appears that version 3.05 is in beta as of August, 2003. |
C++ wrapper for Gilles Vollant's Unzip API | | Rate | DanG presents an extended yet simplified interface to querying, filtering and extracting multiple files from a zip archive. |
ZipArchive - A library for C++ programmers | | Rate | This library adds zip compression and decompression functionality to your program, allowing you to create and modify ZIP files in a compatible way with WinZip, PKZIP and other popular archivers. Its easy and practical interface makes the library suitable for the beginners as well as for the advanced users. The library is published under the GPL - alternate licensing needs to be arranged if you wish to use this in a commercial product. |
Crypto++ 4.0 | | Rate | Crypto++ is a free compression library, that just happens to support a Zip compatible algorithm. |
XZip and XUnzip - Add zip and/or unzip to your app | | Rate | This CodeProject article gives you support for both zipping and unzipping files from archives without requiring a lib or dll. The code is absolutely free.
Update posted June 20, 2003. |
Easy Way to Read/Write Zip-Compatible Files Under MFC | | Rate | Larry Leonard has created this CodeProject article with the goal of making it super easy to read and write Zip files from your MFC project. There are some limitations to this project, such as a limit of one file per archive, no disk spanning, and no encryption, but he has definitely made it easy to use. Three lines of code and you're done! |
zlib |
zlib for WinCE | | Rate
| Source code and demo projects from Ciprian Miclaus. Ciprian said he created this because the only other available port for CE did not include source.
DCL reader Mike P. said Very good ... especially that I found on the same site a port of libbzip2 for WinCE. Excellent ... exactly what my project needed. |
The Zip, GZip, BZip2 and Tar Implementation For .NET | | Rate
| #ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
Visitor Samuel L. had this to say Extremely useful and well written, well done, great that is open source. |
Zlib | | Rate
| The zlib home page. zlib is a free software package that implements the deflate compression algorithm popularized in PKWare's PKZIP product. zlib is designed to be patent free, and is free or restrictions.
Version 1.2.1 is shipping as of December, 2003. |
ZLIB for Visual Basic | | Rate
| Download ZLIB for Visual Basic (26kB 24-8-97) ZLIB has been ported to an .OCX by Mark Nelson. If you don't want the overhead of an .ocx, you can use this zlibvb.bas file (module) to give you access to the basic routines. In order to use it, you're going to need one of the ZLIB.DLL files from the ZLIB page; I've included one of them in the .zip file.
Note: If the link on this page doesn't work, try this oneinstead. |
Zlib for the Palm Pilot | | Rate
| A test version of zlib ported to the 3Com Pilot |
JazzLib | | Rate | This project provides an implementation of the java.util.zip classes. The code is pure java (no native code is used), and aims to be compatible with existing java.util.zip implementations.
Version 0.06 of jazzlib shipped in January of 2003. This product is still under development, but I don't have a clear roadmap, no idea when to expect a 1.0 release. |
Zip Home Page | | Rate | Zip is a free .NET Zip File library which works with C# or other languages that use the CLR. |
JZlib -- zlib in pure Java | | Rate | This project is an attempt to hoist zlib out of the C world and into pure Java land. This allows Java developers to take advantage of a few zlib features that aren't available in the standard JDK packages. LGPL license.
Version 1.0.4 of Jzlib was shipping as of March, 2004. |
Compress::Zlib and LZO bindings for Perl | | Rate | This ftp directory contains the source code to provide Perl bindings for two different compression library products: zlib and LZO. |
PalmZLib | | Rate | A port of Zlib to the Palm O/S platform. Creates a free shared library, and reportedly is used in one app to decompress PNG images. |
zipstream, bzip2stream: iostream wrappers for the zlib and bzip2 libraries | | Rate | This article describes STL-compliant iostream implementations that compress and decompress using the deflate and bzip2 algorithms. It makes it really easy to use compressed streams in your C++ app.
Updated July, 2003, to fix a gzip header problem.
Updated August, 2003 to fix a couple of minor problems. |
ZLib.Ada. | | Rate | ZLib.Ada is a thick binding to the popular compression/decompression library ZLib. It is providing Ada style access to the ZLib C library. |
Zlib compression / decompression wrapper as ISequentialStream | | Rate | This is a first shot at wrapping zlib compression library behind a COM IStream interface. The library provides a pure ATL C++ implementation and a simple demo COM based implementation. Both take an IStream as an initializer and compress/decompress on the fly on the Read and Write methods. |
Bob Crispen's Port of Zlib to lcc | | Rate | Win-GZ is built for the Win32 environment using Jacob Navia's lcc-Win32. The zip file referenced here contains the modifications needed to get zlib to build under this environment. |