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 10th October 2018, 11:32   #1101  |  Link
hydra3333
Registered User
 
Join Date: Oct 2009
Location: crow-land
Posts: 540
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
A dummy's question - may one enquire : I have mpc-hc, how to I tell the fps ? I see it stutters at the higher bitrates but am unsure how you measure "i get between xx-yy fps" ? (yes I have "View Statistics" ticked)

Last edited by hydra3333; 10th October 2018 at 11:35.
hydra3333 is offline   Reply With Quote
Old 10th October 2018, 17:15   #1102  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,901
Quote:
Originally Posted by GTPVHD View Post
https://ark.intel.com/products/18660...p-to-5-00-GHz-

Hopefully someone can test the 9900K soon.
What did you mean ?
Intel has already paid a company for misleading benchmarks.

Crooks...They should pay a huge penalty for these dirty, low tricks.
https://www.techspot.com/article/172...0k-benchmarks/
__________________
Win 10 x64 (19042.572) - Core i5-2400 - Radeon RX 470 (20.10.1)
HEVC decoding benchmarks
H.264 DXVA Benchmarks for all

Last edited by NikosD; 10th October 2018 at 17:19.
NikosD is offline   Reply With Quote
Old 11th October 2018, 00:33   #1103  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 447
Quote:
Originally Posted by hydra3333 View Post
A dummy's question - may one enquire : I have mpc-hc, how to I tell the fps ? I see it stutters at the higher bitrates but am unsure how you measure "i get between xx-yy fps" ? (yes I have "View Statistics" ticked)
To be honest, I don't really know how to do so either, so I do it the manual way via trial and error - I import the videostream into mkvtoolnix, set the frame rate to something (like 20p), export to an mkv with the new framerate, and then see if can playback this new mkv smoothly without any stutter.

If it does stutter, then I do the exact same process again but with a lower framerate (like 15p).

If it plays without any stutter, then I still do the exact same process again but with a higher framerate.


I keep doing this trial-and-error process until I find the highest framerate that doesn't result in any stuttering (note that I only use integer fps values though, like 24p, 25p, 26p, etc - testing fractional framerates as well would be WAY too time consuming with this method).

This method does have the benefit however of working on any media player or browser or the like.


And yes, technically without using a variable refresh rate display or a bajillion different custom resolutions, you're going to always have some visual stutter due to many of the the tested framerates not being an exact multiple of your display's refresh rate, but the sort of stuttering caused by inadequate video decoder performance tends to be way worse than any sort of telecine judder or the like.
Nintendo Maniac 64 is offline   Reply With Quote
Old 11th October 2018, 02:34   #1104  |  Link
olduser217
Registered User
 
Join Date: Jun 2015
Posts: 21
https://code.fb.com/video-engineerin...s-av1-support/

Facebook is working on to add AV1 support too.
The browsers that supported AV1 is able to play the AV1 version of embedded video (but highest resolution only 360p).
olduser217 is offline   Reply With Quote
Old 11th October 2018, 03:50   #1105  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,738
Quote:
Originally Posted by Nintendo Maniac 64 View Post
To be honest, I don't really know how to do so either, so I do it the manual way via trial and error - I import the videostream into mkvtoolnix, set the frame rate to something (like 20p), export to an mkv with the new framerate, and then see if can playback this new mkv smoothly without any stutter.

If it does stutter, then I do the exact same process again but with a lower framerate (like 15p).

If it plays without any stutter, then I still do the exact same process again but with a higher framerate.
That's a pretty good process given the tools available today.

I do note that it might somewhat underestimate SW decoder performance requirements for real-world content significantly.

Slowing down 60p to 30p will result in a stream that may be easier to decode than the same content natively captured at 30p. This is because twice as much motion happens between 30p frames, so there's more prediction and motion vectors per frame to process. Also, the bitrate will drop by half in a 60-30 conversion, when real-world a 30p might be 70-80% the bitrate of a 60p for the same spatial quality (since twice as much change per frame is being captured).

Of course, if real-world decoder characteristics are understood, rate control techniques like VBV can cap the worst-case decoding times, although at the potential risk of capping maximum quality for difficult segments. We got a little spoiled from the last decade-ish of relatively ubiquitous H.264 HW decoding .
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 11th October 2018, 09:45   #1106  |  Link
marcomsousa
Registered User
 
Join Date: Jul 2018
Posts: 80
Code:
ffmpeg -benchmark -i Stream2_AV1_4K_22.7mbps.webm -f null -
Video: wrapped_avframe, yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
frame= 3604 fps= 16 q=-0.0 Lsize=N/A time=00:02:24.16 bitrate=N/A speed=0.622x
bench: utime=1069.000s stime=12.891s rtime=231.970s
bench: maxrss=856880kB
Since the video was 25 fps, in benchmark give that my PC is only capable to decode at 15-16 fps (speed=0.622x) at with this 22.7mbps video.

