Live data from Hacker News

Cisco's Open Source H.264 Codec

github.com

51–60 of 84 posts

Re: Cisco's Open Source H.264 Codec

#51
post #43

Earlier quoted context omitted.

Open source means these things: http://opensource.org/osd "Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:" Without being able to build and use it, the "derived works" section can't be met.

That reads more like the GPL than a definition of what open source means. What, then, do you call code that provides the source but does not allow you free distribution of both the source & binaries? "The source is open but it's not open source"?

Usually that's called shared source.

Re: Cisco's Open Source H.264 Codec

#52
post #23

There sure are a lot of hard-coded numbers in that codebase. In many cases it's easy to figure out where the numbers came from, but in others, it's nearly inscrutable without a named constant or a comment or something . Here's one example: https://github.com/cisco/openh264/blob/master/codec/encoder/... Where does "15" come from? I suppose if I'd written a codec like this before, or if I stared at the code long enough…

Encountered this topic recently in the office.. I'm from the side of the fence that doesn't overly care about code tidyness, so long as it performs its overall function. 10 years ago this kind of thing might have bothered me a lot more, but at some point crossed a threshold where I realized _all code generated to the present day_ is pretty ugly and long term unmaintainable (but that's a story for a rather large and r…

Your first paragraph sounds quite defeatist. In my experience, the way you deal with "minor details" is to write them down in a style guide. It'll take away a lot of the quibbling about small things. Some will find it limiting, others will find it liberating.

I've worked at several jobs that had decade old code in production. Some cared about the little things, some didn't. I know which code was the best to work with. In my experience, the broken windows theory is true when it comes to code. The little things matter in the long run.

Re: Cisco's Open Source H.264 Codec

#53

Earlier quoted context omitted.

"Free as in as long as you don't try to compile your own." If you think that addresses the issues at play, you haven't been paying attention to both sides of the debate.

Open source does not mean free to build & use. It means open source.

That's exactly what I'm saying; open source misses the point. This is a free software issue.

Re: Cisco's Open Source H.264 Codec

#54
post #44

Earlier quoted context omitted.

It's not because it's C++... this is just really ugly code.

The good point is that other hacked together quasi-compatible implementations now have an "official" reference implementation to browse. It could be a lot worse... I've waded through uncommented OCaml to discover how a certain shall-go-unnamed commercial, non-restful XML API worked. Or, Cisco could've never open-sourced it.

AVC/H.264, like many MPEG standards, has an official reference implementation: http://iphome.hhi.de/suehring/tml/

Re: Cisco's Open Source H.264 Codec

#55
post #40

What about x264 hosted at VideoLAN: http://www.videolan.org/developers/x264.html ? It's open source and people have implemented tons of cool software tools with it.

The key here is Cisco is paying the patent royalties for anyone who uses their codec binaries - which will cost them $6.5m/year. They could do the same for x264, but it's probably legally safer to distribute an implementation they wrote themselves.

Thanks for the classification. I was not aware of those costs.

Re: Cisco's Open Source H.264 Codec

#56

Earlier quoted context omitted.

That might be the plan for Daala but it really needs to be MUCH better to make another generational change worthwhile. I don't think VP9 can win the current fight to be honest. I doubt it is patent free, or good enough. I also wonder if Google can cooperate in the way required to build support for it outside of its Android family.

VP9 is licensed for all MPEG-LA patents, so it has that going for it.

1) I think that was VP8. I don't know if those patents are licensed for use with other codecs or the extent to which VP9 uses the same technology.

2) MPEG LA doesn't have patents they invite patent owners to contribute them to patent pools for a cut of revenue. Where companies have not been involved with the development of standards they are not obliged to license them on FRAND basis so there is more reason not to join a pool. Nokia at least is in the pool for various MPEG standards but not VP8, there may be others waiting to troll if large scale use occurs.

3) Nokia hadn't joined the VP8 pool and was actually using a VP8 relevant patent against an Android manufacturer. I don't know the current status of this case but if you have a link to recent news I would be grateful.

Re: Cisco's Open Source H.264 Codec

#57
post #8
post #5

Earlier quoted context omitted.

No, it hasn't put an end to debate at all. This is an ugly workaround and still requires Cisco to build binaries on your behalf. It's quite a stretch of "open" and certainly not "free" (not that it claims to be). There is still ongoing work to create a better, free standard.

VP8 exists, and is free VP9 exists, is better and free (in Chrome, will be in Firefox release in a few months) There is still ongoing work to create a better, encumbered codec, h.265 There is going work to create a much better, free codec, Dalaa Now is a good time to finally break free of encumbered video codecs. If not now, when. :)

vp8 is as free as this.

just replace mpegla with google.

Re: Cisco's Open Source H.264 Codec

#58
post #9
post #3

I'm genuinely curious --- how come nobody thought of doing this (being some kind of platinum member and just putting it out there for all to use) all these years during the fighting about h.264 vs the open web and yada yada? What Cisco did seems to have put an end to all those debates, and h.264 is available for all, with patents intact, etc.

Fluendo does this with MP3, but that license is only $50K instead of millions. People proposed this idea repeatedly to Mozilla back in the day but they rejected it. Maybe they feel their hands are somehow cleaner if Cisco is paying instead of them.

moz would have to foot the 6mi.

cisco pays 6mi, and them mpegla returns 3mi to them for their patents in the pool. and if the format becomes ubiquitous, they get any few billions from this same pool from their competitors when they also license it.

they are still the bad guy in this.

Re: Cisco's Open Source H.264 Codec

#59
post #8
post #5

Earlier quoted context omitted.

No, it hasn't put an end to debate at all. This is an ugly workaround and still requires Cisco to build binaries on your behalf. It's quite a stretch of "open" and certainly not "free" (not that it claims to be). There is still ongoing work to create a better, free standard.

VP8 exists, and is free VP9 exists, is better and free (in Chrome, will be in Firefox release in a few months) There is still ongoing work to create a better, encumbered codec, h.265 There is going work to create a much better, free codec, Dalaa Now is a good time to finally break free of encumbered video codecs. If not now, when. :)

Interesting enough Youtube has removed the HD WebM formats and only offers 360p for WebM and higher quality is mp4 only. Strange decision baring in mind that Google is behind pushing WebM.

Re: Cisco's Open Source H.264 Codec

#60
post #22

>Constrained Baseline Profile up to Level 5.2 (4096x2304) Well, I wasn't expecting miracles from this, but constrained baseline profile only? That's very disappointing. Not only will this be unable to decode most of the H.264 content out there (web and otherwise), you could very likely get better results with VP8. If only they'd have endorsed something like libavcodec instead...

The real challenge for Cisco is to play well with contributors.

While initially, members of the project seemed to be from the same Cisco family, it looks welcoming: https://github.com/cisco/openh264/blame/master/CONTRIBUTORS

Post reply on HN