I would not see so many differeces in cpu usage between vlc and mplayer (and even xinelib) as all are based on ffmpeg. When you compile mplayer/xinelib with external ffmpeg then lots of code is the same. Differences are often different demuxers, gui and special features. Some tasks just can be done better with one of em. I. e. the vlc mozilla plugin seems to be more advanced compared to the mplayer wrapper, which has it advantaged too, like easy downloading of embedded videos.