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 3rd October 2018, 23:03   #1061  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 109
Depends on the implementation. FFmpeg's decoders for H264/HEVC typically use only frame threads in the default configuration, the exact number depends on the number of cores on your system. OpenHEVC allows you to combine frame and wave-front threading (similar to x265). Frame+Tile - like Frame+WFP - allows better scaling at ultra-high resolutions or very low-end systems, but is not typically necessary for real-time playback on normal systems.
Beelzebubu is offline   Reply With Quote
Old 4th October 2018, 03:25   #1062  |  Link
olduser217
Registered User
 
Join Date: Jun 2015
Posts: 21
Quote:
Originally Posted by Beelzebubu View Post
Sorry if that created confusion; tiles (and thus the amount of tile threads a decoder can use) are set by encoder; frame threads is selectable by decoder without requiring special encoder settings.
For AV1, decoder frame threading is related to encoder (bitstream encoded) too.
CDF tables can be updated (or not updated) at the end of decoding for a frame, depending on a frame header syntax element in the bitstream.

If the CDF tables need to be updated at the end of the decoding for a frame, then frame threading should be impossible.
olduser217 is offline   Reply With Quote
Old 4th October 2018, 05:08   #1063  |  Link
jonatans
Registered User
 
Join Date: Oct 2017
Posts: 56
Quote:
Originally Posted by blurred View Post
- https://www.fsf.org/blogs/licensing/...d-webm-license : "Unfortunately, the interaction between the copyright license and the patent license made the result GPL-incompatible. Based on the concerns of developers writing GPL-covered software, Google publicly stated that they would take some time to review the WebM license and try to address the community's concerns. Today, they released a revised license, and it is GPL-compatible."
"The most important part of the change is that Google has separated the patent license from the copyright license. Now the copyright license on the software is a totally standard three-clause BSD license, which is clearly compatible with the GPL. The patent license, in turn, provides distributors with permission to exercise all the rights, and meet all the conditions, in the GPL, as required by GPLv2 section 7; and those permissions are consistent with the ones provided by the patent grant in GPLv3 section 11. All this means that developers distributing GPL-covered software can take advantage of the patent license without running afoul of the GPL's conditions, whether they're using GPLv2 or GPLv3."

Does it still apply to AV1?
Quote:
Originally Posted by TD-Linux View Post
Yes, it does.
Well.. the problem still applies to AV1. But the solution does not

In WebM, the software license and patent license are clearly separated https://www.webmproject.org/license/ "The WebM codec source code and specification are licensed differently."

In AOM, the software license and patent license are clearly combined https://aomedia.org/license/ "Software released by the Alliance for Open Media is made available under a combination of the following licenses"
__________________
Jonatan Samuelsson
Co-founder and CEO at Divideon

www.divideon.com | xvc.io
jonatans is offline   Reply With Quote
Old 4th October 2018, 06:06   #1064  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 447
Quote:
Originally Posted by Adonisds View Post
How do you turn on motion interpolation?
I'm using third party software for that - it is not part of MPC-HC, LAVfilters, nor AV1.

I was just making a point about how much CPU headroom I still had is all.
Nintendo Maniac 64 is offline   Reply With Quote
Old 4th October 2018, 07:21   #1065  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,901
Quote:
Originally Posted by Beelzebubu View Post
Sorry if that created confusion; tiles (and thus the amount of tile threads a decoder can use) are set by encoder; frame threads is selectable by decoder without requiring special encoder settings.
Quote:
Originally Posted by olduser217 View Post
For AV1, decoder frame threading is related to encoder (bitstream encoded) too
Thank you for your comments.

Then it must be a great coincidence that all three AV1 clips I tried to decode had 75% CPU utilization on a four threaded CPU.

Is it some kind of default settings of the encoder to produce such clips ?

Can you post a sample that libaom decoder can use 4 threads or more during decoding ?

Thank you.
__________________
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 4th October 2018, 11:24   #1066  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 109
Quote:
Originally Posted by olduser217 View Post
If the CDF tables need to be updated at the end of the decoding for a frame, then frame threading should be impossible.
The VDD presentation explains how we still accomplish frame threading in this scenario. Efficient frame threading is possible, even with CDF table dependencies. We did this in ffvp9 also, there is nothing new about this approach.
Beelzebubu is offline   Reply With Quote
Old 4th October 2018, 12:30   #1067  |  Link
olduser217
Registered User
 
