A few months ago I started writing a .MPO (multiple pictures object) library in C based on libjpeg. This format is used to store 3D images (and some other formats).
Sadly I don't have much time and it's not finished yet (might finish it later) but I thought someone might be interested.
http://github.com/Lectem/libmpo
Here is a copy of the README :
Code: Select all
Main goal :
*Load / Write Stereoscopic 3D images (Multi-frame Disparity) through libjpeg.
*Give others enough material to work with
*No exif library needed (though you'll probably want to use one)
Currently working :
*Decompression (see examples/decompress.c)
*Basic compression
*Compression of 3d stereo files, compatible with Nintendo 3DS and NVidia 3D viewer. Look at the example for more details
Requirements :
*libjpeg8 or later
Documentation
*The doxygen documentation is automatically generated after each commit. You can find it here.
TODO (In order of priority):
*Give a good interface for compression
*Simplify usage of MPF attributes
*Decompression : fix the image attributes parsing
*A good refactoring
*Remove printf and other debugging stuff
*Everything else
Will not be done :
*Exif and other markers support (you should be able to write/read it trough your own handlers and libjpeg)
Might not be done :
*Helper functions for non stereoscopic images