Libjpeg

历史

独立JPEG工作组（IJG）的JPEG实现首次公开发布于7 October 1991，并在那是已相当完善。
开发主要由Tom Lane完成。
IJG的开源是其中一个主要的开源包，并且是JPEG标准的成功的关键。许多公司将其集成到各种产品中，如图像编辑器和网络浏览器。
版本5发布于1994年9月24日，整个代码库被重写。它引入了名为rdjpgcom和wrjpgcom的实用程序用于处理嵌入的文字注释。
版本6于2 August 1995到来，支持渐进JPEG和第一版jpegtran实用程序。
From version 6b of libjpeg of 27 March 1998, Miyasaka Masaru forked a branch named libjpeg/SIMD, which included x86 SIMD optimisations. It got substantial contributions from the TigerVNC and the VirtualGL projects in 2009. On that basis the libjpeg-turbo project was created in 2010.
After 11 years and a change in leadership, the IJG released new versions of libjpeg (7 through 9), of which each broke ABI compatibility with previous versions. The changes that were held in prospect after the 6x series were not delivered.
In version 7, support for 算术编码 was introduced, which earlier has been rejected because of the patent situation, as well as the crop feature in jpegtran (-crop).
Versions 8 and 9 served basically for the introduction of controversial incompatible format extensions. These are widely regarded as ineffective and inferior to existing, standardised solutions. Their standardisation was rejected after submission to the 国际电信联盟电信标准化部门. The original organiser Tom Lane and others talk about a break in the goals of the IJG.
On 4 March 2014, the first version of the filesize-optimising fork mozjpeg was published. For this version Josh Aas from Mozilla Research reworked the Perl script jpegcrush from X264's main developer Loren Merritt and integrated it into the code base of libjpeg-turbo.
On 10 July 2014, Mozilla released version 2.0, which mainly added trellis quantisation and is now able to reduce the size of baseline JPEGs also. Facebook, Inc. donated 60,000 dollars for the development of the next version, and CloudFlare assigned a developer for the improvement of mozjpeg.

复刻

比较著名的复刻是libjpeg-turbo，它优化了执行的速度；还有mozjpeg，它的优化目标是更小的文件大小。除了这些以外，还有一个出自国际标准化组织（ISO）的libjpeg，其目的是所有JPEG 1标准的完整实现。