Features/libjpeg-turbo

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
Line 20: Line 20:
  
 
== Current status ==
 
== Current status ==
* Targeted release: Fedora14
+
* Targeted release: Fedora 14
 
* Last updated: 2010-05-31
 
* Last updated: 2010-05-31
 
* Percentage of completion: 0%
 
* Percentage of completion: 0%
Line 28: Line 28:
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
+
Much faster JPEG compression/decompression library. JPEG codec is widely used and it is good to speed up core library which implements it. Additionally, libjpeg-turbo is developed in more open-source manner than original libjpeg.
  
 
== Scope ==
 
== Scope ==
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
+
All packages which depends on libjpeg have to be rebuilt against libjpeg-turbo. There are no API/ABI changes so temporary symlink libjpeg->libjpeg-turbo will be provided to make this task easier.
  
 
== How To Test ==
 
== How To Test ==
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them. The more specific you can be, the better the community testing can be.
+
You can use any program which uses libjpeg-turbo code. You should try to perform JPEG compression/decompression to and check if you don't see artefacts. You can also compare speed of the libjpeg-turbo against libjpeg, you should be able to visually check that libjpeg-turbo is really faster.
 
+
Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
+
 
+
A good "how to test" should answer these four questions:
+
 
+
0. What special hardware / data / etc. is needed (if any)?
+
1. How do I prepare my system to test this feature? What packages
+
need to be installed, config files edited, etc.?
+
2. What specific actions do I perform to check that the feature is
+
working like it's supposed to?
+
3. What are the expected results of those actions?
+
-->
+
  
 
== User Experience ==
 
== User Experience ==
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
+
A lot faster JPEG compression/decompression
  
 
== Dependencies ==
 
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
+
$ repoquery --alldeps --whatrequires libjpeg |wc -l
 +
462
  
 
== Contingency Plan ==
 
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not. If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
+
Use libjpeg when libjpeg-turbo will hit some serious problems. Both libraries can coexist.
  
 
== Documentation ==
 
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
+
http://sourceforge.net/projects/libjpeg-turbo
*
+
  
 
== Release Notes ==
 
== Release Notes ==

Revision as of 16:08, 31 May 2010

Important.png
Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "edit" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR FEATURE.
Important.png
Set a Page Watch
Make sure you click watch on your new page so that you are notified of changes to it by others, including the Feature Wrangler
Note.png
All sections of this template are required for review by FESCo. If any sections are empty it will not be reviewed



Contents

Replace libjpeg by libjpeg-turbo

Summary

libjpeg-turbo is fork of the original libjpeg project. It contains numerous performance related enhancements and is at least twice faster in JPEG compression/decompression than original libjpeg on platforms with MMX/SSE instruction set. It has same API/ABI like original libjpeg and also runs on non-SSE platforms where is around 25% faster.

Owner

Current status

  • Targeted release: Fedora 14
  • Last updated: 2010-05-31
  • Percentage of completion: 0%

Detailed Description

Benefit to Fedora

Much faster JPEG compression/decompression library. JPEG codec is widely used and it is good to speed up core library which implements it. Additionally, libjpeg-turbo is developed in more open-source manner than original libjpeg.

Scope

All packages which depends on libjpeg have to be rebuilt against libjpeg-turbo. There are no API/ABI changes so temporary symlink libjpeg->libjpeg-turbo will be provided to make this task easier.

How To Test

You can use any program which uses libjpeg-turbo code. You should try to perform JPEG compression/decompression to and check if you don't see artefacts. You can also compare speed of the libjpeg-turbo against libjpeg, you should be able to visually check that libjpeg-turbo is really faster.

User Experience

A lot faster JPEG compression/decompression

Dependencies

$ repoquery --alldeps --whatrequires libjpeg |wc -l 462

Contingency Plan

Use libjpeg when libjpeg-turbo will hit some serious problems. Both libraries can coexist.

Documentation

http://sourceforge.net/projects/libjpeg-turbo

Release Notes

Comments and Discussion