Closed Bug 650899 Opened 14 years ago Closed 14 years ago

Update libjpeg-turbo to get new huffman decoder

Categories

(Core :: Graphics: ImageLib, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: justin.lebar+bug, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Per bug 573948 comment 185, libjpeg-turbo now has a BSD-licensed jdhuff.{c,h}. Bug 573948 comment 6 suggests that we might get a ~20% speedup from these optimizations. DRC, is libjpeg-turbo trunk stable enough to consider taking these changes nowish, or should we wait for a release?
I'm sure Jesse and company will have fun fuzzing this code. :)
Depends on: 573948
Those two files should be stable enough to take now. They also include some recent fixes relative to 1.1.0 which improve the handling of unexpected markers (basically, restoring the behavior of libjpeg. Previously, libjpeg-turbo would ignore unexpected markers in the data stream, which made it difficult for applications to detect a corrupted image.)
Attached patch Patch v1Splinter Review
This patch cherry-picks jdhuff.{c,h} from r596. I pushed to try; we'll see how it looks.
This looks good on try. DRC, do you still expect the perf gain to be 20-25%, per bug 573948 comment 6, or should I do some testing? I don't want to bother Jeff to review unless we believe it's a substantial help.
Yes, I'd say in the neighborhood of 20%. Depends on the specific image.
Jeff, are you up for more? This patch is much shorter than the last one. :) I figure we can pick up the remaining changes (to jchuff and whatnot) at the next libjpeg-turbo release.
Attachment #528399 - Flags: review?(jmuizelaar)
Blocks: jpeg-perf
libjpeg-turbo 1.1.1 was released 5/18 with this change and some others which don't seem to matter much [1]. I'll spin a patch to bring us up to date. I don't expect it to be much different than the patch in this bug. [1] http://sourceforge.net/projects/libjpeg-turbo/files/1.1.1/ (scroll down)
Resolving wontfix in favor of upgrading to 1.1.1: bug 662346.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
And reopening because 1.1.1 doesn't have these changes, as discussed in bug 662346.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Assignee: nobody → netzen
Assignee: netzen → nobody
I think bug 680385 was incorrectly marked as a duplicate of this bug. This bug is about cherry-picking some changes to libjpeg-turbo's decoding mechanisms. It's not about enabling arithmetic decoding, which we'd get only by updating to a new version of libjpeg-turbo (and perhaps flipping a configure switch).
Whats the plan about the new huffman decoder? Will this be part of libjpeg-turbo 1.1.90?
The new Huffman decoder is included in the 1.2 beta1 (1.1.90) version that posted this morning. That version is fully licensed under a BSD-style license, so the entire LJT code base should now be compatible with Mozilla's tri-license.
We probably want bug 698519 now instead of this, since libjpeg-turbo 1.2 contains NEON optimizations.
Status: REOPENED → RESOLVED
Closed: 14 years ago14 years ago
Resolution: --- → WONTFIX
Attachment #528399 - Flags: review?(jmuizelaar)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: