Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > VP9 and AV1

Reply
 
Thread Tools Search this Thread Display Modes
Old 8th October 2018, 11:31   #1081  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 447
Quote:
Originally Posted by benwaggoner View Post
Can a modern system do that for HEVC? HEVC decode is going to be more inherently parallelizable due to WPP. And I'm not aware of any software decoders that can do a realtime 2160p60 HEVC on any hardware I've looked at.
I just did some tests with my trusty 4c/8t Nehalem Xeon x3470 @ 2.93GHz, and I was able to play back a particularly intensive 40fps (not a typo) 3840x2160 20Mbps HEVC video clip without issue, though it seems just barely as even 41fps resulted in stuttering.

So at least for 60fps 4k HEVC at the same 20Mbps bitrate, you would only need at most 50% more CPU horsepower, though if it was 60fps 30Mbps then you might need 100% more CPU horsepower.

...however, even 100% more performance should be relatively easy to achieve when you consider the following:
  • Modern CPU architectures (Haswell and Zen1) are ~50% faster clock-for-clock than Nehalem (and Sky/Kaby/Coffee Lake has even faster IPC as will Zen2)
  • Having 50% more CPU threads (6c/12t) is quite common nowadays and can now even be had in high-end laptops (not to mention that 8c/16t is also a thing)
  • 50% higher clockspeed (4.4GHz) is right around the max turbo speed for modern higher-end desktop CPUs on both Intel and AMD (and ~5GHz overclocks are not at all uncommon anymore)

Combine all three aspects and you should not only be able to play 4k HEVC @ 60fps without issue, but you could probably even do it at 90fps if not 120fps.
Nintendo Maniac 64 is offline   Reply With Quote
Old 8th October 2018, 11:50   #1082  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Consumer bitrate HEVC content can definitely software decode through ffmpeg/avcodec on a high-end'ish machine at 4K 10-bit 60 FPS (ie. like those 60 FPS UHD Blu-rays). WPP isn't really needed for that either, since its a bitstream feature thats not mandatory. Frame-based threading is fine.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 8th October 2018, 17:15   #1083  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,736
Quote:
Originally Posted by Nintendo Maniac 64 View Post
I just did some tests with my trusty 4c/8t Nehalem Xeon x3470 @ 2.93GHz, and I was able to play back a particularly intensive 40fps (not a typo) 3840x2160 20Mbps HEVC video clip without issue, though it seems just barely as even 41fps resulted in stuttering.

So at least for 60fps 4k HEVC at the same 20Mbps bitrate, you would only need at most 50% more CPU horsepower, though if it was 60fps 30Mbps then you might need 100% more CPU horsepower.

...however, even 100% more performance should be relatively easy to achieve when you consider the following:
  • Modern CPU architectures (Haswell and Zen1) are ~50% faster clock-for-clock than Nehalem (and Sky/Kaby/Coffee Lake has even faster IPC as will Zen2)
  • Having 50% more CPU threads (6c/12t) is quite common nowadays and can now even be had in high-end laptops (not to mention that 8c/16t is also a thing)
  • 50% higher clockspeed (4.4GHz) is right around the max turbo speed for modern higher-end desktop CPUs on both Intel and AMD (and ~5GHz overclocks are not at all uncommon anymore)

Combine all three aspects and you should not only be able to play 4k HEVC @ 60fps without issue, but you could probably even do it at 90fps if not 120fps.
Good analysis. Thanks!

This suggests that common consumer system isn’t likely to be able to do SW 2160p60 decode for some time to come. It seems likely to me that the installed base of computers that can decode 2160p60 HEVC in HW is many times higher than that can do it in SW.

Also, 60p isn’t THAT common in professional content; it’s mainly seen with sports. Entertainment seems stubbornly stuck at 24p, which is a lot easier to decode.

Most PCs don’t have UHD displays, of course, and many of the devices that do have a pixel size so small that delivering UHD resolutions is kind of pointless (on a 15.4” 3840x2160 display, a well-encoded 1080p 24-60p isn’t going to be obviously degraded compared to a 2160p on the same screen).

But for cases where UHD playback, particularly at high frame rates, matters, HEVC is going to have a much bigger installed base beyond 2020.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 8th October 2018, 20:28   #1084  |  Link
dapperdan
Registered User
 
Join Date: Aug 2009
Posts: 201
Mozilla Research grants available to work on AV1 related projects:

https://mozilla-research.forms.fm/mo...8h2/forms/5348

