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 3rd October 2018, 15:19   #1061  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,838
The number of threads for libaom depends on the number of tiles in the video.

Newer libaom build is already 10-15% faster. You should wait with tests until dav1d gets into FFmpeg/LAV. Then libaom as decoder will become obsolete.
clsid is offline   Reply With Quote
Old 3rd October 2018, 20:03   #1062  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,473
Quote:
Originally Posted by clsid View Post
The number of threads for libaom depends on the number of tiles in the video.
The number of tiles is a property of the video created by the encoder or is it something that is been created by the decoder ?
__________________
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 3rd October 2018, 20:08   #1063  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,675
The encoder decides that, usually based on the resolution of the video, especially the height, if it was not specified expliticly as parameter.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 3rd October 2018, 21:21   #1064  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,473
By watching the presentation of dav1d, he gave me the impression that a tile-based decoder decides the number, the scheme, the orientation etc of the tiles, but without saying too many details in the presentation.

Wrong impression obviously.
__________________
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 3rd October 2018, 22:37   #1065  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 35
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.
Beelzebubu is offline   Reply With Quote
Old 3rd October 2018, 22:48   #1066  |  Link
user1085
Registered User
 
Join Date: Apr 2018
Posts: 13
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 comparison with other decoders for H.265, H.264, do we know how many threads they use?
user1085 is offline   Reply With Quote
Old 3rd October 2018, 23:03   #1067  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 35
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   #1068  |  Link
olduser217
Registered User
 
Join Date: Jun 2015
Posts: 17
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   #1069  |  Link
jonatans
Registered User
 
Join Date: Oct 2017
Posts: 41
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   #1070  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 353
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   #1071  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,473
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 (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 4th October 2018, 11:24   #1072  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 35
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   #1073  |  Link
olduser217
Registered User
 
Join Date: Jun 2015
Posts: 17
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   #1074  |  Link
Beelzebubu
Registered User
 
Join Date: Feb 2003
Location: New York, NY (USA)
Posts: 35
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   #1075  |  Link
Adonisds
Registered User
 
Join Date: Sep 2018
Posts: 4
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   #1076  |  Link
Adonisds
Registered User
 
Join Date: Sep 2018
Posts: 4
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   #1077  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,416
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   #1078  |  Link
mzso
Registered User
 
Join Date: Oct 2009
Posts: 802
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   #1079  |  Link
alex1399
Registered User
 
Join Date: Jun 2018
Posts: 41
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   #1080  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 353
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
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 03:15.


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