Skip to content
Improved JPEG encoder.
Branch: master
Clone or download
Latest commit d48cfe5 Jun 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmakescripts Merge branch 'master' into dev Nov 18, 2017
doc/html Label this release 2.0 instead of 1.6 Mar 22, 2018
java Merge tag '2.0.0' Nov 11, 2018
md5 Additional code formatting tweaks May 21, 2018
release Merge tag '2.0.0' Nov 11, 2018
sharedlib Link with libm Nov 15, 2018
simd Merge tag '2.0.0' Nov 11, 2018
testimages libjpeg API: Support reading/writing ICC profiles Jan 20, 2017
win Merge tag '2.0.0' Nov 11, 2018
.gitattributes Unified CMake-based build system Nov 22, 2016
.gitignore Version bump Jul 10, 2017
BUILDING.md Clarify Android Windows build instructions Jul 27, 2018
BUILDING.txt Merge remote-tracking branch 'libjpeg-turbo/1.4.x' into libjpeg-turbo Apr 27, 2016
Brewfile Travis: OS X official builds now use YASM Mar 5, 2018
CMakeLists.txt Default to PNG enabled May 18, 2019
CODE_OF_CONDUCT.md Add Mozilla Code of Conduct file Mar 28, 2019
ChangeLog.md Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
LICENSE.md LICENSE.md: Explain why three licenses were used Mar 31, 2018
README-mozilla.txt Consider vertical gradient in DC trellis Dec 16, 2014
README-turbo.txt Merge tag '2.0.0' Nov 11, 2018
README.ijg README.ijg: Clarification regarding JPEG 2000/XR Jul 20, 2018
README.md Fix appveyor link Apr 24, 2019
appveyor.yml Disable PNG on Windows Jun 17, 2019
cderror.h Change unsupported format message Apr 24, 2019
cdjpeg.c Improve code formatting consistency Mar 16, 2018
cdjpeg.h Merge tag '2.0.0' Nov 11, 2018
change.log change.log: Refer users to ChangeLog.md Mar 13, 2016
cjpeg.1 Improve code formatting consistency Mar 16, 2018
cjpeg.c Merge tag '2.0.0' Nov 11, 2018
cmyk.h Improve code formatting consistency Mar 16, 2018
coderules.txt Rename README, LICENSE, BUILDING text files Oct 10, 2015
djpeg.1 Merge branch 'master' into dev Nov 18, 2017
djpeg.c Improve code formatting consistency Mar 16, 2018
doxygen-extra.css Fix whitespace errors Dec 14, 2017
doxygen.config Label this release 2.0 instead of 1.6 Mar 22, 2018
example.txt Improve code formatting consistency Mar 16, 2018
jaricom.c Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
jcapimin.c Merge tag '2.0.0' Nov 11, 2018
jcapistd.c Merge tag '2.0.0' Nov 11, 2018
jcarith.c Merge tag '2.0.0' Nov 11, 2018
jccoefct.c Merge tag '2.0.0' Nov 11, 2018
jccolext.c Improve code formatting consistency Mar 16, 2018
jccolor.c Format preprocessor macros more consistently Mar 17, 2018
jcdctmgr.c Merge tag '2.0.0' Nov 11, 2018
jcext.c Const on getters Jan 24, 2015
jchuff.c Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
jchuff.h Merge tag '2.0.0' Nov 11, 2018
jcicc.c Improve code formatting consistency Mar 16, 2018
jcinit.c Fix trellis / no Huffman opt combination Dec 10, 2014
jcmainct.c Improve code formatting consistency Mar 16, 2018
jcmarker.c Merge tag '2.0.0' Nov 11, 2018
jcmaster.c Merge tag '2.0.0' Nov 11, 2018
jcmaster.h Merge remote-tracking branch 'libjpeg-turbo/1.4.x' into libjpeg-turbo Apr 27, 2016
jcomapi.c Improve code formatting consistency Mar 16, 2018
jconfig.h.in Format preprocessor macros more consistently Mar 17, 2018
jconfig.txt Merge tag '2.0.0' Nov 11, 2018
jconfigint.h.in C/SSE2 optimization of encode_mcu_AC_refine() Mar 22, 2018
jcparam.c Merge tag '2.0.0' Nov 11, 2018
jcphuff.c Merge tag '2.0.0' Nov 11, 2018
jcprepct.c Improve code formatting consistency Mar 16, 2018
jcsample.c Additional code formatting tweaks Apr 9, 2018
jcstest.c Format preprocessor macros more consistently Mar 17, 2018
jctrans.c Merge tag '2.0.0' Nov 11, 2018
jdapimin.c Merge remote-tracking branch 'libjpeg-turbo/master' into libjpeg-turbo Apr 28, 2016
jdapistd.c Fix jpeg_skip_scanlines() segfault w/merged upsamp Jun 25, 2018
jdarith.c Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
jdatadst-tj.c Improve code formatting consistency Mar 16, 2018
jdatadst.c Merge tag '2.0.0' Nov 11, 2018
jdatasrc-tj.c Improve code formatting consistency Mar 16, 2018
jdatasrc.c Improve code formatting consistency Mar 16, 2018
jdcoefct.c Improve code formatting consistency Mar 16, 2018
jdcoefct.h Improve code formatting consistency Mar 16, 2018
jdcol565.c Improve code formatting consistency Mar 16, 2018
jdcolext.c Improve code formatting consistency Mar 16, 2018
jdcolor.c Format preprocessor macros more consistently Mar 17, 2018
jdct.h Format preprocessor macros more consistently Mar 17, 2018
jddctmgr.c fix issue #315 jddctmgr.c contains mixed declaration, which MSVC can'… Nov 30, 2018
jdhuff.c Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
jdhuff.h Additional code formatting tweaks Apr 9, 2018
jdicc.c Improve code formatting consistency Mar 16, 2018
jdinput.c Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
jdmainct.c Improve code formatting consistency Mar 16, 2018
jdmainct.h Improve code formatting consistency Mar 16, 2018
jdmarker.c Improve code formatting consistency Mar 16, 2018
jdmaster.c Improve code formatting consistency Mar 16, 2018
jdmaster.h Make IDCT method customizable Dec 23, 2017
jdmerge.c Format preprocessor macros more consistently Mar 17, 2018
jdmrg565.c Improve code formatting consistency Mar 16, 2018
jdmrgext.c Improve code formatting consistency Mar 16, 2018
jdphuff.c Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
jdpostct.c Improve code formatting consistency Mar 16, 2018
jdsample.c Improve code formatting consistency Mar 16, 2018
jdsample.h Use consistent/modern code formatting for pointers Feb 19, 2016
jdtrans.c Improve code formatting consistency Mar 16, 2018
jerror.c Improve code formatting consistency Mar 16, 2018
jerror.h Merge tag '2.0.0' Nov 11, 2018
jfdctflt.c Improve code formatting consistency Mar 16, 2018
jfdctfst.c Improve code formatting consistency Mar 16, 2018
jfdctint.c Improve code formatting consistency Mar 16, 2018
jidctflt.c Format preprocessor macros more consistently Mar 17, 2018
jidctfst.c Improve code formatting consistency Mar 16, 2018
jidctint.c Improve code formatting consistency Mar 16, 2018
jidctred.c Improve code formatting consistency Mar 16, 2018
jinclude.h Improve code formatting consistency Mar 16, 2018
jmemmgr.c Merge branch 'master' into dev Mar 17, 2018
jmemnobs.c Fix compiler warning w/ 32-bit MSVC builds Apr 1, 2018
jmemsys.h Improve code formatting consistency Mar 16, 2018
jmorecfg.h Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
jpeg_nbits_table.h Use precomputed table Jul 24, 2014
jpegcomp.h Format preprocessor macros more consistently Mar 17, 2018
jpegint.h Merge tag '1.5.1' Mar 12, 2017
jpeglib.h Merge pull request #275 from mozilla/idct-selector Nov 15, 2018
jpegtran.1 Merge branch 'master' into dev Jun 27, 2017
jpegtran.c Merge tag '2.0.0' Nov 11, 2018
jpegyuv.c Merge pull request #207 from mozilla/jpg-yuv-cleanup May 25, 2016
jquant1.c Format preprocessor macros more consistently Mar 17, 2018
jquant2.c Format preprocessor macros more consistently Mar 17, 2018
jsimd.h C/SSE2 optimization of encode_mcu_AC_first() Mar 22, 2018
jsimd_none.c C/SSE2 optimization of encode_mcu_AC_first() Mar 22, 2018
jsimddct.h Improve code formatting consistency Mar 16, 2018
jstdhuff.c Improve code formatting consistency Mar 16, 2018
jutils.c Improve code formatting consistency Mar 16, 2018
jversion.h Merge tag '2.0.0' Nov 11, 2018
libjpeg.map.in Initial commit of libjpeg-turbo plus readme edits. Jan 14, 2014
libjpeg.txt Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
mozjpeg.podspec Adds initial mozjpeg.podspec Nov 10, 2018
rd_average.sh Adding scripts to generate rd-curves. Mar 17, 2014
rd_collect.sh Adding scripts to generate rd-curves. Mar 17, 2014
rd_collect_sub.sh Adding scripts to generate rd-curves. Mar 17, 2014
rd_plot.sh Adding scripts to generate rd-curves. Mar 17, 2014
rdbmp.c Merge tag '2.0.0' Nov 11, 2018
rdcolmap.c Improve code formatting consistency Mar 16, 2018
rdgif.c Improve code formatting consistency Mar 16, 2018
rdjpeg.c Reconcile indentation, whitespace, and other code formatting with lib… Nov 6, 2014
rdjpgcom.1 The Independent JPEG Group's JPEG software v7 Jul 27, 2015
rdjpgcom.c Additional code formatting tweaks Apr 9, 2018
rdpng.c fix issue #302 rdpng.c contains mixed declaration, which MSVC can't a… Aug 24, 2018
rdppm.c cjpeg: Fix OOB read caused by malformed 8-bit BMP Jul 21, 2018
rdrle.c Improve code formatting consistency Mar 16, 2018
rdswitch.c Merge tag '2.0.0' Nov 11, 2018
rdtarga.c Fix CVE-2018-11813 Jun 12, 2018
structure.txt Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
tjbench.c Java: Reformat code per checkstyle recommendations May 15, 2018
tjbenchtest.in tjbenchtest: Test new TurboJPEG progressive flag Nov 18, 2017
tjbenchtest.java.in tjbenchtest: Test new TurboJPEG progressive flag Nov 18, 2017
tjexample.c Format preprocessor macros more consistently Mar 17, 2018
tjexampletest.in Add TurboJPEG C example and clean up Java example Nov 18, 2017
tjexampletest.java.in Add TurboJPEG C example and clean up Java example Nov 18, 2017
tjunittest.c Additional code formatting tweaks Apr 12, 2018
tjutil.c Improve code formatting consistency Mar 16, 2018
tjutil.h Format preprocessor macros more consistently Mar 17, 2018
transupp.c Format preprocessor macros more consistently Mar 17, 2018
transupp.h Adds extern "C" to transupp.h May 30, 2019
turbojpeg-jni.c Format preprocessor macros more consistently Mar 17, 2018
turbojpeg-mapfile Label this release 2.0 instead of 1.6 Mar 22, 2018
turbojpeg-mapfile.jni Label this release 2.0 instead of 1.6 Mar 22, 2018
turbojpeg.c Merge tag '2.0.0' Nov 11, 2018
turbojpeg.h Format preprocessor macros more consistently Mar 17, 2018
usage.txt Merge tag '2.0.0' Nov 11, 2018
wizard.txt Fix JPEG spec references per ISO/ITU-T suggestions Jul 24, 2018
wrbmp.c Improve code formatting consistency Mar 16, 2018
wrgif.c Format preprocessor macros more consistently Mar 17, 2018
wrjpgcom.1 Improve code formatting consistency Mar 16, 2018
wrjpgcom.c Format preprocessor macros more consistently Mar 17, 2018
wrppm.c Format preprocessor macros more consistently Mar 17, 2018
wrrle.c Improve code formatting consistency Mar 16, 2018
wrtarga.c Improve code formatting consistency Mar 16, 2018
yuvjpeg.c yuvjpeg: fix NULL dereference on invalid format string Jul 15, 2016