Quote:
Core Web Technologies: Mozilla has been deeply involved in creating and releasing AV1, an open, royalty-free video encoding format. We are looking for someone to port the rate control model from Theora/Daala to AV1, and to explore how best to use novel AV1 features like alt-refs and frame super-resolution to optimize the result.

Last edited by dapperdan; 8th October 2018 at 20:31.
dapperdan is offline   Reply With Quote
Old 8th October 2018, 20:37   #1085  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 94
i7-7700K is capable of software-decoding HEVC 4K@60fps (10bit, >50mb/s) in real time using ffhevc. But a faster CPU (or a faster decoder) is probably required for smooth day-to-day usage.

The better optimized ffvp9 decoder is way way faster than ffhevc. I know the theoretical complexity of HEVC and VP9 decoders is not the same. But the gap here is really largely attributed to better optimizations.

Assuming dav1d will reach a sufficiently-optimized state in months, I think we can conservatively predict that above mid-range devices sold in 2019 should be capable of software-decoding AV1 4K@60 fps just fine.
__________________
saldl: a command-line downloader optimized for speed and early preview.
MoSal is offline   Reply With Quote
Old 8th October 2018, 20:57   #1086  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,986
My 6700k at work struggles to decode 4kp24 VP9 in software (in latest Chrome playing 4k YouTube content). Switch on hardware decoding, however, and my little GTX 960 does it without breaking out a sweat (windows reports approx 30% decode utilization).

Software playback of 4kp60 AV1 on 8 modern cores seems like a reasonable target to me, but it's kind of a moot point. Your average consumer watching 4k videos on YouTube probably doesn't have an 8 core CPU. I certainly don't, and I'm a hardcore tech / video nerd

I think YouTube will be using VP9 for 4kp60 VOD for quite some time, since there's lots of hardware decoders out there by now, and Google takes a very dogmatic position against HEVC
Blue_MiSfit is offline   Reply With Quote
Old 9th October 2018, 06:05   #1087  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 447
Quote:
Originally Posted by Blue_MiSfit View Post
My 6700k at work struggles to decode 4kp24 VP9 in software
That's strange as I can play a 2160p30 VP9 YouTube video at 47fps (therefore has an effective bitrate of 28Mbps) in MPC-HC v1.8.3 x64 on my Xeon x3470 which is basically just a 1st gen i7, so surely a 6th gen i7 should have no issue with 60fps 4k VP9 let alone 24fps.

Quote:
Originally Posted by Blue_MiSfit View Post
in latest Chrome
...oh, that might be the problem.

If you play the exact same VP9 video stream in MPC-HC then it should be a total cakewalk for your 6700k; I believe this is because Chrome uses the libvpx decoder while MPC-HC and LAVfilters uses ffvp9.

It's my impression that Firefox also utilizes ffvp9, so you may be able to alternatively use that instead of Chrome in order to get performance similar to what is seen with MPC-HC/LAVfilters.
Nintendo Maniac 64 is offline   Reply With Quote
Old 9th October 2018, 14:36   #1088  |  Link
Clare
Registered User
 
Join Date: Apr 2016
Posts: 61
If you want to patch ffmpeg to use libdav1d, I have this patch: https://gist.github.com/WyohKnott/09...190a9855119ba9

To test with mpv, use mpv --vd=libdav1d

Some Rav1e data: https://wyohknott.github.io/video-fo...son/rav1e.html

