I was trying to use ffmpeg on iOS and was debugging a crash in the optimized arm code. I have discovered that some unsigned (.u16, .u32) instruction have been replaced by signed ones (.i16, .i32). It's easy to see because disassembled instruction on GDB doesn't quite match the source code. I was trying to use ffmpeg on iOS and was debug