Live data from Hacker News

Cisco's Open Source H.264 Codec

github.com

41–50 of 84 posts

Re: Cisco's Open Source H.264 Codec

#41

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.

Works great. You can put 3 hours of 1080p24 content on a single layer DVD (4.4 GB) and it still looks great. And there's room left for a soundtrack too.

Re: Cisco's Open Source H.264 Codec

#42
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...

Seriously... So much for adaptive bit rate.

Makes sense that Cisco would be using CBP after seeing this on Wikipedia:

"this profile is most typically used in videoconferencing and mobile applications"

http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles

Re: Cisco's Open Source H.264 Codec

#43

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.

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.

Re: Cisco's Open Source H.264 Codec

#44

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…

Huh. I don't think it's just you - that looks like some properly nasty code. Formatting is all over the place, lines are commented out, comments are useless and obviously wrong in places... I don't really speak C++ though, so maybe this is normal.

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

Re: Cisco's Open Source H.264 Codec

#45
post #44

Earlier quoted context omitted.

Huh. I don't think it's just you - that looks like some properly nasty code. Formatting is all over the place, lines are commented out, comments are useless and obviously wrong in places... I don't really speak C++ though, so maybe this is normal.

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.

Re: Cisco's Open Source H.264 Codec

#46
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...

[deleted]

Re: Cisco's Open Source H.264 Codec

#47

Earlier quoted context omitted.

From what I understand, Daala is aimed at the generation after VP9/H.265, eg https://lwn.net/Articles/571978/ But I suspect you're right about VP9/H.265 decisions being made now, and royalty free alternatives keeping prices down even when the alternatives don't win a lot of market share (could say the same about the never-winning "linux desktop" -- it gets negligible seats, but may have shifted $$$ from Microsoft pro…

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.

Re: Cisco's Open Source H.264 Codec

#48
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.

I'm not in to video circles anymore, but I was under the impression the existing open source implementations were way better. The reason this code is significant is Cisco is providing licensed binaries.

Re: Cisco's Open Source H.264 Codec

#49
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.

I'm still confused why Cisco is even allowed to do this. Do they pay a flat license fee to MPEG-LA for unlimited usage? I would think they would pay per-seat like most video codecs.

It is, but there's a cap of $6.5M/year (and they'd get some of that back as payment for their patents in the pool)

Re: Cisco's Open Source H.264 Codec

#50
post #43

Earlier quoted context omitted.

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

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"?
Post reply on HN