README.md

Mozilla JPEG Encoder Project Build Status

MozJPEG reduces file sizes of JPEG images while retaining quality and compatibility with the vast majority of the world's deployed decoders.

MozJPEG is based on libjpeg-turbo. Please send pull requests to libjpeg-turbo if the changes aren't specific to newly-added MozJPEG-only compression code. This project aims to keep differences with libjpeg-turbo minimal, so whenever possible, improvements and bug fixes should go there first.

It's compatible with libjpeg API and ABI, and can be used as a drop-in replacement for libjpeg. MozJPEG makes tradeoffs that are intended to benefit Web use cases and focuses solely on improving encoding, so it's best used as part of a Web encoding workflow.

MozJPEG is meant to be used as a library in graphics programs and image processing tools. We include a demo cjpeg tool, but it's not intended for serious use. We encourage authors of graphics programs to use MozJPEG's C API instead.

Features

  • Progressive encoding with "jpegrescan" optimization. It can be applied to any JPEG file (with jpegtran) to losslessly reduce file size.
  • Trellis quantization. When converting other formats to JPEG it maximizes quality/filesize ratio.
  • Comes with new quantization table presets, e.g. tuned for high-resolution displays.
  • Fully compatible with all web browsers.
  • Can be seamlessly integrated into any program using libjpeg.

Releases

Compiling

See BUILDING.

You can’t perform that action at this time.