
A Sneak Peek Comparison of x264, x265, and libvpx - babak_ap
http://techblog.netflix.com/2016/08/a-large-scale-comparison-of-x264-x265.html
======
jjcm
I'm sad they skipped out on a 4k resolution test. I'd really like to see how
they compare at those resolutions or higher, since really x265 isn't really
going to be ubiquitous in hardware for another couple years. At that time 4k
should (hopefully) be the standard, or at the very least will be a common use
case.

~~~
voltagex_
>We will also follow-up with a more detailed tech blog post and extend the
results to include 4K encodes.

~~~
jjcm
Ah excellent. Saw the presentation info stuff and stopped reading. Glad to see
it - plenty of debates among friends about the actual performance of h265 at
4k, so I'm excited that they're doing it.

------
sergiotapia
@dang: Can you update the second x264 to x265 in the title?

\---

The only bad thing I've ever heard about x265 is that it needs beefier
hardware compared to x264. Otherwise it's better in every regard. Is this
true?

~~~
clouddrover
The worst thing about H.265 is the patent licensing situation. There are two
separate patent pools and you need a license from both:

1\. [http://www.streamingmedia.com/Articles/Editorial/Featured-
Ar...](http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/New-
HEVC-Patent-Pool-What-Are-the-Implications-103042.aspx)

