Hi, I have been looking at the problem of libsbc performance on arm. My first pass is on the decoder. I'm trying to cut down deeply nested fp multiply/divide ops. I originally planned regression tests in the build process for performance/correctness but decided against them: - performance may actually go down on x86 where I build when we reduce fp usage - the character of roundoff errors will change and the lossy stream will probably look different even when it is still "correct" Anyway, I will need to know the range of certain values in order to make much progress. I tried hunting down how they are calculated but it gets difficult very quickly. Can I get help with the ranges for bits[ch][sb] in sbc_unpack_frame and the state.* vectors if they're bounded? How about this first little patch? Brad