CPU: Intel Core i7-8550U
Decoder: ffmpeg-20181007-0a41a8b-win64 - libaom-av1 1.0.0-691-gbb8157b89
__________________
AV1 win64 VS2019 builds
Last build here

Last edited by marcomsousa; 11th October 2018 at 12:31.
marcomsousa is offline   Reply With Quote
Old 11th October 2018, 11:51   #1107  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 94
Code:
frame= 3604 fps= 26 q=-0.0 Lsize=N/A time=00:02:24.16 bitrate=N/A speed=1.02x
CPU: Intel Core i7-7700k (60-65% utilization).
Decoder: libaom (1.0.0.r749.g955242e6a6, -DCONFIG_LOWBITDEPTH=1).
__________________
saldl: a command-line downloader optimized for speed and early preview.
MoSal is offline   Reply With Quote
Old 11th October 2018, 12:26   #1108  |  Link
hydra3333
Registered User
 
Join Date: Oct 2009
Location: crow-land
Posts: 540
Cough,
Code:
frame= 3604 fps= 14 q=-0.0 Lsize=N/A time=00:02:24.16 bitrate=N/A speed=0.577x
bench: utime=1170.531s stime=6.344s rtime=249.925s
bench: maxrss=852156kB
CPU: Intel i7-i3820
Decoder: ffmpeg version a day or two old, N-92147-gf85fa100db ; libaom 1.0.0-708-gdf7131064 commit df7131064bf37fb5c7ee427ba564c31a2ed8bbbe (the one before it conflicts with libvpx) without DCONFIG_LOWBITDEPTH
Commandline: "ffmpeg.exe" -benchmark -i Stream2_AV1_4K_22.7mbps.webm -f null -

Last edited by hydra3333; 11th October 2018 at 12:31.
hydra3333 is offline   Reply With Quote
Old 11th October 2018, 13:07   #1109  |  Link
marcomsousa
Registered User
 
Join Date: Jul 2018
Posts: 80
Youtube already support AV1 when upload videos.

Quote:
Then I uploaded (av1 video) to YouTube, the results:

YouTube successfully recognized the video and re-encoded it to h.264 and VP9.

YouTube did not display the original in AV1 and dit also not re-encode to AV1.
Source
__________________
AV1 win64 VS2019 builds
Last build here
marcomsousa is offline   Reply With Quote
Old 11th October 2018, 13:58   #1110  |  Link
Pushman
Registered User
 
Join Date: Nov 2017
Posts: 7
Code:
frame= 3604 fps= 11 q=-0.0 Lsize=N/A time=00:02:24.16 bitrate=N/A speed=0.435x
ffmpeg version N-92132-g0a41a8bf29 Copyright (c) 2000-2018 the FFmpeg developers
[libaom-av1 @ 000001d804fecb00] 1.0.0-691-gbb8157b89

CPU: Intel i3-4170

Last edited by Pushman; 11th October 2018 at 14:03.
Pushman is offline   Reply With Quote
Old 11th October 2018, 14:17   #1111  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,640
GraphStudioNext has a performance test feature which can be used to measure how many fps a DirectShow decoder can deliver.
clsid is offline   Reply With Quote
Old 11th October 2018, 15:24   #1112  |  Link
Clare
Registered User
 
Join Date: Apr 2016
Posts: 61
Does aomenc support multithread yet? I have tile-columns=4 and row-mt=1 but it still only using 1 core.
Clare is offline   Reply With Quote
Old 11th October 2018, 15:38   #1113  |  Link
marcomsousa
Registered User
 
Join Date: Jul 2018
Posts: 80
Quote:
Originally Posted by Clare View Post
Does aomenc support multithread yet? I have tile-columns=4 and row-mt=1 but it still only using 1 core.
you forget --threads=8?

Code:
aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=8 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 --tile-columns=4 --row-mt=1 -o test15.webm test1.y4m
This use all CPU.

Tune to you logical cores.
__________________
AV1 win64 VS2019 builds
Last build here
marcomsousa is offline   Reply With Quote
Old 11th October 2018, 16:57   #1114  |  Link
mandarinka
Registered User
 
mandarinka's Avatar
 