Join Date: Jun 2015
Posts: 21
Quote:
Originally Posted by Beelzebubu View Post
The VDD presentation explains how we still accomplish frame threading in this scenario. Efficient frame threading is possible, even with CDF table dependencies. We did this in ffvp9 also, there is nothing new about this approach.
Thanks for the information.
Do you mind to point out the link to the presentation if it is available?
olduser217 is offline   Reply With Quote
Old 4th October 2018, 12:53   #1068  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 109
Quote:
Originally Posted by olduser217 View Post
Thanks for the information.
Do you mind to point out the link to the presentation if it is available?
https://www.youtube.com/watch?v=UhIgBdrKyNM
Beelzebubu is offline   Reply With Quote
Old 4th October 2018, 15:39   #1069  |  Link
Adonisds
Registered User
 
Join Date: Sep 2018
Posts: 14
Quote:
Originally Posted by Nintendo Maniac 64 View Post
I'm using third party software for that - it is not part of MPC-HC, LAVfilters, nor AV1.

I was just making a point about how much CPU headroom I still had is all.
I understood your point. But I'd like to start using motion interpolation for all my videos. What software do you use?
Adonisds is offline   Reply With Quote
Old 4th October 2018, 15:41   #1070  |  Link
Adonisds
Registered User
 
Join Date: Sep 2018
Posts: 14
Would a modern 8 core/16 threads processor be able to software decode av1 4k60 hdr video once the decoder is more optimized?
Adonisds is offline   Reply With Quote
Old 4th October 2018, 17:25   #1071  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,988
I'd better hope so! If not, AV1 is going to have a hard time.
Blue_MiSfit is offline   Reply With Quote
Old 4th October 2018, 19:20   #1072  |  Link
mzso
Registered User
 
Join Date: Oct 2009
Posts: 930
Quote:
Originally Posted by benwaggoner View Post

Honestly, finding real-world scenarios where libvpx can deliver better quality @ bitrate @ perf than x264 is a challenge, although I suspect that's primarily due to x264's massively greater psychovisual tuning and perf optimization efforts, not differences in the bitstream standards.
When was the last time a now format's encoder could beat the predecessor in bitrate and performance at the same time? Those days are gone it seems to me.
mzso is offline   Reply With Quote
Old 4th October 2018, 20:44   #1073  |  Link
alex1399
Registered User
 
Join Date: Jun 2018
Posts: 56
The HEVC have tried very hard to not let its decode complexity overwhelm the decode complexity of AVC too much. In modern days, AV1 could try something better with the cost of decode complexity.
alex1399 is offline   Reply With Quote
Old 4th October 2018, 23:14   #1074  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 447
Quote:
Originally Posted by Adonisds View Post
What software do you use?
SVP.

Note that there are several variants of it:
  • the old SVP 3.1.7 is free but only works on Windows and with programs like MPC-HC; also it might only work with 32bit media players.
  • the full-featured version of SVP 4 is only free on Linux and works with VLC and mpv.
  • the basic yet free version of SVP 4 which only works on Windows and with programs like MPC-HC much like v3.1.7, but has considerably reduced configuration options compared to both the full-featured version and the old 3.1.7 version.
  • the paid full-featured "Pro" version on Windows and Mac is largely identical to the free version of SVP 4 on Linux, though on Windows it also works with MPC-HC as well as VLC and/or mpv.

One thing to keep in mind is that interpolating to refresh rates that are exact multiples of the source framerate will provide a smoother result with fewer artifacts - e.g. 30fps interpolated to 120Hz (4x) is better than 30fps interpolated to 144Hz (4.8x) - this is most easily accomplished with something like like MPC-HC's or madVR's built-in automatic resolution changer which can be used to change your refresh rate depending on a given video frame rate (though you may need to create a custom resolution in order to access certain refresh rates on your display).
Nintendo Maniac 64 is offline   Reply With Quote
Old 5th October 2018, 05:13   #1075  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,988
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   #1076  |  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
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   #1077  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,988
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   #1078  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 447
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   #1079  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,750
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 Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 7th October 2018, 22:08   #1080  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,751
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 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 09:38.


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