Log in

View Full Version : Evaluation of HEVC decoders (SW, Hybrid and HW)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

NikosD
3rd November 2016, 11:15
About the new chrome release (version 54), there's a bug with GIFs which have artefacts at the beginning. Need to disable flag "Hardware-accelerated video decode" to have correct gifs... but then all hardware decoding is disabled (I know, kinda ironic on this thread).

The artifacts were produced on Nvidia cards that you probably own and it was a bug of Nvidia drivers.

I can see the below comment in the release notes of latest Nvidia drivers 375.76 that you should probably download and try.


This is GeForce Hot Fix driver version 375.76 that addresses the following:

Occasional flicker on high refresh rate monitors
Artifacts in GIFs

pirlouy
4th November 2016, 00:45
Indeed, it was a bug in nVidia drivers 375.57. I also noticed Speakers settings tend to often be reset so I tried 375.63 and .70 without success then I DDuninstall everything and went back to 368.81.
God I hate all brands for their drivers.

CruNcher
4th November 2016, 07:16
Thats why i currently avoid Windows 10 entirely as a stable usage system way to much in Flux currently Nvidia has a hard time to get everything of their core stable especially all the hacks and workarounds they did for WDDM 1.1/1.2 and adapting to WDDM 2.0 and now 2.1 and the stability issues have become so heavily high in the last months no fun to be on that OS for now productively especially not on Nvidia Hardware, till everything sorted out and stabilized ;)

And ontop of that they push their own Software stack and create even more problems, because they want to push their Cloud Ecosystem further and need to create new workarounds, im pretty much used to chaos but that's a bit to much :D

huhn
18th November 2016, 08:20
one more fix and the decoder is worth testing .

Fixed Issues

H.264 content playback may experience playback issues on internet browsers with hardware acceleration when also running gaming applications or content.

http://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-Crimson-Edition-16.11.4-Release-Notes.aspx

NikosD
18th November 2016, 08:43
Right.

But there is also HEVC.

From what you have seen so far, what is the performance of HEVC 8bit/10bit compared to Maxwell GM206/Pascal and Skylake from the results of other users here ?

CruNcher
20th November 2016, 09:26
Difference should be at most a pretty small iterative step if any at all between GM206 and GP204 especially on the Encoder side, the biggest impact you really have vs GM204 on the Decoder Performance side

That is massively visible even with all these poor reviews ;)

And in those regards AMD doesn't possition itself so bad with Polaris at all and Vega could be the breakthrough since a long long time if Software parts get ironed out till release :)

huhn
20th November 2016, 16:20
RX 480 16.11.4
edit: lavfilter 0.68.1

Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (we should really rename this file...)
decode 73 - 77 - 80
playback 69 - 79 - 81
~10% CPU usages from DXVA checker

Life_of_ Pi_draft_Ultra-HD_HDR.mp4
decode 96 - 100 - 107
playback very inconsistent so here a screen: https://abload.de/img/dxvacheckerpsu78.png
~10% CPU usages from DXVA checker


playback has extra GPU usages often 100 % at max clock...
10 bit can be faster than 8 bit and the GPU/CPU usages is strange too.

NikosD
20th November 2016, 16:35
Check your driver settings.

You probably have left the default settings which enable various enhancements.

Can you check the same clips that others have already compared in order to have a direct comparison ?

huhn
20th November 2016, 16:41
i don't know which files they used.

and video is and was at custom with everything off.
well not a lot of options left anyway https://abload.de/img/crimson2uuo4.png

aufkrawall
20th November 2016, 16:46
playback has extra GPU usages often 100 % at max clock...
10 bit can be faster than 8 bit and the GPU/CPU usages is strange too.
I think the GPU usage reported by the AMD driver has been broken since forever with those weird 0%/100% behavior.
Got the same in some games with my R9 390.

huhn
20th November 2016, 16:49
well still using a clock speed of 1266 mhz for some reasons

edit: maybe the downscaler is a PS3 script ?

aufkrawall
20th November 2016, 17:00
Do you mean that the card doesn't downclock when doing decoding + scaling?
My R9 390 didn't do that either. It was running with full clocks when watching 480p H.264 upscaled to WQHD via DXVA (e.g. in Windows 10 apps), despite of every video filter in the Crimson UI turned off.

