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 17th June 2020, 16:52   #2201  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,344
My 7900X (OC) can also play that video in 8K without drops, at 40% usage at most - straight in Chrome 83. Make sure its not your GPU that struggles downscaling the 8K video.

With Ryzen making 8 cores available to "mere mortals" for relatively low pricing, I don't think you need any particular "beast" right now, nevermind the next decade.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 18th June 2020, 02:04   #2202  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,752
Quote:
Originally Posted by nevcairiel View Post
My 7900X (OC) can also play that video in 8K without drops, at 40% usage at most - straight in Chrome 83. Make sure its not your GPU that struggles downscaling the 8K video.

With Ryzen making 8 cores available to "mere mortals" for relatively low pricing, I don't think you need any particular "beast" right now, nevermind the next decade.
How well are the fast SW decoders scaling with multiple cores? VP9 struggled to get much parallelism due to some unfortunate serialization in the loop filters and the lack of a clear reference structure that allowed for parallel decoding of non-reference frames.

AV1 is certainly going to be more parallizable than VP9. But how far have the best decoders gone so far?
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is online now   Reply With Quote
Old 18th June 2020, 04:00   #2203  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
Quote:
Originally Posted by ChaosKing View Post
gtx 1070 does not have a HW AV1 decoder...
And mpv uses the dav1d decoder which works on cpu only.
the video is as far as i can see only VP9 8 bit.
if there is a AV1 version i could try it with an R7 3700X which could yield up to ~2.5x more performance then a r5 2600 in this special case
Quote:
Originally Posted by benwaggoner View Post
How well are the fast SW decoders scaling with multiple cores? VP9 struggled to get much parallelism due to some unfortunate serialization in the loop filters and the lack of a clear reference structure that allowed for parallel decoding of non-reference frames.

AV1 is certainly going to be more parallizable than VP9. But how far have the best decoders gone so far?
this doesn't seam to be the case anymore or it's not as bad as it was in the past. while the microsoft VP9 decoder has issues using more then 8 threads ffmpeg in lavfilter doesn't have this issues easily using 70-90% CPU usage on a 8 core 16 thread CPU. it sometimes falls to 50% or lower CPU usage but with usually over 100 FPS.

Last edited by huhn; 18th June 2020 at 04:51.
huhn is offline   Reply With Quote
Old 18th June 2020, 08:17   #2204  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
I think I activated AV1 on YT, it was under /testtube or so. Just google it.
I used youtube-dl.exe to download the video, it was the av1 version.

@nevcairiel I use Vivaldi and have currently over 100 tabs open xD It can have an effect on performance


Quote:
Originally Posted by benwaggoner View Post
AV1 is certainly going to be more parallizable than VP9. But how far have the best decoders gone so far?
https://www.phoronix.com/scan.php?pa....7-Performance

Over 300fps for 4k is not bad
I hope 10bit decoding will be faster on ARM soon too. My 4k fire tv stick struggles with 1080p 10bit video
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database

Last edited by ChaosKing; 18th June 2020 at 08:24.
ChaosKing is offline   Reply With Quote
Old 18th June 2020, 09:26   #2205  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
i'm still confused by YTDL doesn't showing it before. but this make far more sense now to me.
the stream is very easy to decode i get about 40~ FPS with 50% CPU usage using lavfilter from mpc-hc 1.9.4.
huhn is offline   Reply With Quote
Old 18th June 2020, 11:41   #2206  |  Link
soresu
Registered User
 
Join Date: May 2005
Location: Swansea, Wales, UK
Posts: 196
Quote:
Originally Posted by ChaosKing View Post
I hope 10bit decoding will be faster on ARM soon too. My 4k fire tv stick struggles with 1080p 10bit video
10 bit isn't likely to get much better on ARM64 as most of the NEON asm has been written at this point - the problem is that all Fire TV products use 32 bit ARM Android as a base due to laziness on their part IMHO, therefore you won't get as much performance out of it as a phone or tablet with the same HW spec.

They probably will fill out the ARM32 NEON asm over time, though I'm not sure if the performance will match the ARM64 equivalent code path.

10 bit on x86 is another matter entirely - as far as I am aware there are zero SIMD assembly optimisations currently for AVX2, SSSE3 or SSE2 where 10+ bpc video is concerned.
soresu is offline   Reply With Quote
Old 18th June 2020, 13:35   #2207  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 109
Quote:
Originally Posted by benwaggoner View Post
How well are the fast SW decoders scaling with multiple cores? VP9 struggled to get much parallelism due to some unfortunate serialization in the loop filters and the lack of a clear reference structure that allowed for parallel decoding of non-reference frames.

