Are you sure you have the integer math version? The referenced post says a 200 MHz StrongARM can do it using only 30% utilization, and as we all know we've got a 220 MHz SA110 on board... So either they're lying, you have a floating-point encoder, or there are some SERIOUS compiler optimizations that are being left out...