Speed is there but the quality is way way below x264 for now.
Clare is offline   Reply With Quote
Old 9th October 2018, 16:11   #1089  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,901
Quote:
Originally Posted by Adonisds View Post
Would a modern 8 core/16 threads processor be able to software decode av1 4k60 hdr video once the decoder is more optimized?
Quote:
Originally Posted by Blue_MiSfit View Post
I'd better hope so! If not, AV1 is going to have a hard time.
Quote:
Originally Posted by Nintendo Maniac 64 View Post
It seems that LAVfilters v0.73 / MPC-HC v1.8.3 improves AV1 performance a tad (~20% faster), but it's multi-threaded utilization is still poor (only ~26% utilization with 4c/8t Nehalem).
Anything above 3c/3t still sees no benefit, and SMT still sees no utilization (though Nehalem's implementation of SMT is certainly going to be weaker than more modern implementations e.g. Ryzen).
Quote:
Originally Posted by benwaggoner View Post
Can a modern system do that for HEVC? HEVC decode is going to be more inherently parallelizable due to WPP. And I'm not aware of any software decoders that can do a realtime 2160p60 HEVC on any hardware I've looked at.
Quote:
Originally Posted by nevcairiel View Post
Consumer bitrate HEVC content can definitely software decode through ffmpeg/avcodec on a high-end'ish machine at 4K 10-bit 60 FPS (ie. like those 60 FPS UHD Blu-rays). WPP isn't really needed for that either, since its a bitstream feature thats not mandatory. Frame-based threading is fine.
Quote:
Originally Posted by MoSal View Post
i7-7700K is capable of software-decoding HEVC 4K@60fps (10bit, >50mb/s) in real time using ffhevc.
Quote:
Originally Posted by Clare View Post
If you want to patch ffmpeg to use libdav1d, I have this patch.
In your analysis following the initial question, you missed the single most important parameter regarding SW decoding speed which is not resolution (4K), frame rate speed (60fps) or quality (10bit).

It's bitrate/ bandwidth.
The UHD Blu-rays mentioned above, are 4K60fps HDR10 at 140Mbps HEVC video stream.

Please, find me a non HEDT CPU that could decode such stream in real-time.

I mean I doubt if Ryzen 2700X could do it or the Core i9 9900K that announced yesterday.

So, regarding decoding of 4K60fps AV1 at similar bitrates of 140Mbps is surely out of question.

Now, regarding AV1 decoding progress, latest LAV 0.73 using libaom is around 13% faster than previous libaom version of LAV 0.72.x which is really impressive and this is something I mentioned at LAV filters thread, the progress of libaom.

Still, it seems to me as a 3 threaded decoder.

Eventually, it looks like dav1d is not the only AV1 decoder progressing and the battle for the fastest AV1 decoder is still alive.
__________________
Win 10 x64 (19042.572) - Core i5-2400 - Radeon RX 470 (20.10.1)
HEVC decoding benchmarks
H.264 DXVA Benchmarks for all
NikosD is offline   Reply With Quote
Old 9th October 2018, 17:21   #1090  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,640
Quote:
Originally Posted by Clare View Post
If you want to patch ffmpeg to use libdav1d, I have this patch: https://gist.github.com/WyohKnott/09...190a9855119ba9
Is this compatible with latest dav1d git head? I can successfully build dav1d and the ffmpeg libs (for LAV Filters) but it crashes at playback start.

dav1d.exe is working ok, but annoying that it requires outputting to a (huge) file.
clsid is offline   Reply With Quote
Old 9th October 2018, 17:53   #1091  |  Link
Clare
Registered User
 
Join Date: Apr 2016
Posts: 61
Quote:
Originally Posted by clsid View Post
Is this compatible with latest dav1d git head? I can successfully build dav1d and the ffmpeg libs (for LAV Filters) but it crashes at playback start.

dav1d.exe is working ok, but annoying that it requires outputting to a (huge) file.
Yeah you need a recent GIT, I used da97ba3f from Oct, the 4th.
Clare is offline   Reply With Quote
Old 9th October 2018, 18:05   #1092  |  Link
Mr_Khyron
Member
 
Mr_Khyron's Avatar
 
Join Date: Nov 2002
Posts: 203
HEVC vs AV1 and The Future Of The Codec Battle | NAB Show

https://www.youtube.com/watch?v=rMgUk002JrU
Mr_Khyron is offline   Reply With Quote
Old 9th October 2018, 21:11   #1093  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 447
Quote:
Originally Posted by NikosD View Post
It's bitrate/ bandwidth.
The UHD Blu-rays mentioned above, are 4K60fps HDR10 at 140Mbps HEVC video stream.
To my credit, I've started mentioning bitrate in my more recent posts talking about HEVC and VP9 decoding performance for this very reason. I also linked to the AV1-encoded YouTube video clip that I was testing with, so one could always find out the bitrate themselves if they absolutely needed to know what it was.


Nevertheless, I personally think that 4k AV1 encoded at anything higher than 50Mbps will be extremely unlikely to exist in the wild even at 120fps. The major reason for this is because it's my impression that current video streaming services already only use ~20Mbps for their 4k 24fps content with codecs that are less efficient than AV1, and higher framerate do not require a linear increase in bitrate (last I checked, YouTube used only 33% to 50% more bits for 60fps compared to 30fps, yet the 60fps encode always looked better).

Now while that only covers internet streaming and not the likes of disc media, I see it even more unlikely for AV1 to be adopted for such a thing due to a case of "not invented here" syndrome with the MPEG-LA and the various companies more interested in traditional broadcast media and the like. The one exception to this might be game consoles, but they require relatively modern and/or high-end GPUs anyway and therefore are extremely likely to have AV1 hardware decoding...and even then, as graphics become better and better, there becomes less and less of a need to utilize any sort of pre-recorded video (which takes up more storage capacity) rather than just rendering the scene in real-time.
Nintendo Maniac 64 is offline   Reply With Quote
Old 9th October 2018, 21:15   #1094  |  Link
mzso
Registered User
 
Join Date: Oct 2009
Posts: 930
Quote:
Originally Posted by NikosD View Post
In your analysis following the initial question, you missed the single most important parameter regarding SW decoding speed which is not resolution (4K), frame rate speed (60fps) or quality (10bit).

It's bitrate/ bandwidth.
The UHD Blu-rays mentioned above, are 4K60fps HDR10 at 140Mbps HEVC video stream.

Please, find me a non HEDT CPU that could decode such stream in real-time.

I mean I doubt if Ryzen 2700X could do it or the Core i9 9900K that announced yesterday.

So, regarding decoding of 4K60fps AV1 at similar bitrates of 140Mbps is surely out of question.
Why bother using a more efficient format if you're hellbent on wasting bandwidth anyway? Use 50Mbps max or stick with HEVC/AVC. (Blu-rays throw bandwidth at the problem instead of using efficient encoders to begin with.) Typical FullHD movies are (or can be if encoded efficiently) essentially perfect as far as human perception is concerned, so even with AVC you would only need at most 100mbps to match it at UHD@60p. And HEVC is supposed to be more efficient than AVC.
mzso is offline   Reply With Quote
Old 9th October 2018, 22:56   #1095  |  Link
Mr_Khyron
Member
 
Mr_Khyron's Avatar
 
Join Date: Nov 2002
Posts: 203
AV1 4k sample

There are some 4K AV1 samples to download here
https://www.elecard.com/videos
I can play them with MPC-HC 1.8.3 and LAV Filters 0.73.0-1

Last edited by Mr_Khyron; 9th October 2018 at 22:59.
Mr_Khyron is offline   Reply With Quote
Old 9th October 2018, 23:19   #1096  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,901
Quote:
Originally Posted by Mr_Khyron View Post
I can play them with MPC-HC 1.8.3 and LAV Filters 0.73.0-1
And your CPU is ?
__________________
Win 10 x64 (19042.572) - Core i5-2400 - Radeon RX 470 (20.10.1)
HEVC decoding benchmarks
H.264 DXVA Benchmarks for all
NikosD is offline   Reply With Quote
Old 10th October 2018, 05:08   #1097  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,736
Quote:
Originally Posted by Mr_Khyron View Post
There are some 4K AV1 samples to download here
https://www.elecard.com/videos
I can play them with MPC-HC 1.8.3 and LAV Filters 0.73.0-1
Including the UHD clips?

Also, does anyone know if the sources for those clips are available? This would be a great chance to do some apples-to-apples comparisons!
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book

Last edited by benwaggoner; 10th October 2018 at 05:09. Reason: Left out second point.
benwaggoner is offline   Reply With Quote
Old 10th October 2018, 08:22   #1098  |  Link
Mr_Khyron
Member
 
Mr_Khyron's Avatar
 
Join Date: Nov 2002
Posts: 203
Quote:
Originally Posted by NikosD View Post
And your CPU is ?
Quote:
Originally Posted by benwaggoner View Post
Including the UHD clips?

Also, does anyone know if the sources for those clips are available? This would be a great chance to do some apples-to-apples comparisons!
My Cpu is a Ryzen 1700 and when i play the UHD clips all cores are at %40 and i get between 8-16 fps
Mr_Khyron is offline   Reply With Quote
Old 10th October 2018, 08:26   #1099  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,736
Quote:
Originally Posted by Mr_Khyron View Post
My Cpu is a Ryzen 1700 and when i play the UHD clips all cores are at %40 and i get between 8-16 fps
Ah! Not at real-time then.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 10th October 2018, 08:42   #1100  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
For the record my i9-7900X@4.5G can play those Elecard UHD clips in realtime with libaom through LAV Filters (achieves ~33 fps on the 22mbit clip, the clip is 25 fps). Considering the state of the multi-threading in libaom, the 10 cores aren't really doing me any good, so it must be the relatively high clock I have it running at, and full AVX2.

Judging by these results, and the limited number of threads it uses now, with proper threading and more optimizations, I have no doubt that such clips would run fine on 2018/19 mainstream CPUs (ie. decently clocked quadcores with AVX2 and above), once the decoders are fully done. Of course the highest clip they had was 22mbit only, but considering AV1 is more likely to become a web format then a optical disc format, extremely high bitrates are probably going to remain very rare.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 10th October 2018 at 08:44.
nevcairiel is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 05:35.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.