huhn
20th November 2016, 17:04
the filme & TV app is using 0 GPU usage and 1 CPU usage and the card runs at 608 mhz which is bad but not terrible.

aufkrawall
20th November 2016, 17:08
Well, then this got improved, it seems. Could you try WQHD via VSR, if you don't have such a display?

CruNcher
20th November 2016, 17:09
A pretty good Sliced HDR 10 Bit Broadcast Sample i propose for to be added to the decoding test

https://abload.de/thumb/decode10bitbt2020i8kbc.png (http://abload.de/image.php?img=decode10bitbt2020i8kbc.png)

huhn
20th November 2016, 17:12
i'm at UHD.

playback benchmarking is done at 1280x720.

maybe just a problem with DXVA checker. a potential problem could be if DXVA checker isn't using DXVA for scaling. expect for the CPU usages decode benchmarks are looking fine.

NikosD
20th November 2016, 19:38
i don't know which files they used.

and video is and was at custom with everything off.
well not a lot of options left anyway https://abload.de/img/crimson2uuo4.png


1) H.264 -1080p-108Mbps
ftp://helpedia.com/pub/multimedia/x264/testvideos/2012%20-%2001%20-%20QuickSync%20vs%20UVD%202.2%20vs%20VP4/9.Ducks.Take.Off.1080p30fpsRef5-108Mbps.mkv

2) H.264 - 2160p-370Mbps
ftp://helpedia.com/pub/multimedia/x264/testvideos/2160p%20samples/DucksTakeOff_2160p50.x264.CRF24.mkv


3) H.265 8bit -1080p-80Mbps
http://www.imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0230-ProQuality.MP4

4) H.265 8bit -1080p-80Mbps
http://imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0235-UHD_Sample1.MP4

5) H.265 10bit - 2160p-140Mbps
http://jell.yfish.us/media/jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv

6) H.265 10bit -2160p-400Mbps
http://jell.yfish.us/media/jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv


Please use latest DXVA Checker v3.14.0 - LAV x64 video 0.68.1.x in DXVA native mode and in decode mode.

Include also playback mode results using the 1280 x 720 resolution

Run each benchmark 3 to 5 times and always exclude the first run, because it reads the file from the disk.

For each file, post the average of your runs in this form min (fps) /avg(fps) /max (fps)

If it's possible check in real-time the GPU clocks because they may have fluctuations, especially in playback mode (due to many reasons)

I think the GPU usage reported by the AMD driver has been broken since forever with those weird 0%/100% behavior.
Got the same in some games with my R9 390.

well still using a clock speed of 1266 mhz for some reasons

edit: maybe the downscaler is a PS3 script ?

I was under the impression that in benchmark playback mode, all of my cards (low power actually) from all three (Intel, AMD, Nvidia) had a GPU usage of 100%.

I'm not 100% sure that this is valid for all cards.

A pretty good Sliced HDR 10 Bit Broadcast Sample i propose for to be added to the decoding test

https://abload.de/thumb/decode10bitbt2020i8kbc.png (http://abload.de/image.php?img=decode10bitbt2020i8kbc.png)

I couldn't figure it out where is the download link.

i'm at UHD.

playback benchmarking is done at 1280x720.

maybe just a problem with DXVA checker. a potential problem could be if DXVA checker isn't using DXVA for scaling. expect for the CPU usages decode benchmarks are looking fine.

I don't think anything has changed in DXVA Checker.

Do you remember a different behavior ?

huhn
20th November 2016, 21:45
I don't think anything has changed in DXVA Checker.

Do you remember a different behavior ?

i'm pretty sure my GTX 960 isn't using any GPU and it stays at a low powerstate.

CruNcher
20th November 2016, 22:23
I couldn't figure it out where is the download link.

You can find it here

http://demo-uhd3d.com/fiche.php?cat=uhd&id=54

huhn
20th November 2016, 22:33
9.Ducks.Take.Off.1080p30fpsRef5-108Mbps.mkv
decode 84 - 97 - 107 CPU 14 % GPU 0 %
playback 86 - 100 - 111 CPU 7% GPU impossible to measure


DucksTakeOff_2160p50.x264.CRF24.mkv
decode 40 - 45 -49 CPU 3% GPU 0%
playback 40 - 45 - 50 CPU 3% GPU - same problem

jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv
decode 45 - 60 - 90 CPU 1-26% GPU 0 %
very high CPU usages at the last part of the video.
playback 54 - 62 - 68 CPU 2% GPU same problem

so weird... i did at least 20 decode tests...

jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv
decode 32 - 41 - 53 CPU 3% GPU 0%
playback 24 - 30 - 40 CPU 2 % GPU 950 mhz 0 %

yvid_SAM_0230-ProQuality.MP4
decode 60 - 69 - 75 CPU 2% GPU 0 %
playback 68 - 70 - 71 CPU 2% GPU 0% 600 mhz

yvid_SAM_0235-UHD_Sample1.MP4
decode 69 - 72 - 75 CPU 3% GPU 0%
playback 71 - 73 - 75 CPU 4% GPU 5% at 600 mhz

39 Mbit BD remux
decode 178 - 188 -195 CPU 3% GPU 0 % 300-450 mhz
playback 182 - 207 - 218 CPU 6% GPU 5% 650-1000 mhz

polaris doesn't like copyback...

1 digit CPU usages is hard to judge the i3 runs at 0.8 -2 GHz most of the time.
i really wonder why playback is often faster than decode...

NikosD
20th November 2016, 22:50
Thanks for your tests.

It looks like Polaris is a lot slower than both GM206 and Pascal.
I don't even mention Skylake as it has the fastest media processor of all.

4K H.264 sample is an extreme case, but I didn't expect Polaris to be bandwidth limited so much.

Also Bluray UHD looks like is not going to be decoded in real-time without dropping frames, judging by Jellyfish 140Mbps sample.

Nice try by AMD but Vega needs to have a faster video processor.




polaris doesn't like copyback...



I'm not familiar with any AMD card capable of fast copy-back performance.



i really wonder why playback is often faster than decode...

That's why I told you before to keep an eye on GPU clocks.

I'm pretty sure that in playback mode GPU has faster clocks (maintain faster clocks)

huhn
20th November 2016, 22:52
it is 300 - 450 mhz in decode mode as it should be.

NikosD
20th November 2016, 22:56
In benchmark decode mode both Intel and I think Nvidia are pushing very hard the GPU and the video processor works in full speed (over 1000MHz)

AMD has a tradition of very low GPU clocks during decoding even in benchmark decode mode.

And this is not normal in benchmark mode

huhn
20th November 2016, 23:07
it is well known that maxwell and pascal are using less power in BD playback than polaris.

but that is "easy" to test:

first of all the idle clock of my gtx 960 is 135 mhz and 202.5 vram mhz.

in benchmark mode it goes up to 1430 mhz.

in playback 135 mhz 202.5 mhz vram and 7.6% TDP with 17 % video engine load.

CruNcher
21st November 2016, 00:01
In benchmark decode mode both Intel and I think Nvidia are pushing very hard the GPU and the video processor works in full speed (over 1000MHz)

AMD has a tradition of very low GPU clocks during decoding even in benchmark decode mode.

And this is not normal in benchmark mode

Ehh it can be very well bellow 800 mhz without issues for playback and around 8xx mv for 4K H.264 30FPS @ 30 Mbits 8 bit 1.0v for 60 FPS

and it can do both streams at once no problem with 0 spikes at simultaneous playback at 60% of its capacity at 0.600 ms 1304 MHz and 100% capacity at 800 Mhz and 1.2v 1300 rpm

it is content complexity adaptive the DFS scales with the content complexity Nvidias Arbitrator reacts to it especially inloop filtering

This is also why they proposed changes to AV1 ;)

Though with 800 MHz its heavy on the Edge here with that Simultaneous Playback Scenario ;)

800 MHz almost 100% capacity

http://i1.sendpic.org/i/1Y/1Y02ToUNBPcs1bDJ9neXwZoRVet.png

so it's not really a good idea to forcefully restrict it's frequency if the stream complexity suddenly gets higher latency is gonna explode in this example from 0.600 ms to a whoping 30 ms better leave that to Nvidias Arbitrator it's well tuned ;)

1304 Mhz 60% capacity for those 2 Streams

http://i1.sendpic.org/i/qS/qS0uJAeGgH8FRrJXuCBVHq9J4EG.png

