I am running Revolution reds rom overclocked to 806 mhz, and using the app "Vital Player". This app runs flawlessly on my phone. It states that it is using software decoding for certain file types, but I cant tell the difference between hardware decoding. I have no clue how well it performs on a stock phone, but vital player has played everything I've thrown at it.
It will play MP4 files...but not every codec. Flv files require Adobe Flash, which ARMv6 does not support. The YouTube app on the phone converts flv files before it plays them back on the phone.