]> granicus.if.org Git - libjpeg-turbo/commit
TurboJPEG C API: Add BMP/PPM load/save functions
authorDRC <information@libjpeg-turbo.org>
Fri, 17 Nov 2017 00:09:07 +0000 (18:09 -0600)
committerDRC <information@libjpeg-turbo.org>
Sat, 18 Nov 2017 01:32:52 +0000 (19:32 -0600)
commitaa7459050d7a50e1d8a99488902d41fbc118a50f
tree6fbdafe8261f0be3bd31981c603bdb9b6fd2ae56
parent087ec126c13f9ddaacbcc97263e1b1454ad27297
TurboJPEG C API: Add BMP/PPM load/save functions

The main justification for this is to provide new libjpeg-turbo users
with a quick & easy way of developing a complete JPEG
compression/decompression program without requiring them to build
libjpeg-turbo from source (which was necessary in order to use the
project-private bmp API) or to use external libraries.  These new
functions build upon significant enhancements to rdbmp.c, wrbmp.c,
rdppm.c, and wrppm.c which allow those engines to convert directly
between the native pixel format of the file and a pixel format
("colorspace" in libjpeg parlance) specified by the calling program.
rdbmp.c and wrbmp.c have also been modified such that the calling
program can choose to read or write image rows in the native (bottom-up)
order of the file format, thus eliminating the need to use an inversion
array.  tjLoadImage() and tjSaveImage() leverage these new underlying
features in order to significantly improve upon the performance of the
old bmp API.

Because these new functions cannot work without the libjpeg-turbo
colorspace extensions, the libjpeg-compatible code in turbojpeg.c has
been removed.  That code was only there to serve as an example of how
to use the TurboJPEG API on top of libjpeg, but more specific, buildable
examples now exist in the https://github.com/libjpeg-turbo/ijg
repository.
24 files changed:
CMakeLists.txt
ChangeLog.md
bmp.c [deleted file]
bmp.h [deleted file]
cdjpeg.h
cjpeg.c
cmyk.h [new file with mode: 0644]
djpeg.c
doc/html/group___turbo_j_p_e_g.html
doc/html/search/all_74.js
doc/html/search/enumvalues_74.js
doc/html/search/functions_74.js
md5/md5.h
md5/md5cmp.c
rdbmp.c
rdppm.c
tjbench.c
tjunittest.c
turbojpeg-mapfile
turbojpeg-mapfile.jni
turbojpeg.c
turbojpeg.h
wrbmp.c
wrppm.c