New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 608347 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Update libjpeg-turbo to 1.4.90

Project Member Reported by msarett@chromium.org, May 2 2016

Issue description

The number of cherry-picks we have on top of 1.3.1 is getting kind of large.
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjpeg_turbo/README.chromium

Additionally, we are looking at cherry picking more commits to fix clang compatibility for Arm64.
https://codereview.chromium.org/1885373002/

Updating to 1.4.90 will eliminate these complexities.  Additionally, we will get a few extra improvements (I've borrowed this text from libjpeg-turbo's release description):
***Added SIMD acceleration for Huffman encoding on SSE2-capable x86 and x86-64 platforms. This speeds up the compression of full-color JPEGs by about 10-15% on average (relative to libjpeg-turbo 1.4.x) when using modern Intel and AMD CPUs.
***Added ARM 64-bit (ARMv8) NEON SIMD implementations of the commonly-used compression algorithms (including the slow integer forward DCT and h2v2 & h2v1 downsampling algorithms, which are not accelerated in the 32-bit NEON implementation.) This speeds up the compression of full-color JPEGs by about 75% on average on a Cavium ThunderX processor and by about 2-2.5x on average on Cortex-A53 and Cortex-A57 cores.
***Added SIMD acceleration for Huffman encoding on NEON-capable ARM 32-bit and 64-bit platforms.
***More details at:
https://github.com/libjpeg-turbo/libjpeg-turbo/releases
 
I've landed the update in Skia first, so we can get a head start checking for any image diffs or memory errors (ASAN, MSAN etc.).
https://codereview.chromium.org/1940903002/

Comment 2 by noel@chromium.org, May 5 2016

Status: Started (was: Untriaged)
Update libjpeg-turbo to 1.4.90

https://codereview.chromium.org/1953443002 landed as 

Update to libjpeg_turbo 1.4.90

(Duplicate of https://codereview.chromium.org/1939823002/ for landing.)

Committed: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo/+/0d47d2d3a728e78676a15b1d818cc668cb7e5a9c

Comment 4 by noel@chromium.org, May 5 2016

Add PRIVATE flags to global symbols

This was added in a previous patch.
https://codereview.chromium.org/6246098/

It was dropped in the updated to 1.4.90, so we need to
reapply it.

This change adds the 'private_extern' flags (on Mac) or the 'hidden'
flags (on Linux) to the all global symbols in libjpeg-turbo.

Committed: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo/+/51655203fbc949e6423dcd13ce22fe30ab5b5ea2
Project Member

Comment 5 by bugdroid1@chromium.org, May 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/346f74fb31a84f8453e885337e0765576b4f35b6

commit 346f74fb31a84f8453e885337e0765576b4f35b6
Author: msarett <msarett@google.com>
Date: Thu May 05 20:00:43 2016

Roll libjpeg-turbo to 1.4.90 and update gn file

Includes the following commits:

Add PRIVATE flags to global symbols
  51655203fbc949e6423dcd13ce22fe30ab5b5ea2

Fix INLINE macro on Windows
  9fee17f77cb7bf0f543f9f4a77b20edbde4c2c04

Update to libjpeg_turbo 1.4.90
  0d47d2d3a728e78676a15b1d818cc668cb7e5a9c

Add default variable 'use_system_yasm%':
  9d35298a6223278a66423f828a949d93d94d5911

Update README.chromium about the 32-bit argument patch
  c653af70b7b2bbd3e8cd16c17bc2705cf25b1469

BUG= 608347 

Review-Url: https://codereview.chromium.org/1935113002
Cr-Commit-Position: refs/heads/master@{#391883}

[modify] https://crrev.com/346f74fb31a84f8453e885337e0765576b4f35b6/DEPS
[modify] https://crrev.com/346f74fb31a84f8453e885337e0765576b4f35b6/build/secondary/third_party/libjpeg_turbo/BUILD.gn

Status: Fixed (was: Started)

Comment 7 by noel@chromium.org, May 9 2016

Status: Started (was: Fixed)
  defines = [
    "WITH_SIMD",
    "MOTION_JPEG_SUPPORTED",
    "NO_GETENV",
  ]

MOTION_JPEG_SUPPORTED can go I think, both from the gyp and gn, now that MJPEG is supported by default, no?
Yes you're right, this is no longer used.  I'll upload a CL to it remove from the gn.  Can a chromium committer remove it from the gyp?

Comment 9 by noel@chromium.org, May 11 2016

Yeap, I will take the gyp.
Project Member

Comment 11 by bugdroid1@chromium.org, May 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50a66e887857dc4117e64f5150c0bafc5097279e

commit 50a66e887857dc4117e64f5150c0bafc5097279e
Author: msarett <msarett@google.com>
Date: Wed May 11 15:48:56 2016

Remove unused MJPEG define from libjpeg-turbo GN and GYP

libjpeg_turbo.gyp is located in third-party and is updated
by rolling to a recent commit:

414f243 Remove unused MJPEG define from libjpeg-turbo GYP file
  414f2433e6634942b9ceea9450bdc21dcc5520cf
by Noel Gordon

BUG= 608347 

Review-Url: https://codereview.chromium.org/1961933002
Cr-Commit-Position: refs/heads/master@{#392934}

[modify] https://crrev.com/50a66e887857dc4117e64f5150c0bafc5097279e/DEPS
[modify] https://crrev.com/50a66e887857dc4117e64f5150c0bafc5097279e/build/secondary/third_party/libjpeg_turbo/BUILD.gn

Status: Fixed (was: Started)

Sign in to add a comment