Average processing rates on disable-asm version, running 'Jarry' 640x360 video after fixing packet/frame rate bug:
Target rate: 5.65 MP/s decode, 5.65 MP/s draw iPhone 3Gs: 9.92, 5.10 iPod Touch 4: 14.47, 7.43 iPod Touch 5: 24.92, 12.15 iPad mini: 27.40, 15.21 iPad 3: 30.19, 15.06 iPhone 5s: 99.47, 67.70
iPhone 3Gs and iPod Touch 4 are single-threaded, others are dual-core and can overlap decoding and drawing. iPhone 5s is arm64, others are armv7. Assembly is disabled in libtheora build, as it's only got detection code for Windows and Linux. Needs to be patched for iOS?
iPhone 3Gs plays back too slowly, but isn't actively crashing. Yay!
The current drawing code is really bad though (pure software YCbCr->RGB conversion, and it hands off a UIImage to a UIImageView... which probably ain't so great!)
I've also got some intermittent problem with the networking code appearing to download really slow. Not sure what's going on there; can sometimes repro it even if I comment out the actual decoding and playback!