Apple picks up SnappyCam–brilliant example of smart software
This is a great story and its about smart software. John Papandriopoulos is an Aussie one man startup and creator of SnappyCam. He figured out how to make the iPhone’s camera take full-resolution photos at 20 to 30 frames per second — significantly faster than Apple’s native iPhone camera. Apple just bought SnappyCam and brought John inhouse.
He was able to produce code that made use of fast software that made novel and unique leverage of aspects of the iphone chip and jpg format. This fits perfectly with Apples integrated view of hardware and software so that they produce the most efficient result for the user.
A great story for the Aussie entrepreneur.
“First we studied the fast discrete cosine transform (DCT) algorithms…We then extended some of that research to create a new algorithm that’s a good fit for the ARM NEON SIMD co-processor instruction set architecture. The final implementation comprises nearly 10,000 lines of hand-tuned assembly code, and over 20,000 lines of low-level C code. (In comparison, the SnappyCam app comprises almost 50,000 lines of Objective C code.)
JPEG compression comprises two parts: the DCT (above), and a lossless Huffman compression stage that forms a compact JPEG file. Having developed a blazing fast DCT implementation, Huffman then became a bottleneck. We innovated on that portion with tight hand-tuned assembly code that leverages special features of the ARM processor instruction set to make it as fast as possible.”