@Huhn
You running on I3 ?

huhn
21st November 2016, 00:51
yes my HTPC has an passive cooled i3 4130.

NikosD
21st November 2016, 07:04
@Cruncher

I'm talking clearly as I wrote above for benchmark mode, not normal realtime playback.

For normal realtime playback, the card can have whatever clock it thinks it should have.

But in benchmark mode it shouldn't have any limits.

Pure unrestricted decoding power in both decoding and playback, I repeat in benchmark mode.

CruNcher
21st November 2016, 08:08
Im more interested in real scenarios not benchmarks, benchmarks are a nice indicator but they aren't the whole usage truth.

And as you said AMD still has a copyback defficiency and i think additional using an i3 with that is no good idea at all, and it's technically pretty obvious that intel will win all the time here on performance no matter what.

Also your assumption that Intel has the fastest Media Processor is how you make that assumption wrong, you would get a better picture if you benchmark Tegra X1 vs Cherry Trail for example ;)

huhn
21st November 2016, 08:20
well i don't know what intel has to do with this but fine...

NikosD
21st November 2016, 08:39
I clearly referred to Skylake's media processor, the top video decoder.

The truth is that Intel will have the fastest video decoder for ever (!) because they are targeting different audiences.

Intel is very much interested in video server community with a requirement of decoding hundreds (!) simultaneous streams in realtime.

They are using Xeons with iGPUs of many EUs and the fastest video processor around, the exact same desktop version actually.

So, Nvidia took a powerful video processor from mobiles/tablets and put it in dGPUs and Intel is interested in realtime decoding in a service environment.

Latest Pascal video decoder has definitely shrinked the gap, but Kabylake in less than two months will increase it again.

AMD has a very limited point of view, just a basic decoding of 1 or 2 streams.

CruNcher
21st November 2016, 08:42
You underestimate Nvidia
Also you gonna see AMDs point of view changing rapidly they are next with Intel on the release schedule as you said ;)

huhn
21st November 2016, 10:21
AMD has a very limited point of view, just a basic decoding of 1 or 2 streams.

well i see no big problem in that if that would be the case.
but 140 mbit 60 hz HEVC should work and it doesn't...

CruNcher
21st November 2016, 13:36
Why should it work it depends on the bitstream complexity overall they haven't the power todo simple 8k complexity yet so nope it doesn't have to work

Based on this all my HEVC test should work fine on the Hybrid GM204 decoder but they fail at certain tools and their complexity ;)

huhn
21st November 2016, 13:39
hardware decoder doesn't really care about bitstream complexity and 140 mbit HEVC isn't a lot higher than the UBD spec...

CruNcher
21st November 2016, 13:49
Ehh but you testing no conformant speced sample here that wont work and isn't a real use case it is a addition if it works under performing same as it is a addition that Nvidias Decoder can go much Higher and has a relatively big headroom even discrecte.

The most true real use case are WEB VOD (HDR),BD and UHDBD + HDR rest is bonus with a big focus on low latency Screen Game Recording and Decoding.

You don't know why AMD made this decisions so you have to understand them maybe they wanted to have more place for ACE, which makes perfectly sense in many use cases to put the decoder to lower priority for it ;)

Anyway Huhn does that Sliced stream work on your UVD at normal DXVA playback conditions (not benchmarking) ?

http://forum.doom9.org/showthread.php?p=1786639#post1786639

alfianadjeh
25th November 2016, 07:18
can i play HEVC 4k 60fps with GTX 1050ti using Full HD monitor HDMI 1.4 ?

i curious because not have 4k monitor with HDMI 2.0 port.

NikosD
25th November 2016, 07:25
HDMI 1.4 supports FullHD up to 120 Hz/ fps so if you scale down 4K to Full HD you shouldn't have any problem.

alfianadjeh
25th November 2016, 08:25
HDMI 1.4 supports FullHD up to 120 Hz/ fps so if you scale down 4K to Full HD you shouldn't have any problem.

so prefer i buy gtx 1050ti or rx 460 for play HECV 4k 60fps perfectly ?

NikosD
25th November 2016, 10:17
I will probably get a Sapphire Nitro+ RX 470 with 8GB VRAM in the next two weeks, so I will tell you for sure what is going on with Polaris HW decoder.

