Nobody that hasn't already been wanking over it is going to start using Theora. Authors will just fall back to Flash playing h.264 in mp4 containers via HTTP like they've been doing for years, which Mozilla is eager to support.
There's nothing consistent about their principles.
The salaries of all the cheerleaders and wheel-reinventors have to add up to something substantial. They've got piles of Google cash — they stopped begging for donations after their $60m search-referral windfall in 2006 got publicized, but they've gotten secretive about their financials after that.
I had found the 1099s a while back, but they stopped showing the whole picture after the Mozilla Corporation was created to take the revenue.
They don't have to bundle a h.264 decoder with the browser — Google is the only one that does that with their binaries (depending on how many transcoding machines they had for youtube, they may have already been paying the full license fee), and they're nice enough to dynamically link with libavcodec, so if you build it yourself you can just symlink to your platform's copy, and get every codec under the sun instead of just wav, mp3, aac, vorbis, h.264, and theora.
Apple and Microsoft just link with their native platform libraries (QT & DirectShow), and use the licensed codecs they already licensed to bundle so your computer can function in the real world.
Opera's using GStreamer on at least some of their platforms, but I think it's with a private copy. GStreamer would be a great fit for Mozilla if they'd get their heads out of their asses: they could even bundle their whole own private copy with only their foss-wank decoders. They don't even have to make it fall back to the platform libraries, as long as it's possible to drop in more decoders. They could even implement the same 'a proprietary plugin is missing' thing they do for Flash, and just download the binaries from the upstream developers (most of whom are based in western europe).
Apple gets you to install Quicktime on Windows if you want video in Safari.
Any thoughts on why you'd want to support every codec under the sun (and pay licence fees for most of them) if the market externalities and network-effects lead to only one codec being used? Why argue for "choice" if you know that will lead to people being forced to support one particular codec?
You'd ideally support every codec under the sun by falling back to the platform's API. That "choice" would probably lead to people being forced to support one particular codec (h.264 for now), but it means that they don't have to pay for it. It also takes it out of the total control of the browser vendors — so it provides a path for Dirac/etc. to take off in the future.
There's also the ability for minority codecs to persist without gross transcoding (you can always fall back to a download link + VLC, which is what you had before). One of the worst things about the Theora debacle is that nearly all of the video out there is extra-lossily transcoded from more efficient files.
Of course, since I'm so humble, you can ignore me.
The problem is when a browser doesn't support Theora/Vorbis at all, such as Safari or current news regarding IE9. I'm personally hoping that the released version of IE9 will support Theora/Vorbis -- very unlikely, but a man can dream.
I do know if you build your own Chromium you can use a non neutered library of ffmpeg and play every codec it supports instead of just mp4.
Apple doesn't support Theora in Safari because the iPhone doesn't have a Theora hardware decoder. They bluster a bit about submarine patents, but really, their refusal boils down to the iPhone. If desktop Safari supports Theora and the iPhone doesn't, users will complain. If playing some videos on the iPhone uses the battery faster than advertised, users will complain.
Microsoft, of course, has a long-lasting and well-documented dislike towards open formats. Whether IE9 supports Theora and Vorbis will depend on internal company politics -- "Free Is Bad" vs. "Lets Not Fuck Up IE Again".
No, Apple stated that they don't support Theora "claiming that the lack of known patents on Theora doesn't rule out the threat of submarine patents that could eventually be used against adopters." http://arstechnica.com/open-source/news/2009/07/decoding-the...
They also said that they have no hardwaredecoder, but this is just an excuse, imo. Video decoding is done by DSPs and DSP are designed to be programmable quite flexible. Apple/Whoever just would have to do that.
All in all, the whole situation is very clear when you look at it with the "patent view" ;)
MS: -has Windows Media Player, WMV, pays MPEG Patent fees anyway -> H.264
Apple: -has Quicktime, pays MPEG Patent fees anyway -> H.264
Mozilla: -no license -> Theora
Opera: -no license -> Theora
Goole: -no Codecs but youtube is in mpeg, but can easily switch to theora -> H.264+theora
MS and Apple have reasons to use the H.264 format: they already pay those fees, have expertise with the format, can "supress" the competition with it. Because MS could build in theora support, but what Mozila can't is to build in h.264 format (without paying). Mozilla can only lose this battle and MS&Apple are quite happy about it. There goes the competition. Typical stupid, "selfish", proprieatry bullshit-decission.
Before that there were ZERO independent efforts at implementing Theora decoders — there was the original On2 code dump, and a transliteration of that to Java called Cortado (used in an applet player by Wikimedia). There are no independent encoders, just the original code dump and a deshittifying refactoring (v1.1, Thusnelda) that was just released a few months ago.
Before it was tied as an anchor around the necks of the FOSS partisans, Theora was a really awful totally proprietary (in the original sense) codec. It was open sourced because it was never once licensed to a customer, and On2 only pushed one codec at a time (they never improved them, just forked off a new one).
As for the patents, MS has been shipping h.264 decoders with their OSes for a while now (they always left MPEG2 decoding the OEMs to bundle until recently too). Apple actually has patents in the h.264 licensing pool!
So, dirac it shall be then?
edit: Also you mention technical reason. My reasoning still is: This is not about technical reasons it is a pure political decision to get rid of competition in a shameless way. You don't want to tell me that two of the biggest software companies in the world which did their own codecs (quicktime, wmv) arent capable of shipping a decent theora decoder in their browsers? It's just a stupid manager decision in the likes of "haha, mozilla can't/won't pay mpeg fees, we'll use that".
Dirac is terrific, but it'll be another few years before it's ready; and it'll be much longer before the available bandwidth and demand for quality exists — it'll pick up among people pirating 1080p video, but it doesn't scale down enough for the youtubes of the world.
QuickTime is not a codec and never has been, it's a container, which happens to have been standardized as the MPEG4 container, because it doesn't suck ass like everything else (save Matroska). WMV is mostly a container too — they had a good 'proprietary' WMV codec called VC-1, but they got pwned with submarine patents after they lobbied it into the HD standards war.
It is pretty dangerous to allow H.264 to become widespread here. It would represent a serious barrier to entry for upstart browser vendors. This is bad.
We want to invite as much competition as possible. It's true that if you only account for Mozilla, it's not that big of a deal, because at the end of the day they can afford to pay some licensing fees if they have to. It is a big deal for something like Midori or Epiphany or Konqueror or any other such projects because their usability will be strongly diminished by an inability to play online video. This is a bad thing.
Nokia isn't working on a Theora DSP decoder. In fact Nokia along with Apple were among the strongest voices against including Theora as an interoperable baseline codec in HTML5. (It was revealed, but only later, that Nokia are, like Apple, in the MPEG patent pool). Mozilla are writing the software needed for "hardware" decode on the n900 and similar platforms.
If a DSP decoder counts as an independent Theora decoder then there's several other things that would count too. I would have thought the ffmpeg Theora/VP3 decoder would have counted by any measure.
The On2 code was rewritten, even for Theora 1.0. Theora 1.1 was another major rewrite but mostly of the encoder (though that work also made the decoder faster).
While more an omission or curious framing than an incorrect fact it could be suggested that since Theora is BSD licenced then there is little need for anyone to rewrite it. This is unlike, for example, H.264 where there is no liberally licensed reference implementation (and some experts from x264 think that most independent implementations are atrocious since the spec is easy to mess up). So you seem to have portrayed a strength as a weakness here.
You (or someone else round here) have claimed before that VP3 was never licensed to a paying customer and this is why it was released as open source. I don't think this even makes logical sense, but moreover I believe it to be entirely untrue. Do you have a source for this surprising claim? (The official On2 line from the guy who suggested it is that they open sourced VP3 to "scorch the earth" for competitors as they moved onto the next generation codec)
On2 backported changes introduced in VP6-8 and VP6 improved measurably as a result.
Microsoft only introduced H.264 decoders in Windows 7.
Microsoft are also MPEG patent pool members.
Thanks for pointing out the ffmpeg VP3 decoder, which appears to have SSE2 optimizations and everything — yet another reason why Mozilla should be linking with libavcodec or GStreamer :)
I remember that the original libtheora alpha release was just the On2 BSD-licensed code dump rearranged with the copyright strings changed and working makefiles, but I can't find the original On2 tarball anywhere to confirm that. I just did some spelunking into their old SVN repo, the first few commits seem to be him checkpointing as he's working his way through munging the original files. The alphas just add library glue and their parochial container format fuckedness. The library infrastructure changes a lot more towards 1.0 but it doesn't look like any of the real codec implementation changes at all. http://svn.xiph.org/trunk/theora-old/
There being nothing absolutely forcing independent rewrites just means everyone sticks with one really shitty implementation they don't understand very well, instead of there being a whole spectrum of implementations competing with one another and calling them on their shit — that's how you get implementations like x264. DarkShikari has sassed the crappy commercial h.264 implementors, but he's got vitriol for the single-implementation proprietary codecs.
I'd love to see if someone can find anyone that really used VP3 pre-Theora, because I can't. There's announcements about them making the decoder available through various channels, and then they open-source it a year after 3.2 was shipped. The only thing I can find is this press release touting On2's use of it on a dot-bomb contract: http://www.on2.com/index.php?id=486&news_id=399
VP4 and VP5 fared only a little better, getting distributed in Winamp and Realplayer and getting shelved after a year. VP6 made them huge piles of money after it was bundled in Flash. VP7 got used for Skype's video chat. VP8 appears to complete the circle, with nobody using it that I can find.
Windows 7 was released a year ago. MS is shipping IE9 for Vista, so all those users will probably get the DirectShow codec. I think if you get it if you install the Zune software (it's always been supported on the hardware), or the Media Center stuff from the last several years. The Xbox 360 has shipped it since 2007.
I knew Microsoft were MPEGLA members (they have a huge stake in the VC-1 pool, after all), but I hadn't noticed that they have a big stake in the AVC/h.264 pool as well (Apple has one patent in it).
In the meantime though they have one of the few mobile systems where you can add your own system level code to support video and audio codecs of your choice so it's not all bad.
FFmpeg has had an independent VP3 and Theora decoder for years. The history goes back to 2003. The source is here: http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=libavcodec/vp3.c
The claim about VP3 never being licensed to a customer is pretty ridiculous. Do you have a source?
I just found that libavcodec implementation today — It looks leagues better than the Xiph implementation, but none of the FOSStard projects I've seen use it — most link directly with liboggplay, or if they're transcoders use ffmpeg to decode the input to feed to libtheora.
That's just the thing: I can't find a source to the contrary. On2 never bragged about licensing VP3 to a customer, just distribution of the decoder through Apple and Real's auto-download mechanisms, and one in-house hosting/consulting deal with TheStreet.com in 2000.
FFmpeg has an independent decoder but for encoding it uses libtheora. The FFmpeg decoder has traditionally been slower than libtheora and didn't implement all of the Theora spec. It implemented VP3 plus the part of the spec that the Theora 1.0 (and earlier) encoders produced, but failed to decode spec-compatible output from the Theora 1.1 encoder (which libtheora 1.0's decoder handles just fine). There has been a lot of development of the FFmpeg decoder recently, so most of these issues are fixed. It's possible that the decoder is faster than libtheora now (as of the last 2-3 months), but I haven't benchmarked it.
I don't own a smartphone; if I did, it would never ever be an iPhone. I do own a macintosh laptop, but run Linux on it.
The reason I think the submarine patent is fake is that submarine patents are a risk for H.264 as well. MPEG LA are laying low until H.264 is widespread and they can really apply the thumbscrews; who know how many dozens of other companies are using the same strategy, biding their time until payday?
So why should they use Theora? Are we really making ideological arguments for technology decisions now? The way to stop patents from ossifying the tech industry is to stop filing patents. To do this, people like us are going to have to start pushing back in our companies and displaying prior art whenever the subject of patents comes up with corporate lawyers.
Meanwhile, Mozilla is a corporation. They're a big kid making sums with an "m" at the end. They're one of the majority shares of the browser market last time I looked. They're going to have to start to play the game like a real company and stop expecting everyone to softball them. Already they're behind on the technology front; I only see Chrome and Safari on every hacker's screen that _I_ see these days. If they keep expecting the industry they've so eagerly entered to coddle them, then their future prospects are dim at best.
There can be only one majority share by definition.
I don't really blame them though. The US government allows software patents and has a terrible patent system that massively favours entrenched interests and blessed the MPEG patent pool which created the current mess. (Bear in mind that the US government spent most of the 20th century breaking up patent pools because they were anti-competitive).
People say "there's too many patents around video codecs" but no one stops to ask why. The answer is because anyone who gets a patent into MPEG gets an equal cut of the profits, doesn't matter how small, useless or even counter-productive your idea is. It all adds to the patent thicket that prevents competition.
How can anyone say with a straight face that they are choosing a bureaucratic monopoly because quality is so important to them?
The "invisible hand" that turns corporate self-interest into something socially beneficial only works when there is free competition and erecting barriers to entry (by excluding those who can't or won't pay patent fees) is by definition anti-competitive.
This is why countries like China are pushing for royalty-free standards. Even communist countries understand that open standards and competition are a benefit.
I am suggesting (in line with what I thought were the commonly accepted tenets of free market capitalism) that their self-interest be channelled, not that this motive is intrinsically bad, just that it is not intrinsically good since externalities and market failures can be exploited in the name of corporate self-interest without any compensating benefit to society.
"People of the same trade seldom meet together, even for merriment and diversion, but the conversation ends in a conspiracy against the public, or in some contrivance to raise prices." -- Adam Smith
In your last post, you said: "Anti-competitive actions are always pragmatic if you're not going to get punished for them." From this, I conclude that when you say "anti-competitive", you are referring to actions that ought to be punished. Then, I asked if it was anti-competitive for companies to act in accordance with their own interests instead of aiding competitors, to which you say yes.
From this, I conclude that you are saying that acting in one's own self-interest instead of aiding competitors ought to be punished.
Where have I made a mistake?
erecting barriers to entry (by excluding those who can't or won't pay patent fees)
I don't understand. Native h.264 support is not mandatory for competition or spec compliance. h.264 patent fees, and Mozilla's inability/choice to not pay them only constrain what they implement. It does not prevent them from competing or from adhering to the spec.
For a counter-example, Mozilla was the driving force behind having Theora made a mandatory part of the spec, which would have excluded any parties who couldn't or wouldn't implement it. Would that have been anti-competitive?
In this particular real world you can't micromanage like that, and you'd end up with bad government if you even tried, but still companies are punished for the anti-competitive actions which are big or bad enough to be worth prosecuting, and are generally expected to refrain from doing so all by themselves. (Often they are encouraged to self-regulate by the threat of intrusive mandated regulation.)
I personally would prefer it if patents, standards bodies and a few other such institutions were reformed to encourage greater competition and prevent anti-competitive behaviour.
In the particular case of H.264 there are a range of problems with the current system, even before you bring web standards and browsers into the picture. Basically patents plus network effects are a bad mix and MPEG has the whole world on a patent upgrade treadmill. Ironically, standards were a previously successful tool to avoid proprietary vendor lock-in, but they have since been captured by the very organisations they were meant to regulate.
Making any royalty-free standard mandatory (e.g. Theora) is only an issue because of potential patent claims from trolls in general or MPEG-LA members specifically. This can and should be fixed in the patent system (e.g. China have announced plans to compulsorily licence patents that have claims on mandated standards, some US legal authorities suggest that it be your responsibility to notify standards bodies of patent issues or else you lose your patent rights, many EU member states don't consider MPEG "open" standards because they require royalties and so can't be used by government). Without that patent threat there is no substantive reason to not implement Theora (or any potential VP8 derived codec).
My own understanding is, even with the vagueness of the current patent system, that the groups who have refused to implement Theora have done so primarily because of influence brought to bear on them by MPEG-LA which makes any suggestion of anti-competitiveness of Theora circular since it relies on the existence of an anti-competive body which is using its power to prevent implementations of rival codecs.
I agree. We undoubtedly disagree on what things and in what ways, but I don't think the current systems and organizations are operating at their best, either. On most aspects of the larger problems am very undecided, but I have a particular bee in my bonnet over this issue because I strongly disagree with Mozilla's handling of the situation.
standards were a previously successful tool to avoid proprietary vendor lock-in
They still are. That's why we're talking about a single (albeit broad) format called "h.264", which dozens of vendors support and not dozens of different competing locked-in formats.
but they have since been captured by the very organisations they were meant to regulate
I'm not sure what you mean by this. To my knowledge, the primary participants in the relevant standards bodies have always been the same ones cross-licensing their IP. That would seem to make sense: You can't have interoperable standards if the parties won't share what they have, and the most reliable way of getting someone to share what they have is to give them something in return.
Making any royalty-free standard mandatory (e.g. Theora) is only an issue because of potential patent claims from trolls in general or MPEG-LA members specifically.
I disagree. Making any codec mandatory means mandating risk. In a standard, this means implementors agreeing to take on that risk--but the parties involved in HTML5 have not agreed to take on the risk of any codec. Why they choose not to is irrelevant from the viewpoint of authoring a standard. There is no sense in publishing a standard that is full of stuff which isn't actually standard. Trying to alter reality by altering the spec would not work regardless of patents -- it would just make otherwise compliant parties non-compliant, to no end but smug satisfaction.
(It's worth noting here that h.264 was never mandated by the spec. The parties that implement it have done so for their own reasons, without being mandated.)
Without that patent threat there is no substantive reason to not implement Theora (or any potential VP8 derived codec).
The same is true of h.264, with the essential difference that licensing allows the risk to be managed, even without patent reform. As in, today. If we had to hold up all progress until the messy problems of international IP law had been solved, h.264 would be patent-free by the time we were finished.
And this on top of the fact that there is very little technical or economic reason to implement Theora. It's just not that useful.
the groups who have refused to implement Theora have done so primarily because of influence brought to bear on them by MPEG-LA
On what evidence do you make this claim?
No you didn't. The question you asked was, and I quote: "You're saying it's anti-competitive for companies to act in accordance with their own interests rather than go out of their way to support their competitors?" Note you used supporting, a passive role, rather than aiding, which is active. To state the obvious: your mistake was assuming that the process of synonymy strictly preserves meaning, which isn't the case.
Note that I used "go out of their way to support". The active role was clearly implied, and consistent with the context.
ZeroGravitas described Apple and Microsoft's choice (to use h.264) as an "anti-competitive action", and in contrasting that choice with an alternative, I thought it was obvious that I meant choosing (acting) differently, i.e. using Theora, in spite of it not being in their own interests. What else might I have meant?
If we were talking about a passive role of "supporting", then Apple (and possibly Microsoft) would have to be excluded, as their <video> implementation (at least on the desktop) allows for installing additional third-party codecs, such as Theora. In that sense Apple supports Theora, but clearly that is not what we're talking about.
I know of no other sense in this context that Apple or Microsoft could support Mozilla without also aiding them.
(The reason I stated this initially in terms of "going out of their way" was to distinguish this situation from situations in which self-interested competitors benefit each other directly, such as how Apple's work on WebKit benefited Google's work on Chrome (and vice versa). There was no argument made to suggest that choosing Theora would have been in the interests of Microsoft or Apple, though, so this was (I thought) redundant, hence the change.)