In fact, MS and Apple could even pull out of MPEG-LA at some point and charge exorbitant fees. Google simply does not want to be at any risk for that sort of FUD in the marketplace. I think that, combined with their ideological DNA (Patents BAAD, open source GOOOD) explains the decision pretty well.
Do you have a source for that? I've read quite a few times that at least Microsoft pays more for licenses than they get back.
Microsoft: US patents: US 6,563,953 US 6,735,345 US 7,289,673 and a number of foreign filings, likely of the same IP.
Apple: US 7,292,636 US 7,548,584 US 7,551,674
US 7,339,991
doesn't matter if they pay in, the point is they are patent holders, and have a say in licensing terms.
Perhaps they project that H264 might want a share of that money anyhow it can, so they decided to cut it off right away.
by moving many features of the codec into postprocessing, the video format becomes scalable; a decoder can do “less work” while still playing back the file, albeit at a lower quality. -- http://x264dev.multimedia.cx/archives/292
I have naively taken that to mean that the trade-off of resolution for battery life can be handled in the decoder; that fewer encodings need to be stored on the server to target the same wide range of devices, vs. h264.
I would love to know whether this is true, and what other practical differences there are between the two codecs from the POV of content producers.
edit: VP8 ... Technically, it produces output on par with H.264 High Profile, while maintaining a low decoding complexity on par with H.264 Baseline. -- http://diveintohtml5.org/video.html#vp8
No. The reason YouTube encodes different versions is mostly for bandwidth, not battery life. Postprocessing doesn't do anything about bandwidth; a 1 Mbps stream is 1 Mbps.
No. For example, to support iPhone prior to v4, they have to encode using the Baseline profile because that's all those devices support. The less complex h264 profiles are designed for CPU-limited devices, not just bandwidth savings -- indeed the most obvious way to save bandwidth is to use the CPU more.