2\.
[http://www.mpegla.com/main/programs/HEVC/Pages/Intro.aspx](http://www.mpegla.com/main/programs/HEVC/Pages/Intro.aspx)

3\. [https://www.hevcadvance.com/](https://www.hevcadvance.com/)

It's much simpler and easier to use formats which are licensed under royalty-
free terms, which is what VP9 offers now and what AV1 will also offer in
future:

1\. [https://en.wikipedia.org/wiki/VP9](https://en.wikipedia.org/wiki/VP9)

2\.
[https://en.wikipedia.org/wiki/AOMedia_Video_1](https://en.wikipedia.org/wiki/AOMedia_Video_1)

To me the important result from Netflix's test is that VP9 is better than
H.264, almost as good as H.265, and absent the patent licensing problems. I
think the simpler licensing makes VP9 the better choice today and AV1 the best
choice in the future.

~~~
jjcm
Realistically it will probably come down to what's implemented in hardware.
Youtube's 4k video in chrome is really a terrible experience when you don't
have hardware acceleration for vp8. It pegs your CPU at nearly 100% and god
help you if you're viewing a 4k 60fps video.

Luckily it looks like most hardware manufacturers are getting on board with
VP9 these days, but the current support for encoding at least is abysmal:
[https://en.wikipedia.org/wiki/VP9#Hardware_encoding.2Fdecodi...](https://en.wikipedia.org/wiki/VP9#Hardware_encoding.2Fdecoding_support)

~~~
nightcracker
What makes you think that 4k 60fps is even possible without hardware
acceleration? That's 12.7 Gbps output bandwidth (assuming true color), barely
possible even using just memcpy, let alone decoding.

~~~
abainbridge
Interesting point. However, just to be pedantic, if memory bandwidth were the
only bottleneck, you'd expect video decoding to generate output faster than
memcpy, since it wouldn't have to read as much :-)

My Intel NUC cost me £300 in January and is therefore a fairly low-end
machine. It has 307 Gbps of memory bandwidth (2 slots of DDR4-2400). It's
surprising how big that number is on a cheap machine today.

I'd love to see a profile of where the CPU time goes in a modern CPU-only
video decoder. I guess I could get off my arse and do the profiling myself
instead of posting this. Anyway, my guess is that the processor speed is the
bottleneck, not the memory bandwidth.

------
corysama
> x265 outperforms libvpx for almost all resolutions and quality metrics, but
> the performance gap narrows (or even reverses) at 1080p.

It's not clear if this means libvpx is sometimes better than x265 at
resolutions > 1080p or <= 1080p. I think the author intended "occasionally
better when <= 1080p"

~~~
MBCook
I read it as "at 1080p they become equal or libvpx is better"

~~~
sirclueless
Right, the question is which direction you are going when you hit 1080p. Are
you going down from 4k? Or up from 720p.

In context, it's likely they mean "1080p [or higher]", but it's arguably
ambiguous.

------
IntelMiner
I've been playing around with reencoding all my media to H.265/HEVC at home.
The space savings over the older H.264 are around 50% (or better!) depending
on what I encode

I have a lot of digitized box sets of TV shows, things like The Simpsons or
King of the Hill. Most bit torrent copies of these shows weigh in at about
180MB/episode (for a 480P video)

Encoding them through H.265 using NVIDIA's "Nvenc" encoder (CPU encoding is
paaaainfully slow) I can get them down to a mere 60MB on average, with no
discernible quality difference

Moving up to 1080P files, I encoded some Star Trek: The Next Generation
digital remasters, they shrunk from 600MB to about 350-400MB. Not quite as
impressive, though I had to scale up the quality as HEVC was wrecking havoc on
some of the low contrast areas (like character uniforms turning into one flat
smeared looking color)

~~~
agumonkey
Did you make screenshot by any luck ?

btw: a 1080p episode (30min?) at 400MB is impressive enough for me.

~~~
IntelMiner
I'll post some screenshots when I get home from work :)

------
angryasian
I imagine the biggest difficulty is the licensing for x265. It may have
changed now but from last I knew they wanted a royalty from streaming services
monetizing the use of x265.

------
broodbucket
the second "x264" in the title should be "x265", was very confusing to parse

------
oDot
Any news from Daala?

~~~
dkbrk
There was a blog post a few months ago: [0]

It looks like there have been a few dead ends -- clever ideas that for one
reason or another didn't pan out -- but overall, it's making solid progress.
It remains, however, very experimental and is far from complete.

One area in which Daala works very well right now is in compression of still
images. There's a demo at the bottom of the page which shows it as _much_
better than HEVC for that purpose, and you can also see how the codec has
improved over time. Of course, the relative goodness of codecs isn't
necessarily consistent over widely varying bitrates.

In some of the earlier posts the Daala researchers expressed the belief that
the quantitative metrics often don't accurately correspond to subjective
perception of quality. Netflix seems to be putting a lot of work into
developing better metrics [1], but the Daala researchers seem to rely on
subjective A-B tests as the 'gold standard'.

[0]:
[https://people.xiph.org/~jm/daala/revisiting/](https://people.xiph.org/~jm/daala/revisiting/)

[1]: [http://techblog.netflix.com/2016/06/toward-practical-
percept...](http://techblog.netflix.com/2016/06/toward-practical-perceptual-
video.html)

------
inthewoods
I find it odd that Netflix is using Youtube and Periscope to do their
broadcast. I get that that is where the audience is - but I'm surprised they
aren't also broadcasting it using their own tech.

~~~
hackcasual
Live video streaming isn't in their wheelhouse.

~~~
inthewoods
Oh I get that, but I'd expect some sort of hack on it.

------
hackuser
Firefox tells me: Secure Connection Failed

EDIT: No idea why it would redirect me to https. I only clicked the link like
everyone else.

~~~
edmorley
Noscript causes this for some reason

~~~
hackuser
I do have NoScript, but I don't know what NoScript feature would force this
page to httpS.

~~~
clouddrover
Probably the HTTPS enforcement:
[https://noscript.net/faq#qa6_3](https://noscript.net/faq#qa6_3)

~~~
hackuser
Thanks. Wow, can NoScript be unpredictable.

1) _Forbid active web content unless it comes from a secure (HTTPS)
connection_ would, I assume, block the active elements, not redirect the
entire page to HTTPS.

2) I had it set as:

 _Forbid active web content unless it comes from a secure (HTTPS) connection_
= Never

You'd think that would disable it, but according the question just above the
one you linked, _Never_ apparently means _Always unless the site is
whitelisted_ :

\----

 _Open NoScript Options|Advanced|HTTPS|Behavior, click under Forbid active web
content unless it comes from a secure (HTTPS) connection and choose one among:

1\. Never - every site matching your whitelist gets allowed to run active
content.

2\. When using a proxy (recommended with Tor) - only whitelisted sites which
are being served through HTTPS are allowed when coming through a proxy. This
way, even if an evil node in your proxy chain manages to spoof a site in your
whitelist, it won't be allowed to run active content anyway.

3\. Always - no page loaded by a plain HTTP or FTP connection is allowed._

------
merb
> x265 outperforms libvpx for almost all resolutions and quality metrics, but
> the performance gap narrows (or even reverses) at 1080p.

if you only read the TL;DR part i.e. What did we learn? You think wow that's
bad for libvpx. Than you read:

> 3 resolutions (480p, 720p and 1080p)

And think... well not that bad. 2/3 vs 1/2 isn't bad.

