Live data from Hacker News

Cisco's Open Source H.264 Codec

github.com

11–20 of 84 posts

Re: Cisco's Open Source H.264 Codec

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

"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.

Re: Cisco's Open Source H.264 Codec

#12
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, I could figure it out, but wouldn't it be better to use an enum or a #define?

Re: Cisco's Open Source H.264 Codec

#13
post #6
post #4

Earlier quoted context omitted.

It costs Cisco $6 million a year to do this. I wonder if any of the beneficiaries (Firefox, etc) are pitching in. That sounds like loose change, but probably stuck up in bureaucratic decision-making at anyone who thought of this before. ("Why are we spending $6 million a year to make it free for everyone else again?") EDIT/UPDATE: In the second paragraph, I was referring to other companies and why they didn't do this…

I doubt it costs Cisco anything extra because they probably need the distribution rights for other products they develop (for example WebEx.) Besides it a good PR benefit for them with minimal incremental cost.

It costs Cisco lots (I work at cisco) as we were not close to paying the 6.5 million cap before this. Mozilla has been contributing to the code and making sure the project runs well but not towards any MPEG-LA payments. There are probably a bunch of reasons Cisco did this but making interoperable video just work on the internet would be at the top of the list. That's good for Cisco and others.

Re: Cisco's Open Source H.264 Codec

#14
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. :)

Just for anyone else who hadn't heard of it yet and searches for it, it's apparently spelled "Daala".

Re: Cisco's Open Source H.264 Codec

#15

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…

while i'm sure there's many other examples, in that particular case it's just the maximum value of an unsigned 8 bit integer, as defined above on line 1252.

it would be a bit better if it explicitly had a nice #define but recognizing the values of common powers of two (minus one) is a useful code reading skill.

Re: Cisco's Open Source H.264 Codec

#16
post #15

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…

while i'm sure there's many other examples, in that particular case it's just the maximum value of an unsigned 8 bit integer, as defined above on line 1252. it would be a bit better if it explicitly had a nice #define but recognizing the values of common powers of two (minus one) is a useful code reading skill.

I think you mean 4bit.

Re: Cisco's Open Source H.264 Codec

#17

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.

Re: Cisco's Open Source H.264 Codec

#18
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. :)

Now is a great time for the next generation if VP9 really is patent free or fully licensed OR Daala is ready to take on H.265 AND that Free solution matches or beats H.265 AND that Free solution can get itself in hardware (particularly mobile) solutions in the same timeframe as H.265.

The other possibility for the Free next generation solution is if H.265 licensing is unreasonable (as H.263 was and H.264 wasn't).

For the current codec generation the ship has sailed, the deployed base of H.264 devices means the battle is over.

[Edit: replaced 'open' with 'Free']

Re: Cisco's Open Source H.264 Codec

#19
post #10
post #2

It would be really cool if they provided predictable builds, then we could just compare the binary against a self-compiled binary and be sure tehre are no backdoors we can't see in the code. Sadly even truecrypt fails to provide that. So i guess we'll have to life with binary blobs no one knows what they're really doing.

Hi, I'm one of the people working on the stuff Cisco open sourced and yes, it will be predictable and verifiable builds. We are working with some of the Mozilla folks to make sure we can do that.

How often do you expect new Cisco builds to be published? Will the releases be versioned so Firefox version X knows it will always install OpenH264 version Y from Cisco's binary blob server?

Re: Cisco's Open Source H.264 Codec

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

Why can't they just build ffmpeg (with only h.264 enabled), instead of their own implementation of h.264?
Post reply on HN