blob: de3b9d91cf9f56a63c23efd71eb662b8355a785a [file] [log] [blame]
hbono@chromium.org920a8a92010-11-22 09:17:38 +00001Name: libjpeg-turbo
2URL: http://sourceforge.net/projects/libjpeg-turbo/
noel@chromium.org3395bcc2014-04-14 06:56:00 +00003Version: 1.3.1
steveblock@chromium.org4c160802012-08-01 00:42:33 +00004License: Custom license
hbono@chromium.org920a8a92010-11-22 09:17:38 +00005License File: LICENSE.txt
hbono@chromium.org98626972011-08-03 03:13:08 +00006Security Critical: yes
torne@chromium.org3963fbc2014-09-04 12:56:33 +00007License Android Compatible: yes
hbono@chromium.org920a8a92010-11-22 09:17:38 +00008
cdn@chromium.org7deb8d62011-03-14 19:29:03 +00009Description:
noel@chromium.org3395bcc2014-04-14 06:56:00 +000010This consists of the components:
11* A partial copy of libjpeg-turbo 1.3.1 (r1219);
Aaron Gablec9c87552015-08-03 09:34:32 -070012* Revision r1188 cherry-picked from upstream trunk into config.h to fix
13 compiler warning on newer versions of gcc;
14* Revision r1220 cherry-picked from upstream trunk into jchuff.c to use
15 clz/bsr instructions on ARM for bit counting rather than the lookup table
16 (reduces memory footprint and can improve performance in some cases);
rmcilroy@chromium.org2ed53192014-08-29 12:32:19 +000017* Revisions r1108, r1109, r1333, r1375, r1386, r1389 and r1390 cherry-picked
Aaron Gablec9c87552015-08-03 09:34:32 -070018 from upstream trunk for Arm64 NEON SIMD support;
Aaron Gablefeec46f2015-08-06 09:54:48 -070019* Revisions r1582, r1583, r1586, r1587, r1591, and
Aaron Gablec9c87552015-08-03 09:34:32 -070020 commit 91eceba0a132a3fc70388a82c75616e67725a93a (code moved to GitHub)
Aaron Gablefeec46f2015-08-06 09:54:48 -070021 cherry-picked from upstream trunk for partial decoding optimization;
22 http://crbug.com/515694
23* Revisions r1295, r1385, r1398, and r1402 (r1386 is also required but has
24 already been cherry-picked) cherry-picked from upstream trunk to enable
25 decoding to 565 as a memory optimization;
26 http://crbug.com/516761
hbono@chromium.org920a8a92010-11-22 09:17:38 +000027* A build file (libjpeg.gyp), and;
28* Patched header files used by Chromium.
29
Aaron Gablec9c87552015-08-03 09:34:32 -070030More details on cherry-picked revisions and commits can be found at:
31https://sourceforge.net/p/libjpeg-turbo/code/commit_browser
32https://github.com/libjpeg-turbo/libjpeg-turbo/commits/master
33
hbono@chromium.org920a8a92010-11-22 09:17:38 +000034This libjpeg-turbo can replace our libjpeg-6b without any modifications in the
35Chromium code.
36
37Same as our copy of libjpeg-6b, this libjpeg-turbo also added a new file
38jpeglibmangler.h and included it from jpeglib.h that changes the names of all
39externally visible functions to chromium_* so that we can avoid conflicts that
hbono@chromium.org98626972011-08-03 03:13:08 +000040arise when system libraries attempt to use our libjpeg. Also, we applied the
41following changes which are not merged to upstream:
noel@chromium.org3395bcc2014-04-14 06:56:00 +000042
hbono@chromium.org98626972011-08-03 03:13:08 +000043* Added the 'private_extern' flags on Mac (or the 'hidden' flags on Linux) to
44 all the global symbols in '.asm' files to prevent making them external ones.
45* Supported motion-JPEG frames that do not have DHT markers.
noel@chromium.org8ee9bdd2015-04-27 11:27:28 +000046* Fix libjpeg_turbo svn r64 libjpeg6b compat issue: make the fast path Huffman
47 decoder fallback to slow decoding if the Huffman decoding bit sentinel > 16,
48 this to match the exact behavior of jpeg_huff_decode().
49 http://crbug.com/398235
noel@chromium.orgf4631b62015-06-09 14:32:36 +000050* Fixed an issue with the ARM NEON build.
51 http://crbug.com/451035
noel@chromium.org3395bcc2014-04-14 06:56:00 +000052
noel@chromium.org9e9058b2015-04-27 03:30:31 +000053Refer to working-with-nested-repos [1] for details of how to setup your git
54svn client to update the code (for making local changes, cherry picking from
55upstream, etc).
56
57[1] https://www.chromium.org/developers/how-tos/get-the-code/working-with-nested-repos