LJT integration & optimization - LJT vs jpeg v8

Registered by Ilias Biris on 2011-10-21

libjpeg-turbo has been worked on Linaro Evaluation Builds for some time now, and it has been shown to bring improvements vs Libjpeg62 on Android and Ubuntu builds (https://wiki.linaro.org/TomGall/LibJpegTurbo).

There has been a comparison of libjpeg8 and libjpeg-turbo (with libjpeg8 compatibility turned on), https://wiki.linaro.org/TomGall/LibJpeg8

libjpeg-turbo is also available in Oneiric, using v62 emulation. Debian/Ubuntu P are going to move to libjpeg8 by default making current package obsolete in the future.

So we should discuss
- should we package libjpeg-turbo with v8 compatibility mode enabled? Why would that be advantageous?
- should we test v8 emulation mode - what needs to be taken care of there?
- is there a real advantage of using v8 instead of ljt? Discuss with Ubuntu to see if they should really continue with v8.
- as part of the testing - we should probably run tjbench as part of LAVA tests to get comparisons (plain libjpeg vs ljt)
- any benchmarking needed for the Android platform?

Blueprint information

Status:
Complete
Approver:
Ilias Biris
Priority:
High
Drafter:
Tom Gall
Direction:
Approved
Assignee:
Tom Gall
Definition:
Approved
Series goal:
Accepted for 1.2
Implementation:
Implemented
Milestone target:
milestone icon 1.1.90-2011.12
Started by
Tom Gall on 2011-11-18
Completed by
Tom Gall on 2011-12-21

Related branches

Sprints

Whiteboard

Status:
[tom-gall] - Wiki page with libjpeg use https://wiki.linaro.org/TomGall/LibjpegUse
[tom-gall] - armhf numbers won't be possible until infinity pushing packages into precise, precise builds aren't available yet for armel
[tom-gall] - perf numbers on https://wiki.linaro.org/TomGall/LibJpeg8 updated, i5 added, all numbers are oneiric
[tom-gall] - 114 successful builds. 2 failures (completely unrelated to libjpeg-dev (vtk))
[tom-gall]- email off to doko to see if there are any additional WI etc that should be done.

Headline:
Libjpeg-turbo with libjpeg8 compatibility has been validated by compilation and runtime test to be acceptable to replace libjpeg8.

Acceptance:
All libjpeg-turbo testcases pass. All packages with compile time deps on libjpeg8, build successfully against libjpeg-turbo dev packaging. All packages with a runtime dep on libjpeg8 successfully run using libjpeg-turbo instead. Performance numbers have been gathered on precise on 64 and 32 bit intel, armel, and armhf with attention should be given to any cases found where performance is worse on libjpeg-turbo then libjpeg8.

(?)

Work Items

Work items:
Comb through archives main, universe etc to count how many packages use libjpeg8, libjpeg62, -dev -progs etc: DONE
Push libjpeg8 to a PPA without libjpeg-dev: DONE
Push libjpeg-turbo to PPA providing the libjpeg-dev package : DONE
Push all packages that build-depends on libjpeg-dev to the PPA, to validate if it doesn't break any package : DONE
Run the tjbench benchmarks against Oneiric for x64 32/64, armel and a non NEON enabled board: DONE
Update the package at Ubuntu's universe with libjpeg8 compatibility : DONE

Dependency tree

* Blueprints in grey have been implemented.