ARM: ARM asm versions of sound rate conversion/mixing code
|Reported by:||SF/robinwatts||Owned by:||fingolfin|
This patch includes ARM assembly versions of the sound rate conversion/mixing code. The code is based on the optimised version of the C++ code submitted in patch 1717419 (without the separate loops for the 'no volume' case as it didn't actually end up saving anything).
This code has been tested on WinCE as much as I am able to - not all the cases are exercised by the games I have. I have posted a copy of an executable built with this code in on my webspace and invited people in the WinCE/PocketPC port forum to test it with their games.
The code conforms to the most 'rigourous' ATPCS standards that I know (except for returning to thumb mode), so should hopefully be useful for other ports too (Symbian, DS, PSP?), but I can't test this.
I *believe* that this patch conforms to your coding standards - if you spot anything I've messed up then I'll gladly attempt to fix it.
Rather than pollute your existing rate.cpp file with nasty ifdefs, I have put the revised version of the C++ in rate_arm.cpp and the assembly into rate_arm_asm.s. I hope this meets your standards of neatness.
Ticket imported from: #1721826. Ticket imported from: patches/766.