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 > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 5th October 2018, 05:13   #1081  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,405
Yikes, no thanks. Looks like the motion interpolation on every TV these days
Blue_MiSfit is offline   Reply With Quote
Old 5th October 2018, 08:26   #1082  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 338
Quote:
Originally Posted by Blue_MiSfit View Post
Yikes, no thanks. Looks like the motion interpolation on every TV these days
...what were you expecting? That's simply what motion interpolation is.


If you don't like high framerate video, then no amount of motion interpolation is going to look good - that's the goal of motion interpolation after all.

If you simply don't like interpolation artifacts, then certainly a piece of software designed to run at fullspeed with cranked settings on even a 10-year old quad core CPU isn't going to deliver a cleaner image than dedication interpolation hardware in modern TVs.


It is worth mentioning however that the Linux version, Pro versions, and the old v3.1.7 do have "2m (min artifacts)" and "1.5m (less artifacts)" settings as well as a "32 px. Large 0" setting that are particularly ideal for people that dislike high motion interpolation but still want improved motion resolution.

Additionally, it can make a big difference how your source content was originally recorded - my main use is for motorsports that are actually natively recorded and broadcast at 50fps but are then downsampled to 25fps for internet streaming (I'm looking at you Formula E). These sorts of 50fps --to-> 25fps content retains the faster camera shutter speed of the original 50fps recording which means that applying motion interpolation will make it look much more akin to native HFR content than what you'd get if you interpolated 24fps movie content recorded with a slow camera shutter speed (as is typically used in cinema).

And in my opinion, applying motion interpolation with cranked settings for native 50fps motorsports on a 100Hz CRT is glorious - the sense of speed you get from the cars that way is just unmatched!



________EDIT________

Quote:
Originally Posted by Blue_MiSfit View Post
I just don't care for motion interpolation at all.
But you didn't say what aspect it is that you don't like, so I felt it necessary to try to answer every angle I knew of.


Now I know a lot of people don't like the artifacts, but that would practically require something like a Threadripper 2990WX + 64GB RAM + a GPU with Nvidia's A.I. Tensor cores in order to have truly artifactless interpolation that looks like real native HFR.

Keep in mind however that the higher the native frame rate of the video, the less artifacts there are: 50fps --to-> 100Hz has quite a bit fewer artifacts than 25fps --to-> 100Hz, and since 50fps is natively HFR anyway the overall "feeling" isn't exactly Earth-shatteringly different either when using interpolation.

Also interpolation in general can be a god-send for low framerate content like 15fps (which is what my father's smartphone camera uses for videos recorded in low-light situations) that can otherwise look really choppy (such as a recently recorded fireworks video he took).


Quote:
Originally Posted by Blue_MiSfit View Post
Let's get back to AV1
Hey now, you were the one that decided to not ignore the subject and "let my post be". It was even at the end of a page which would have allowed it to have easily been ignored.

Last edited by Nintendo Maniac 64; 7th October 2018 at 02:20.
Nintendo Maniac 64 is offline   Reply With Quote
Old 5th October 2018, 08:28   #1083  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,405
So we're getting OT here, but if you like this stuff - great!

I just don't care for motion interpolation at all.

Let's get back to AV1
Blue_MiSfit is offline   Reply With Quote
Old 7th October 2018, 03:02   #1084  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 338
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).

The biggest benefit I found is that only using dual core no longer completely tanks performance.


Utilizing a Nehalem Xeon x3470, I had the following performance when trying to decode the 1080p AV1 video-only stream from Gus Kenworthy & Tom Wallisch X Games Slopestyle GoPro Preview in MPC-HC v1.8.3 64bit:
  • 4c/8t @ 2.93GHz: ~20fps
  • 4c/8t @ 3.20GHz: ~22fps
  • 3c/3t @ 3.20GHz: ~22fps
  • 2c/4t @ 3.46GHz: ~20fps
  • 2c/2t @ 3.46GHz: ~20fps

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).
Nintendo Maniac 64 is offline   Reply With Quote
Old 7th October 2018, 20:36   #1085  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 2,579
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?
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.

That kind of pixel fill rate is normally the domain of hardware decoders, or at least hybrid CPU-GPU implementations (like the Xbox 360 H.264 decoder).

For commercial content, the DRM hardware requirements to play UHD on a PC has always come on systems that have a 2160p60 HW decoder anyway. Since there is already a large installed base with has the DRM support bu not HW AV1, I would expect HEVC to remain the dominant codec for delivering premium UHD content for years to come.

But I believe Profile @ Level for AV1 requires some degree of tiling for UHD resolutions. Even if not required, I imagine some de facto guidelines about tiling to improve decode perf would become standard.

Parallelizing decode of Golden/IDR, I, P, B, and b frames can also be a useful technique if plenty of memory is available. You'd just do a lookahead to encode and buffer the referenced frames in tier order. That was nigh impossible with VP9, but I think is feasible for AV1.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Instant Video

My Compression Book

Amazon Instant Video is hiring! PM me if you're interested.
benwaggoner is offline   Reply With Quote
Old 7th October 2018, 22:08   #1086  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,598
New uploads: (MSYS2; MinGW32: GCC 7.3.0 / MinGW64: GCC 8.2.0)

AOM v1.0.0-735-g9b21428c8

rav1e 0.1.0 (4d185f7 / 2018-10-04)

dav1d 0.0.1 (c6788ed / 2018-10-04)
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 8th October 2018, 11:31   #1087  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 338
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   #1088  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 9,384
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   #1089  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 2,579
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 Instant Video

My Compression Book

Amazon Instant Video is hiring! PM me if you're interested.
benwaggoner is offline   Reply With Quote
Old 8th October 2018, 20:28   #1090  |  Link
dapperdan
Registered User
 
Join Date: Aug 2009
Posts: 151
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   #1091  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 74
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   #1092  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,405
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   #1093  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 338
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   #1094  |  Link
Clare
Registered User
 
Join Date: Apr 2016
Posts: 58
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   #1095  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,441
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 (17763.55) - Core i3-4170/ iGPU HD 4400 (v.5058)
HEVC decoding benchmarks
H.264 DXVA Benchmarks for all
NikosD is offline   Reply With Quote
Old 9th October 2018, 17:21   #1096  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,824
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   #1097  |  Link
Clare
Registered User
 
Join Date: Apr 2016
Posts: 58
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   #1098  |  Link
Mr_Khyron
Member
 
Mr_Khyron's Avatar
 
Join Date: Nov 2002
Location: Sweden
Posts: 76
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   #1099  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 338
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   #1100  |  Link
mzso
Registered User
 
Join Date: Oct 2009
Posts: 787
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
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 22:43.


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