summaryrefslogtreecommitdiff
path: root/jdhuff.c
AgeCommit message (Collapse)Author
2020-11-30Update libjpeg-turbo to v2.0.90 (2.1 beta1)Jonathan Wright
Update Chromium's copy of libjpeg-turbo to the latest upstream release (v2.0.90) and re-apply our local changes documented in README.chromium. Cherry-pick two additional changes from upstream to fix bugs found by fuzzers: 1) https://github.com/libjpeg-turbo/libjpeg-turbo/commit/ccaba5d7894ecfb5a8f11e48d3f86e1f14d5a469 2) https://github.com/libjpeg-turbo/libjpeg-turbo/commit/c7ca521bc85b57d41d3ad4963c13fc0100481084 Significant changes provided by this update: 1) A large performance boost to JPEG encoding due to an improved Huffman encoding implementation. 2) The complete removal of Arm Neon assembly code. This allows Arm's control-flow integrity security features (Armv8.3-A Pointer Authentication and Armv8.5-A Branch Target Identification) to be switched on with the appropriate compiler flags. Bug: 922430 Bug: b/135180511 Bug: 919548, 1145581 Change-Id: I319fcdc55b3fd5b219425c07a4e4a03587f4e06d
2020-08-07Update libjpeg-turbo to v2.0.5Jonathan Wright
Update Chromium's copy of libjpeg-turbo to the latest stable upstream release (v2.0.5) and reapply our local changes documented in README.chromium. This update addresses three CVEs - CVE-2018-19664, CVE-2018-20330, CVE-2018-20330 - that do not affect Chromium. The fixes do, however, satisfy UBSan - allowing Chromium's libjpeg-turbo to be used in AOSP. Cherry-pick one additional change[1] from upstream to prevent AArch64 Windows builds from failing. [1] https://github.com/libjpeg-turbo/libjpeg-turbo/commit/6ee5d5f568fda1a7c6a49dd8995f2d89866ee42d Bug: 922430 Bug: https://issuetracker.google.com/135180511 Change-Id: I146fe82f7a016ce393eb0d37aebe0b7c2492a9da
2019-03-01Update libjpeg-turbo to v2.0.1Chris Blume
In order to apply some performance updates from ARM, we need to update libjpeg-turbo. These performance updates have yielded a 50% speedup on some devices. This CL updates our copy of libjpeg-turbo to v2.0.1 and re-applies our local patches. This patch also deletes some extra files which were not being used locally. Update our local patch that was applied to fix http://crbug.com/398235 (https://codereview.appspot.com/229430043/). The original patch incorrectly removed "& 0xFF" which limited an array index to within that array's bounds (effectively reverting https://github.com/libjpeg-turbo/libjpeg-turbo/commit/fa1d18385d904d530b4aec83ab7757a33397de6e). Restore the mask, making the array access safe and fixing a graphical glitch which would otherwise be introduced by this change. Bug:922430 Change-Id: I3860fdb424deecf7a17818ed09a640e632e71f8d
2016-05-04Update to libjpeg_turbo 1.4.90Tom Hudson
(Duplicate of https://codereview.chromium.org/1939823002/ for landing.) TBR=noel@chromium.org,thakis@chromium.org BUG=608347, 398235, 591927 Review URL: https://codereview.chromium.org/1953443002 .
2015-08-11Patch fix for "Add jpeg_skip_scanlines() API to libjpeg-turbo"Aaron Gable
https://codereview.chromium.org/1271803002/ "jpeg_skip_scanlines() API, a subset decoding optimization aimed at Android, was submitted upstream r1582. Pull that change, and sundry fixes, into the Chromium repo. This new API is targetted at Android devices, not Chrome, and should have no affect on JPEG decode behavior or perf of Chrome. Chrome uses suspending data source JPEG decoding, and the new API does not support such sources. Adding support for suspending data sources is a future TODO, should the need arise (refer to skbug.com/4036)." BUG=515694 BUG=468914 R=agable@chromium.org Review URL: https://codereview.chromium.org/1291463002 .
2015-08-03Add jpeg_skip_scanlines() API to libjpeg-turboAaron Gable
jpeg_skip_scanlines() API, a subset decoding optimization aimed at Android, was submitted upstream r1582. Pull that change, and sundry fixes, into the Chromium repo. This new API is targetted at Android devices, not Chrome, and should have no affect on JPEG decode behavior or perf of Chrome. Chrome uses suspending data source JPEG decoding, and the new API does not support such sources. Adding support for suspending data sources is a future TODO, should the need arise (refer to skbug.com/4036). BUG=515694 BUG=468914 patch from issue 256280043 at patchset 50001 (http://crrev.com/256280043#ps50001) R=agable@chromium.org Review URL: https://codereview.chromium.org/1271803002 .
2015-04-27Fix libjpeg_turbo svn r64 libjpeg6b compat issuenoel@chromium.org
Make the fast path Huffman decoder fallback to the slow decoding path if the Huffman decoding bit sentinel > 16, this to match libjpeg6b decoding by reproducing the exact behavior of jpeg_huff_decode(). When this sentinel check is missing (see bug), libjpeg_turbo can produce two (or more) different decoded images for the same input data depending on how transport systems (eg., networks) packetize the data for delivery to end-systems, web browsers for example. Note: libjpeg6b produces the same decoded image, irrespective of how the input data is placed in network packets. This fix makes libjpeg_turbo do the same for compat with libjpeg6b. TBR=darin@chromium.org BUG=chromium:398235 Review URL: https://codereview.appspot.com/229430043 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@295003 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-14Upgrade libjpeg_turbo to 1.3.1 (r1219)noel@chromium.org
Remove google.jdmarker.patch, since the fixes for CVE-2013-6629 and CVE-2013-6630 are upstream most everywhere now [1]. Version number to 1.3.1 (config.h, jconfig.h). README.chromium: "Fixed valgrind error" patch was upstreamed in r839 http://sourceforge.net/p/libjpeg-turbo/code/839. The r1188 cherry-pick was put in config.h, say that. [1] http://seclists.org/fulldisclosure/2013/Nov/83 TBR=darin@chromium.org BUG=258723, 299835 Review URL: https://codereview.appspot.com/87110044 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@263594 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-05-11Update libjpeg-turbo.hbono@chromium.org
This change updates our copy of libjpeg-turbo to r829. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10386084 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@136524 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-08-15Reapply warning fixes.hbono@chromium.org
This change just reapply warning fixes that I forgot reapplying when I updated libjpeg-turbo to 1.1.90. BUG=none TEST=build libjpeg-turbo without warnings. Review URL: http://codereview.chromium.org/7633058 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@96750 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-08-03Updates libjpeg-turbo to 1.1.90hbono@chromium.org
This change updates our copy of libjpeg-turbo to 1.1.90 (r677), which supports ARM NEON. BUG=none TEST=none Review URL: http://codereview.chromium.org/7554002 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@95196 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-07-08two warning fixes for the benefit of visual c when warnings are turned upfbarchard@chromium.org
BUG=none TESTED=builds with higher warning levels on windows Review URL: http://codereview.chromium.org/7331010 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@91819 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-02-03Cherry-pick a fix from r324 of the libjpeg-turbo stable branch thatcraig.schlenter@chromium.org
adds further protections against invalid Huffman codes. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/6334053 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@73588 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2010-11-01Adds libjpeg-turbo to our repository.hbono@chromium.org
This change lands the original libjpeg-turbo 1.0.1 (source files only) and NASM 2.09.2 (required for assembling .asm files on Windows) to "deps/third_party". I will send more changes to land its build files and patches to integrate it into Chrome. BUG=48789 TEST=none Review URL: http://codereview.chromium.org/4134011 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@64575 4ff67af0-8c30-449e-8e8b-ad334ec8d88c