huhn
25th November 2016, 11:12
so prefer i buy gtx 1050ti or rx 460 for play HECV 4k 60fps perfectly ?

if you plan on buying an throw away UHD screen than get a card with 4Gb vram.

CruNcher
25th November 2016, 15:05
Btw Sonys Camp HDR Demo is also a 8 thread sliced Encode.

Should be also added as a Sliced Encode sample.

Sliced Encodes should be seperated for SMP Decoding tests though.

alfianadjeh
26th November 2016, 08:28
I will probably get a Sapphire Nitro+ RX 470 with 8GB VRAM in the next two weeks, so I will tell you for sure what is going on with Polaris HW decoder.

ok, thanks.
i'll waiting your review about Polaris HW Decoder.

CruNcher
26th November 2016, 15:21
@huhn

Btw did you tried Strongenes older non Polaris optimized OpenCL Decoder does it still work or does it falls back to CPU only Decoding ?

kral2008
26th November 2016, 16:00
if you plan on buying an throw away UHD screen than get a card with 4Gb vram.

Why? 4GB is plenty of VRAM and I think we do not need this amount of memory when playing 4k videos unless playing the games in 4k res.
And, the best card is 1050 or 1050 ti currently. There are good advantages in 1050 over 1060 or AMD new cards, as you may know.

huhn
26th November 2016, 16:03
sorry reality looks different.

with my tests they need more than 2GB vram. if you want to make sure playback is smooth get 4GB.

huhn
26th November 2016, 16:45
@huhn

Btw did you tried Strongenes older non Polaris optimized OpenCL Decoder does it still work or does it falls back to CPU only Decoding ?

it's 32 bit only can only decode 8 bit. it is slower than my CPU in lavfilter. it isn't using openCL (i don't see GPU usages) for what ever reasons.

and most importantly it crashes when i try to open the filter settings.
the openCL version is from 2014...

CruNcher
26th November 2016, 20:06
What i expected for Polaris thx.

wanezhiling
27th November 2016, 09:03
http://i.imgur.com/4KtqxA8.png

http://i.imgur.com/q20XPZF.png

The PureVideo VP8 decoder of Pascal GP107 (GTX 1050 & 1050Ti) has already added 10-bit VP9 HW decoding support!!!:p:p:p

CruNcher
27th November 2016, 11:04
Btw i wonder actually if the GP107 VPX again has more native decoding features then maybe the GP104 VPX in the Nvidia SDK its mentioned that Specific Features are again only available on Specific Cards only (They don't explicitly state which exactly yet where) and i guess they mean the 1050 GP107 VPX especially once again with that ;)

So they maybe did it again and GP104/106 (1060,1070,1080) user have not the full capabilities of the 1050 GP107 VPX ;)

Which then means we would see those features in Big Size first everywhere with GVxxx again including most probably AV1 support

We should take a closer look at

GP104 (1070/1080)
GP106 (1060)
GP107 (1050)

and if something there is maybe again Hybrid or this time even non existing at all ;)

@wanezhiling

I guess this is what Nvidia stated in the SDK with Specific features only on specific Pascal Versions ;)

the last released VPX get normally the most features Gxx06/Gxx07

and the previous rather Hybrid CUDA based solutions (and this is really interesting if you calculate the user reach and target and overall Performance Metrics of their Hybrid Decoder Research)

I wonder if the Mobile Versions actually derive from it or if it's the same there, though they already balanced some stuff on the 3D side different compared to the Desktop GPU so i wouldn't be surprised if the Mobile support looks different.


I almost was very surprised that it this time it wouldn't be the case but then i read the SDK List and saw those footnotes ;)

NikosD
27th November 2016, 13:54
http://i.imgur.com/4KtqxA8.png

http://i.imgur.com/q20XPZF.png

The PureVideo VP8 decoder of Pascal GP107 (GTX 1050 & 1050Ti) has already added 10-bit VP9 HW decoding support!!!:p:p:p
Amazing.

Cruncher is right.

From the figures it looks like Nvidia added a fixed-fuction decoder for VP9 10bit, in GP107 (1050/ 1050 Ti).

Of course Nvidia can surprise us and someone with a 1060 card someday finds out with the release of a new driver that VP9 10bit is enabled for those cards too.