AV1 is certainly going to be more parallizable than VP9. But how far have the best decoders gone so far?
I don't think this is true. From a decoder's point-of-view, the reference structure (most notably the cross-frame entropy dependency) and postfilter dependency (tile-crossing) between VP9 and AV1 are the same, and equally parallelizable. dav1d uses the same techniques for frame threading as FFmpeg's native VP9 decoder (ffvp9) and achieves siimilar concurrency multipliers as dav1d. Tile threading works the same. See e.g. graphs at https://youtu.be/WgfklAi50nM?t=1378 (VP9 vs. AV1) and https://youtu.be/WgfklAi50nM?t=345 (AV1 tile vs. frame vs. both multithreading), and note that these results are over a year old, dav1d has surpassed ffhevc (SW) decoding speed since then. See also the documentation for the threading model in dav1d.

The practical problem in ffvp9 is that it decided (to fit in FFmpeg's more static design) to only allow one threading type (frame or tile) instead of multiple concurrently (frame and tile) like dav1d does. That's the only reason dav1d scales better with multi-threading. We could have resolved that, but it was decided that ffvp9 was fast enough and it wasn't worth it.

(I can explain libaom's and libvpx' threading models if you want to learn more, but since they are a subset of dav1d/ffvp9, I was assuming this would be enough. I'm not familiar with gav1's threading model.)
Beelzebubu is offline   Reply With Quote
Old 20th June 2020, 04:04   #2208  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,988
Great post! ^
Blue_MiSfit is offline   Reply With Quote
Old 21st June 2020, 15:03   #2209  |  Link
Mr_Khyron
Member
 
Mr_Khyron's Avatar
 
Join Date: Nov 2002
Posts: 203
MainConcept Brings Fast, Efficient AV1 Encoding to More Video Platforms
https://www.prnewswire.com/news-rele...301071452.html
Quote:
SAN DIEGO, June 10, 2020 /PRNewswire/ --
MainConcept, a leading provider of codec and streaming technology to the professional and broadcast industries, today announced it has worked with Intel Corporation to integrate Scalable Video Technology for AV1 (SVT-AV1) encoder into the MainConcept codec portfolio. This move will allow content producers to better leverage the increased compression capacity of AV1 and bring high-performance, scalable and efficient encoding for video-on-demand (VOD) streaming to the ever-growing video delivery marketplace.


https://code.videolan.org/videolan/dav1d/-/tags/0.7.1
Quote:
dav1d 0.7.1 'Frigatebird' the fast and lean AV1 decoder

This is a minor update of the dav1d decoder, from the 0.7.x branch.

This release increases the speed of decoding on ARM32 by up to 28%,
adds some SSE2 optimizations, some AVX2 for MC scaled
and fixes a couple of minor issues.

Last edited by Mr_Khyron; 21st June 2020 at 15:20.
Mr_Khyron is offline   Reply With Quote
Old 23rd June 2020, 16:44   #2210  |  Link
soresu
Registered User
 
Join Date: May 2005
Location: Swansea, Wales, UK
Posts: 196
Quote:
Originally Posted by ChaosKing View Post
And mpv uses the dav1d decoder which works on cpu only.
It has some code that can run on the GPU, but from what I can gather it only increases power efficiency on mobile systems.

Whether this is because they only tested 8 bpc content which is optimized up the yin yang on most CPU SIMD ISA's at this point I don't know, I have yet to see a more comprehensive testing of the GPU code shown which encompasses 8 bpc and 10+bpc content separately.

From what I can gather there is also not much code that runs on the GPU at this point, this could always change in the future.

Last edited by soresu; 23rd June 2020 at 16:47.
soresu is offline   Reply With Quote
Old 23rd June 2020, 22:26   #2211  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,752
Quote:
Originally Posted by soresu View Post
It has some code that can run on the GPU, but from what I can gather it only increases power efficiency on mobile systems.

Whether this is because they only tested 8 bpc content which is optimized up the yin yang on most CPU SIMD ISA's at this point I don't know, I have yet to see a more comprehensive testing of the GPU code shown which encompasses 8 bpc and 10+bpc content separately.

From what I can gather there is also not much code that runs on the GPU at this point, this could always change in the future.
GPU accelerated decode tends to only be a tactical thing used in the early days of a codec. If it catches on, it gets implemented in hardware (CPU, GPU, SoC). Otherwise CPUs get fast enough all software decode gets used.

Stuff like CABAC is not well suited to run on a GPU, so an all GPU compute decoder hasn't really been feasible or worthwhile.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book

Last edited by benwaggoner; 26th June 2020 at 19:13. Reason: software<>hardware!
benwaggoner is online now   Reply With Quote
Old 26th June 2020, 14:38   #2212  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,901
Quote:
Originally Posted by benwaggoner View Post
If it catches on, it gets implemented in software.
You mean hardware, obviously.
__________________
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 26th June 2020, 19:13   #2213  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,752
Quote:
Originally Posted by NikosD View Post
You mean hardware, obviously.
Oops. yes indeed. Thanks for the catch, and I have corrected.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is online now   Reply With Quote
Old 28th June 2020, 10:52   #2214  |  Link
mzso
Registered User
 
Join Date: Oct 2009
Posts: 930
Quote:
Originally Posted by nevcairiel View Post
My 7900X (OC) can also play that video in 8K without drops, at 40% usage at most - straight in Chrome 83. Make sure its not your GPU that struggles downscaling the 8K video.

With Ryzen making 8 cores available to "mere mortals" for relatively low pricing, I don't think you need any particular "beast" right now, nevermind the next decade.
Well, I have an RX 580 with the R5 1600 and it's the CPU is what I see saturated. Both AV1 and VP9. And madVR shows decoder queue 1-4/4 upload/render 1-2/4, present 0-1/4

It doesn't seem like the GPU gets a chance to be too slow.

By the way I tried these videos' 8k AV1/VP9 streams:
https://www.youtube.com/watch?v=zCLOJ9j1k2Y
https://www.youtube.com/watch?v=1La4QzGeaaQ

Last edited by mzso; 28th June 2020 at 16:29.
mzso is offline   Reply With Quote
Old 28th June 2020, 11:41   #2215  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
zen 1 and 1+ have a bad AVX/AVX2 implementation they need 2 cycles to do such a operation unlike intel and zen 2 which can do that in 1 giving them 2x the ipc in decoding of modern codecs.

these are 8k 60 this is to much for my CPU too it's not even close.
edit:i take it back i get it barely working with EVR-CP.

Last edited by huhn; 28th June 2020 at 11:50.
huhn is offline   Reply With Quote
Old 1st July 2020, 18:17   #2216  |  Link
marcomsousa
Registered User
 
Join Date: Jul 2018
Posts: 80
Chrome 85 will have AVIF support by default (Beta Jul 23, release Aug 25)
__________________
AV1 win64 VS2019 builds
Last build here
marcomsousa is offline   Reply With Quote
Old 9th July 2020, 21:57   #2217  |  Link
Yups
Registered User
 
Join Date: Sep 2011
Posts: 362
As for Intels Gen12 their Open source driver did enable AV1 decoding: https://github.com/intel/media-drive...3c0e9e945b8062

In one file it says MaxTile is 4096x2304, this coincides with the leak about Tigerlake 4k60 video.
Yups is offline   Reply With Quote
Old 10th July 2020, 00:10   #2218  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
great there can't be enough hardware decoder for promising codecs.
huhn is offline   Reply With Quote
Old 10th July 2020, 15:52   #2219  |  Link
Yups
Registered User
 
Join Date: Sep 2011
Posts: 362
Not even 8K 12 bit sounds strange, there is no real need for 12 bit. Actually it's similar to Gen9.5 which supports 8/10 Bit 4:2:0 VP9/HEVC, even though it did support 8K afaik. Apparently it's not a trivial VP9 copy and paste, you should be happy that at least one major GPU IHV is going to support AV1 this year even if it's not the super highest possible variant.
Yups is offline   Reply With Quote
Old 10th July 2020, 17:22   #2220  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,752
Quote:
Originally Posted by Yups View Post
Not even 8K 12 bit sounds strange, there is no real need for 12 bit. Actually it's similar to Gen9.5 which supports 8/10 Bit 4:2:0 VP9/HEVC, even though it did support 8K afaik. Apparently it's not a trivial VP9 copy and paste, you should be happy that at least one major GPU IHV is going to support AV1 this year even if it's not the super highest possible variant.
AV1 is a pretty complex bitstream to decode.

For moving image content for humans to watch at a distance where they can comfortably see the action in all four corners of the screen, 8K is pretty much indistinguishable from 4K. No one is actually mastering premium content in 8K (some 8K cameras get used, but all post is done in 4K, and often 2K for VFX).

12-bit has some theoretical value, but it's not like there are native 12-bit panels to watch it on. Given all the dithering that goes on, 10-bit is sufficient in most cases. 12-bit's value would mainly to be to not have to worry about dithering in post and encoding with HDR, like how 10-bit pretty much eliminates those concerns with SDR.

All that said, has anyone seen any compelling research on AV1 encoding in HDR or 4K? Pretty much everything I've read at outside of marketing and demos has been SDR and 1080p or lower.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is online now   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 00:14.


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