I don't see how the web browser is the right place for codecs to live. I have multiple web browsers and multiple media players installed. Do I need six copies of every codec?
And that's part of the problem too. The Mozilla devs have made it next to impossible to plug in a video decoder to replace the embedded one, so there's no way to just punt the decision to the OS by passing the video to DirectShow / QuickTime / gstreamer / etc. It's Theora or nothing.
Dirac stands a good chance of being added in the near future.
It seems it would be a weekend task to add a mozilla extension that replaces <video> with embedded Microsoft Windows Media Player <object> tags, and the necessary scripting hokum.
Entirely doable, but <object> doesn't expose the same scripting APIs that <video> does. So, for instance, you will get a playable video in YouTube, but none of the YT buttons will work.
The YT buttons could be made to work because there is an analog for them, for example: document.getElementById('video').controls.pause(); does what you would expect.