Live data from Hacker News

Thor – A Project to Hammer Out a Royalty Free Video Codec

blogs.cisco.com

91–100 of 169 posts

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#91
post #60

Earlier quoted context omitted.

"NETVC is shooting for the next generation." What makes a codec "next generation"? I assume, broadly, it involves trading off more yet more computation for a tighter encode? (As nearly an embarassingly-parallel problem, video coding continues to get faster with more silicon even if serial performance is stagnant.) What kind of gains can we expect from the "next generation"? All honest questions, BTW. Links welcome, t…

Video encoding is not embarrassingly parallel; no kind of compression ever can be, because if any bit doesn't depend on the previous bit you've wasted it. It is pretty suited to ASICs. Codecs are only efficient up to a certain image size, and then stop working because all the details are too large-scale for them. HEVC works much better than H.264 on 4K. Besides that, there's higher bit depth pixels, 3D, that kind of…

"Video encoding is not embarrassingly parallel; no kind of compression ever can be, because if any bit doesn't depend on the previous bit you've wasted it."

That objection makes no sense. That just implies that at worse parallelization may cost some encoding efficiency. In general, we are quite often willing to pay for that encoding efficiency with gusto given the speedup we can obtain. For instance, http://compression.ca/pbzip2/.

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#92
What I would like to see is a video codec that has a library implementation for reading and writing video in that format, that is cross-platform and relatively easy to build, like libjpeg or libpng does for images. I have tried to build VP9 on windows and it was a tedious and ultimately unfruitful process.

I don't really care about the compression ratios achieved, or speed of compression/decompression.

Something like motion JPEG would be good, if it was actually a proper standard (AFAICT it isn't).

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#93
post #64

Earlier quoted context omitted.

VP9 producing the same quality as x264 at half the bitrate is hard to believe. Do you have a citation? Which `--preset` for x264 are you basing this on?

It's based on --best for VP9 1.4.0 and placebo for x264. Generally improvement tends to be from 30-50%, based on the quality target and content (the lower the bitrate, the greater the improvement). I have objective metrics which test this at http://arewecompressedyet.com/ . If you're more of a visual person, you can take a look at some images here, compressed to 60KB: https://people.xiph.org/~tdaede/pcs2015_vp9_vs_x2…

Those example images are of really low quality video. Usually people who care about image quality do not care about that. Can you show some ~720p 5mb/s x264 versus 3-4mb/s VP9 samples?

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#94
post #28

Earlier quoted context omitted.

Hello, I'm the Daala tech lead. One of the things that made Opus a success was the contributions of others. We certainly don't have a monopoly on good ideas. We'll take pieces of Daala and stick them in Thor and pieces of Thor and stick them in Daala, and figure out what works best. Some of that experimentation has already begun: https://github.com/cisco/thor/pull/8 https://review.xiph.org/874/ https://www.ietf.org/p…

Yeah, we're going to have to start arguing on what to name the hybrid soon, since 'Vopus' is already taken.

I propose Kollóttadyngja!

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#96
post #28

Actually, I'm still rooting for Daala (from Xiph.org, the same folks that did so well with Opus). It's still a long ways away from being finished, but their work is awesome and I've been following it for a while now! Either way, having another effort competing to make a great format is not a problem. Here's hoping it goes well!

Hello, I'm the Daala tech lead. One of the things that made Opus a success was the contributions of others. We certainly don't have a monopoly on good ideas. We'll take pieces of Daala and stick them in Thor and pieces of Thor and stick them in Daala, and figure out what works best. Some of that experimentation has already begun: https://github.com/cisco/thor/pull/8 https://review.xiph.org/874/ https://www.ietf.org/p…

[deleted]

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#97
post #61

Earlier quoted context omitted.

If by MP4 you are referring to H.264, there are still many years remaining on most of the patents. MPEG-LA publishes patent lists, if you're interested to look. You are right in that there are many other encumbered technologies that have patents expiring soon. MPEG-1 and MPEG-2 video, MP3 and AC3 audio, and several container formats are included. Notably, this is almost all of the technologies required to make a DVD.

Yes, MPEG-LA publishes lists, and they need to be looked at closely. Most of the patents have expired. When you go down the list, you see things such as US #6,181,712, which has to do with multiplexing two unrelated video streams into one. Broadcasters and cable systems do this, but Internet video does not. US #6,160,849 only applies to compression of interlaced video, which nobody uses on line. US #7,627,041 is abou…

I think you're right. It's worth the hard look as it would let us take advantage of the existing format instead of push a new one. One's always easier than the other. Looks like we'll be doing same for MP3 soon, too. Glad you mentioned that one as I was going to dodge it for a future project for licensing reasons. Might not have to. :)

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#98

Wasn't Ogg Theora created under just the same principles? I'm not smart enough in all things codec to know how it stacks up technically, but best I can tell, it's unencumbered. https://en.wikipedia.org/wiki/Theora

Theora simply can't do what H264 can. example: http://www.streaminglearningcenter.com/articles/ogg-vs-h264-...

Deleted a prior comment on "why not theora?" because this link is what I was asking for. Thanks.

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#99

What I would like to see is a video codec that has a library implementation for reading and writing video in that format, that is cross-platform and relatively easy to build, like libjpeg or libpng does for images. I have tried to build VP9 on windows and it was a tedious and ultimately unfruitful process. I don't really care about the compression ratios achieved, or speed of compression/decompression. Something like…

Motion JPEG isnt resilient. H264/H265/VP9, etc all build on some of the ideas that JPEG introduces, but introduce features that allow for the stream to be resilient to dropped packets or frames.

Its a cool idea, it just doesn't work in practice. Especially since a lot of these video standards are transmitted over UDP.

Re: Thor – A Project to Hammer Out a Royalty Free Video Codec

#100
post #91

Earlier quoted context omitted.

Video encoding is not embarrassingly parallel; no kind of compression ever can be, because if any bit doesn't depend on the previous bit you've wasted it. It is pretty suited to ASICs. Codecs are only efficient up to a certain image size, and then stop working because all the details are too large-scale for them. HEVC works much better than H.264 on 4K. Besides that, there's higher bit depth pixels, 3D, that kind of…

"Video encoding is not embarrassingly parallel; no kind of compression ever can be, because if any bit doesn't depend on the previous bit you've wasted it." That objection makes no sense. That just implies that at worse parallelization may cost some encoding efficiency. In general, we are quite often willing to pay for that encoding efficiency with gusto given the speedup we can obtain. For instance, http://compressi…

* no compression aiming for efficiency can be

If you have that much need for a speedup, you probably have multiple video streams going (like you're Youtube or a livestream broadcaster). In that case, it's better to do one video per CPU, and now you really are parallel.

Also, you can get up to 4x parallel through slice-threads safely on one video, or 16x through x264's frame-threads if you don't care about your target bitrate. I wouldn't consider that embarrassingly parallel until it's up to 1024x or so, but maybe you do.

Post reply on HN