On Fri, Sep 02, 2011 at 10:34:47AM -0500, Tom Gall wrote:
The initial port of Android's extensions to the current libjpeg-turbo codebase is complete.
Tom, you've done a spectacular job carrying the -turbo work into the developer platform and now Android. I'm thrilled to see this come to fruition now, and the CyanogenMod test is a great bonus -- seeing this used on a real form-factor device means I can actually believe in it.
The code can currently be found in git at:
http://git.linaro.org/gitweb?p=people/tomgall/libjpeg-turbo/libjpeg-turbo.gi...
from the 1.2-beta-linaro-andoid branch.
Be sure to read the ANDROID.txt file for build instructions. This branch is SPECIFICALLY for android.
Can you give a summary of what's being added here? i.e. what happened to Android when using libjpeg-turbo without these added patches?
I see some pretty major changes in:
http://git.linaro.org/gitweb?p=people/tomgall/libjpeg-turbo/libjpeg-turbo.gi...
It looks to me like the main changes are protected by the following defines, which probably answers part of my question above:
ENABLE_ANDROID_NULL_CONVERT ANDROID_TILE_BASED_DECODE ANDROID_RGB
(Ald yes, I have read ANDROID.txt which confirms the above but doesn't tell me much else ;-)
Also, I see you adding config.h and jconfig.h files which I don't think you want to have committed, right?
Do you really want an android/ config subdirectory?
I have not yet started to do performance comparisons between the old jpeg and libjpeg-turbo on android. That needs to be done.
This might be Zach's next favorite demo!
You might want to try out the toolchain guys' latest -03 and assorted optimization madness to see if they make a difference when you do that.
Also from the android extensions, support for ash and one optimization for armv6 was not included. Both however are reasonable optimizations and I can see including them at a future date.
What is the "support for ash" piece?
Good job!