Join Date: Jan 2007
Posts: 729
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 think it was recently mentioned here that FFmpeg doesn't do WPP simultaneously in addition to frame threading. I'm also aware of it not scaling very well, maybe this is the reason. (Doesn't OpenHEVC support doing this?)
But since Nevcariel says it works on some PCs, I guess it is a matter of CPU and RAM bandwidth. And perhaps single-thread per-core performance. Many slower cores might not cut it due to bw/scaling issues, but fewer ones on 4,0-4,5 GHz like those Kaby Lake/Coffee Lake chips could?

FFmpeg's HEVC decoder isn't yet/atm optimised thoroughly, there is some intrinsics optimizations from openhevc missing (LAV Video decoder has them though) and there is probably some other pickable fruit too. There just wasn't motivation on the side of devs it seems (preferences for the google/royalty-free formats etc).

Last edited by mandarinka; 11th October 2018 at 17:10.
mandarinka is offline   Reply With Quote
Old 11th October 2018, 16:57   #1115  |  Link
Clare
Registered User
 
Join Date: Apr 2016
Posts: 61
Quote:
Originally Posted by marcomsousa View Post
you forget --threads=8?

Code:
aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=8 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 --tile-columns=4 --row-mt=1 -o test15.webm test1.y4m
This use all CPU.

Tune to you logical cores.
Ooops thanks now it's working.
Code:
aomenc --threads=8 --cpu-used=4 --tile-columns=4 --row-mt=1 --passes=2 --pass=2 --bit-depth=10 --input-bit-depth=10 --end-usage=q --cq-level=28 --fpf=Chimera_DCI4k2398p_HDR_P3PQ.log -o Chimera_DCI4k2398p_HDR_P3PQ.ivf Chimera_DCI4k2398p_HDR_P3PQ.y4m
Edit: it bursted on all core for 30 seconds but went back to one core afterwards

Last edited by Clare; 11th October 2018 at 17:02.
Clare is offline   Reply With Quote
Old 11th October 2018, 17:20   #1116  |  Link
easyfab
Registered User
 
Join Date: Jan 2002
Posts: 332
for --row-mt=1 I think you need to wait that https://aomedia-review.googlesource.com/c/aom/+/72801 is merged.

Last edited by easyfab; 11th October 2018 at 17:22.
easyfab is offline   Reply With Quote
Old 11th October 2018, 17:46   #1117  |  Link
Clare
Registered User
 
Join Date: Apr 2016
Posts: 61
Quote:
Originally Posted by easyfab View Post
for --row-mt=1 I think you need to wait that https://aomedia-review.googlesource.com/c/aom/+/72801 is merged.
I already patched my build with this. It seems that as soon as the first frame is finished rendering, it drops back to one core.
Clare is offline   Reply With Quote
Old 11th October 2018, 20:51   #1118  |  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
Slowing down 60p to 30p will result in a stream that may be easier to decode than the same content natively captured at 30p. This is because twice as much motion happens between 30p frames, so there's more prediction and motion vectors per frame to process. Also, the bitrate will drop by half in a 60-30 conversion, when real-world a 30p might be 70-80% the bitrate of a 60p for the same spatial quality (since twice as much change per frame is being captured).
Yep indeed, this is why I specifically use YouTube's 30fps encodes when dealing with a frame rate that's less than 60fps as it's better to under-estimate performance and then be pleasantly surprised to find out that real performance is better.
Nintendo Maniac 64 is offline   Reply With Quote
Old 12th October 2018, 01:23   #1119  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,738
Quote:
Originally Posted by mandarinka View Post
I think it was recently mentioned here that FFmpeg doesn't do WPP simultaneously in addition to frame threading
That is going to be way more dependent on the encoder used than ffmpeg itself. x265 uses WPP AND frame-threads by default if you have multiple cores, and I doubt ffmpeg would disable that. Turning off WPP silently would be a big problem, as WPP also has significant decoder impact as well, particularly with multithreaded software decode.

It's an ongoing challenge with all encoder to make sure that the right flags are allowed by products that incorporate them. Making sure that commonly used tools like ffmpeg integrate libaom (or a superior alternative) well is pretty darn important, as that's what lots of reviewers and evaluators will use.

Getting good, actionable documentation into ffmpeg and in general is also important. Listing options without explaining why one might want to use it and its pros/cons isn't really documentation. x265.readthedocs.io is the gold standard here, and I don't even have a runner up.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 12th October 2018, 01:42   #1120  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,738
Quote:
Originally Posted by Nintendo Maniac 64 View Post
Yep indeed, this is why I specifically use YouTube's 30fps encodes when dealing with a frame rate that's less than 60fps as it's better to under-estimate performance and then be pleasantly surprised to find out that real performance is better.
Yeah, your approach is the best I can think of until it becomes more feasible to personally encode test content that makes use of a realistic array of AV1 features.

Testing fast encodes risks skipping features, making decoding simpler for a SW decoder than real-world competitive quality AV1 encodes would be. Some examples from past codecs where faster encoder modes simplify impact decoder performance that can be turned off for encoder performance include:
  • Weighted prediction
  • In-loop deblocking or SAO
  • Number of reference frames
  • Number of B-frames
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner 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 11:50.


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