The reason Flash hogs the CPU
The guy that heads up the Linux Flash team has been taking it in the neck over the CPU hogging and in a blog post gave a good explanation of why it is so, compared to playing raw videos. Mike Melanson has been a long-time contributor to the ffmpeg project before he joined the Adobe Flash Linux team.
"The Flash Player solves a different problem than your favorite video player."
http://blogs.adobe.com/penguin.swf/2010/01/
He goes on to explain that because of the need to combine video with vector objects, fonts and other elements, Flash cannot simply blit its output to the screen or make use of pure hardware decoding of H.264 and the like.
A video player does: encoded video data > decoder >YUV > window
Flash player does: encoded video data > decoder > YUV > YUV-to-RGB > RGB > Blend-Flash-elements > browser window.
The key aspect here is the blending step.
For 'just' video streams therefore the player has to be prepared to do blending but it isn't used, but prevents any optimisations for 'movies'.
A further issue for the Linux player currently is his belief that H.264 video can't be hardware-decoded using VAAPI/VDPAU since those APIs can't decode to a memory buffer. Others have pointed out that belief is incorrect, so it is possible if that information is followed up the Linux player may see some useful speed increases for H.264 decoding.
It has also been pointed out that the blended elements could be made into GPU textures in the YUV colourspace, which would allow much of the blending operation to be hardware-accelerated on suitable systems.
So, in terms of performance I think there are two issues people who complain need to understand:
1. It isn't fair to compare playing an FLV video in a standalone player with it being displayed within a Flash applet since the applet could contain elements that need to be blended into the video image (these aren't like simple on-screen-display overlays).
2. There are several areas where the Flash applet could be made much more efficient which would reduce CPU usage on many modern systems with hardware support.