hbono@chromium.org | 920a8a9 | 2010-11-22 09:17:38 +0000 | [diff] [blame] | 1 | Name: libjpeg-turbo |
Tom Hudson | 0d47d2d | 2016-05-04 13:22:56 -0400 | [diff] [blame] | 2 | URL: https://github.com/libjpeg-turbo/libjpeg-turbo/ |
Peter Kasting | ad8b3b0 | 2021-07-13 09:58:54 -0700 | [diff] [blame] | 3 | Version: b201838d8b5f2f80c9f86ec8405a62a002232b2c (post 2.1.0) |
steveblock@chromium.org | 4c16080 | 2012-08-01 00:42:33 +0000 | [diff] [blame] | 4 | License: Custom license |
Tom Hudson | 0d47d2d | 2016-05-04 13:22:56 -0400 | [diff] [blame] | 5 | License File: LICENSE.md |
hbono@chromium.org | 9862697 | 2011-08-03 03:13:08 +0000 | [diff] [blame] | 6 | Security Critical: yes |
torne@chromium.org | 3963fbc | 2014-09-04 12:56:33 +0000 | [diff] [blame] | 7 | License Android Compatible: yes |
hbono@chromium.org | 920a8a9 | 2010-11-22 09:17:38 +0000 | [diff] [blame] | 8 | |
cdn@chromium.org | 7deb8d6 | 2011-03-14 19:29:03 +0000 | [diff] [blame] | 9 | Description: |
noel@chromium.org | 3395bcc | 2014-04-14 06:56:00 +0000 | [diff] [blame] | 10 | This consists of the components: |
Peter Kasting | ad8b3b0 | 2021-07-13 09:58:54 -0700 | [diff] [blame] | 11 | * libjpeg-turbo b201838d8b5f2f80c9f86ec8405a62a002232b2c (post 2.1.0) |
Tom Hudson | 0d47d2d | 2016-05-04 13:22:56 -0400 | [diff] [blame] | 12 | * This file (README.chromium) |
Chris Blume | cca8c4d | 2019-03-01 01:09:50 -0800 | [diff] [blame] | 13 | * A build file (BUILD.gn) |
| 14 | * An OWNERS file |
| 15 | * A codereview.settings file |
Tom Hudson | 0d47d2d | 2016-05-04 13:22:56 -0400 | [diff] [blame] | 16 | * Patched header files used by Chromium |
Jonathan Wright | 24e3105 | 2021-04-26 12:10:48 +0100 | [diff] [blame] | 17 | * Deleted unused directories: cmakescripts, doc, fuzz, java, release, |
| 18 | sharedlib, simd/loongson, simd/mips, simd/powerpc, and win |
Jonathan Wright | db870df | 2020-08-05 11:42:22 +0100 | [diff] [blame] | 19 | * Deleted unused files: appveyor.yml, CMakeLists.txt, doxygen.config, |
Jonathan Wright | 24e3105 | 2021-04-26 12:10:48 +0100 | [diff] [blame] | 20 | doxygen-extra.css, .gitattributes, md5/CMakeLists.txt, md5/md5cmp.c, |
| 21 | simd/CMakeLists.txt, tjexample.c, tjexampletest.in, tjexampletest.java.in and |
| 22 | .travis.yml |
Jonathan Wright | bbb8282 | 2020-11-25 13:36:43 +0000 | [diff] [blame] | 23 | * Deleted legacy Arm Neon assembly files (supporting old compiler versions that |
| 24 | do not generate performant code from intrinsics): |
| 25 | simd/arm/aarch32/jsimd_neon.S, simd/arm/aarch64/jsimd_neon.S. |
Aaron Gable | c9c8755 | 2015-08-03 09:34:32 -0700 | [diff] [blame] | 26 | |
hbono@chromium.org | 920a8a9 | 2010-11-22 09:17:38 +0000 | [diff] [blame] | 27 | This libjpeg-turbo can replace our libjpeg-6b without any modifications in the |
| 28 | Chromium code. |
| 29 | |
| 30 | Same as our copy of libjpeg-6b, this libjpeg-turbo also added a new file |
| 31 | jpeglibmangler.h and included it from jpeglib.h that changes the names of all |
| 32 | externally visible functions to chromium_* so that we can avoid conflicts that |
hbono@chromium.org | 9862697 | 2011-08-03 03:13:08 +0000 | [diff] [blame] | 33 | arise when system libraries attempt to use our libjpeg. Also, we applied the |
| 34 | following changes which are not merged to upstream: |
noel@chromium.org | 3395bcc | 2014-04-14 06:56:00 +0000 | [diff] [blame] | 35 | |
Jonathan Wright | bbb8282 | 2020-11-25 13:36:43 +0000 | [diff] [blame] | 36 | * Configuration files jconfig.h, jconfigint.h and neon-compat.h were generated |
| 37 | and then altered manually to be compatible on all of Chromium's platforms. |
Noel Gordon | 9fee17f | 2016-05-06 00:32:29 +1000 | [diff] [blame] | 38 | http://crbug.com/608347 |
Chris Davis | 14eba7a | 2019-07-09 19:46:32 -0700 | [diff] [blame] | 39 | * Fix static const data duplication of jpeg_nbits_table. A unique copy |
| 40 | was in the jchuff.obj and jcphuff.obj resulting in an added 65k in |
| 41 | .rdata in chrome.dll and chrome_child.dll. Declaring extern const |
| 42 | in the header instead of static const and moving the definition to |
Chris Davis | d460d6b | 2019-08-15 15:30:00 -0700 | [diff] [blame] | 43 | a new .c file fixes this so only one copy is referenced. Also added |
| 44 | extern wrappers around usage in asm files. The jpeg_nbits_table.inc |
Elliott Hughes | 341272d | 2020-08-06 16:24:16 -0700 | [diff] [blame] | 45 | file was also deleted. It was also necessary to give this table hidden |
| 46 | visibility to avoid invalid relocations (ignored by ld but rejected by |
| 47 | lld) arising from attempts to reference the table from assembler on |
| 48 | 32-bit x86. This only affects shared libraries, but that's important |
| 49 | for downstream Android builds. |
Jonathan Wright | bbb8282 | 2020-11-25 13:36:43 +0000 | [diff] [blame] | 50 | * Patches to enable running the upstream unit tests through GTest. |
Jonathan Wright | 11070fb | 2020-06-16 18:46:21 +0100 | [diff] [blame] | 51 | The upstream unit tests are defined here under the section 'TESTS': |
| 52 | https://github.com/libjpeg-turbo/libjpeg-turbo/blob/master/CMakeLists.txt |
| 53 | These changes are tracked by Chromium issue: https://crbug.com/993876 |
Jonathan Wright | 6cb95b8 | 2020-06-11 16:10:15 +0100 | [diff] [blame] | 54 | - Refactor tjunittest.c to provide test interface |
Jonathan Wright | a145af1 | 2020-06-11 23:22:17 +0100 | [diff] [blame] | 55 | - Move tjunittest logs from stdout to stderr |
Jonathan Wright | 285aa14 | 2020-06-12 15:14:35 +0100 | [diff] [blame] | 56 | - Refactor tjbench.c to provide test interface |
Jonathan Wright | 681ce7f | 2020-06-12 18:20:50 +0100 | [diff] [blame] | 57 | - Move tbench logs from stdout to stderr |
Jonathan Wright | 85252fa | 2020-06-19 16:07:07 +0100 | [diff] [blame] | 58 | - Write tjunittest output files to sdcard on Android |
Jonathan Wright | 5961ab9 | 2020-06-21 13:11:49 +0100 | [diff] [blame] | 59 | - Refactor cjpeg.c to provide test interface |
Jonathan Wright | dc4d6f9 | 2020-06-23 12:35:48 +0100 | [diff] [blame] | 60 | - Refactor jpegtran.c to provide test interface |
Jonathan Wright | 8789cbd | 2020-06-27 14:19:00 +0100 | [diff] [blame] | 61 | - Add input JPEG images for djpeg and jpegtran tests |
Jonathan Wright | c69b17e | 2020-06-21 19:56:26 +0100 | [diff] [blame] | 62 | - Refactor djpeg.c to provide test interface |
Jonathan Wright | bbb8282 | 2020-11-25 13:36:43 +0000 | [diff] [blame] | 63 | A new gtest directory contains GTest wrappers (and associated utilities) for |
| 64 | each of tjunittest, tjbench, cjpeg, djpeg and jpegtran. |
noel@chromium.org | 3395bcc | 2014-04-14 06:56:00 +0000 | [diff] [blame] | 65 | |
noel@chromium.org | 9e9058b | 2015-04-27 03:30:31 +0000 | [diff] [blame] | 66 | Refer to working-with-nested-repos [1] for details of how to setup your git |
| 67 | svn client to update the code (for making local changes, cherry picking from |
| 68 | upstream, etc). |
| 69 | |
| 70 | [1] https://www.chromium.org/developers/how-tos/get-the-code/working-with-nested-repos |