Closed Bug 655693 Opened 13 years ago Closed 13 years ago

ARM NEON optimizations for libpng

Categories

(Core :: Graphics: ImageLib, enhancement)

ARM
Linux
enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: siarhei.siamashka, Assigned: glennrp+bmo)

References

(Blocks 1 open bug, )

Details

(Keywords: perf)

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110323 Iceweasel/3.5.16 (like Firefox/3.5.16)
Build Identifier: 

PNG preprocessing filters consume roughly half of CPU time (the rest is spent in zlib). And the preprocessors code is a perfect target for SIMD optimizations.

Some ARM NEON optimizations seem to be available here (I have not tested them myself): http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/689cea4517c20bbc

Reproducible: Always
Blocks: 462796
One more link which suggests that upstreaming such optimizations might be difficult: https://groups.google.com/a/chromium.org/group/chromium-os-dev/msg/bcdffb62099ac0ee

There is also a related bug 428750 (MMX/SSE2 optimizations for libpng).
Hardware: Other → ARM
Alon, do you want to take a look?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: perf
Also Glenn, are you just planning to take something like this upstream?
I've asked the PNG group to have a look.

We are not fundamentally opposed to accepting assembler
code.  We supported MMX assembler for a few years but
had to eliminate it when we realized that we did not
have an acceptable open-source license for it and apparently
could not get one.

Glenn
Assignee: nobody → glennrp+bmo
Status: NEW → ASSIGNED
The NEON optimized paeth filter from that patch ('paeth_filter_3bpp_loop' function) seems to perform slightly slower than C code on ARM Cortex-A8 processor in my quick test, providing no expected performance improvement.
QA Contact: imagelib → joe
Given comment 5, we won't take those NEON optimizations; since that seems to be all this bug is about, let's close this.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
QA Contact: joe → imagelib
Resolution: --- → WONTFIX
The Qualcomm code was indeed worthless, but there are useful ARM NEON optimizations introduced in libpng-1.5.7
Depends on: 841734
You need to log in before you can comment on or make changes to this bug.