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

nussman
22nd August 2015, 11:35
Mhm really? Nvidia is using fixed functions for scaling like Intel does?

nevcairiel
22nd August 2015, 11:40
Mhm really? Nvidia is using fixed functions for scaling like Intel does?

No, but a 960 just has plenty shader power to scale 4k down, at least with the simple scaling algorithms EVR uses.

Yups
22nd August 2015, 11:51
I don't have the 960 setup for benchmarking right now, but Yups could benchmark some of the clips I used back in January:
http://forum.doom9.org/showthread.php?p=1706902#post1706902

Specifically the high bandwidth Samsung clip would be interesting (SamsungNX1.Leaves.2160p@30fps-80Mbps - direct link (http://www.imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0235-UHD_Sample1.MP4))


Here for SamsungNX1.Leaves.2160p@30fps-80Mbps


Decode Benchmark (video size was greyed out)
http://fs2.directupload.net/images/150822/j75tgji2.png


Playback Benchmark 1280x720
http://fs2.directupload.net/images/150822/i4ri4gix.png

NikosD
22nd August 2015, 11:53
What ?

This is almost 75% faster than 960 of Nevcairiel (!)

118 fps (960) vs 204 fps (Skylake HD 530)

Yups
22nd August 2015, 11:59
Looks like GTX 960 suffers more than Skylake GT2 from the high bitrate. My system uses fast system memory (DDR4-3000) if this makes a difference for decoding.

NikosD
22nd August 2015, 12:02
Looks like GTX 960 suffers more than Skylake GT2 from the high bitrate. My system uses fast system memory (DDR4-3000) if this makes a difference for decoding.

Can you test this huge H.264 bitrate 4K clip ?

http://xhmikosr.1f0.de/samples/2160p/DucksTakeOff/DucksTakeOff_2160p50.x264.CRF25.mkv

NikosD
22nd August 2015, 12:24
Looks like GTX 960 suffers more than Skylake GT2 from the high bitrate. My system uses fast system memory (DDR4-3000) if this makes a difference for decoding.

And those two HEVC 4K 8bit clips.

The first huge bitrate clip is here:

4K@50fps - 100Mbps (118MB to download)
https://www.sendspace.com/file/fvgk57

Second clip:

4K@50fps - 200Mbps (238MB to download)
https://www.sendspace.com/file/usyase

NikosD
22nd August 2015, 12:44
According to Yups results (with photos), the Skylake HD 530 HEVC HW decoder has this kind of performance for 4K HEVC 8 bit clips:

Decode benchmark:

BBB clip (6 Mbps)
146/167/193

LG clip (25 Mbps)
158/183/210

Samsung clip (80 Mbps)
198/204/207

Not so reasonable results, because the performance is rising with the increase of bitrate (!)

Never seen that before.

Yups
22nd August 2015, 14:19
Can you test this huge H.264 bitrate 4K clip ?

http://xhmikosr.1f0.de/samples/2160p/DucksTakeOff/DucksTakeOff_2160p50.x264.CRF25.mkv

Decode Benchmark
Decoder Device: H264_VLD_NoFGT
Frames: 500
Time: 3,096 sec
FPS: 161,479 [150-167] fps
CPU Usage: 3 [2-4] %
GPU Usage: -

Yups
22nd August 2015, 14:25
4K@50fps - 100Mbps (118MB to download)
https://www.sendspace.com/file/fvgk57


Decode Benchmark

Decoder Device: HEVC_VLD_Main
Frames: 500
Time: 3,027 sec
FPS: 165,160 [163-167] fps
CPU Usage: 2 [0-3] %
GPU Usage: -



4K@50fps - 200Mbps (238MB to download)
https://www.sendspace.com/file/usyase


Decode Benchmark
Decoder Device: HEVC_VLD_Main
Frames: 500
Time: 3,591 sec
FPS: 139,224 [135-140] fps
CPU Usage: 2 [2-3] %
GPU Usage: -

NikosD
22nd August 2015, 14:38
Thank you for your results!

Did you get them by running a few times the decoding process, excluding the first run and posting the average of the rest of them ?

It seems that the H.264 engine is the same like mine, Haswell's H.264 decoder.

With my HD 4600@1.5GHz I get:

Ducks clips from XhmikosR (280Mbps)

LAV DXVA native 197/202/197

This is exactly our difference in GPU speed (1.15GHz vs 1.50GHz)

About 100Mbps & 200Mbps HEVC 8bit clips, we have to wait for the Nvidia 960 guys to post their results (if they dare of course!) :)

nussman
22nd August 2015, 14:56
Can someone explain me please why the "GPU speed" matters here?
I thought decoding is done in co-processors?


P.S. @Yups: Could you Do some tests with HEVC 10bit sources? Skylake hybrid Decoder should be able to help for 10bit?

NikosD
22nd August 2015, 15:07
Can someone explain me please why the "GPU speed" matters here?
I thought decoding is done in co-processors?


The coprocessor which is actually a very specific oriented ASIC and not processor in any wide form of processor, is inside Intel's iGPU and uses the exact same clock.

So, for Intel, the "GPU speed" (meaning the frequency of the clock) is the "VPU speed" the speed of the QuickSync ASIC.

nussman
22nd August 2015, 15:21
Thanks. :)

Yups
22nd August 2015, 15:22
Thank you for your results!

Did you get them by running a few times the decoding process, excluding the first run and posting the average of the rest of them ?

It seems that the H.264 engine is the same like mine, Haswell's H.264 decoder.


It was from the third run. Here a run with 5 starts. H.264 decode looks the same indeed. It was more than fast enough on Haswell, makes sense.

http://fs2.directupload.net/images/150822/jkld9cya.png

P.J
22nd August 2015, 17:53
EVGA GTX 960, Win10 x64

SamsungNX1.Leaves.2160p@30fps-80Mbps (yvid_SAM_0230-ProQuality.MP4)


Decode Benchmark (video size was greyed out)
http://i.imgur.com/HHKFhdx.png


Playback Benchmark 1280x720
http://i.imgur.com/5Hx0mwZ.png

NikosD
22nd August 2015, 19:09
EVGA GTX 960, Win10 x64

SamsungNX1.Leaves.2160p@30fps-80Mbps (yvid_SAM_0230-ProQuality.MP4)


And what about the 100 Mbps & 200 Mbps clips I uploaded ?

Can you test both with your 960 ?

P.J
22nd August 2015, 19:21
EVGA GTX 960, Win10 x64

crowd_run_2160p50_100Mbps


Decode Benchmark (video size was greyed out)
http://i.imgur.com/5DDiv3B.png


Playback Benchmark 1280x720
http://i.imgur.com/PcJ2Va3.png

NikosD
22nd August 2015, 19:21
As I read in Intel docs, HEVC decoder of Skylake was built for 4K60 FPS performance with 240 Mbps (!) stream.

As Yups tested, it is even faster than this.

I will upload a 300 Mbps HEVC 8bit file for Yups to test it.

NikosD
22nd August 2015, 19:26
From P.J and Yups results, it seems that this 80 Mbps Samsung clip favors a lot Intel fixed-function HEVC decoder and is a real disaster for Nvidia fixed-function HEVC unit.

I don't know though how common scenario would that be in various HEVC encodings.

NikosD
22nd August 2015, 19:29
@Yups and P.J

It looks like you tested different Samsung clips!

The one that Yups tested has 1394 frames and the other that P.J tested has 1016 frames !

Someone tested a wrong file!

I think Yups.

P.J
22nd August 2015, 19:41
@Yups and P.J

It looks like you tested different Samsung clips!

The one that Yups tested has 1394 frames and the other that P.J tested has 1016 frames !

Someone tested a wrong file!

I think Yups.

Yup, I got it from here but both should be the same, 80Mbps 29.97fps:
http://www.imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0230-ProQuality.MP4

P.J
22nd August 2015, 20:09
EVGA GTX 960, Win10 x64

crowd_run_2160p50_200Mbps


Decode Benchmark (video size was greyed out)
http://i.imgur.com/dAWaTb7.png


Playback Benchmark 1280x720
http://i.imgur.com/d0tWYJU.png

Yups
22nd August 2015, 20:49
@Yups and P.J

It looks like you tested different Samsung clips!

The one that Yups tested has 1394 frames and the other that P.J tested has 1016 frames !

Someone tested a wrong file!

I think Yups.


I did exactly test the file nevcairiel asked and linked for.

NikosD
22nd August 2015, 21:50
EVGA GTX 960, Win10 x64


i7-6700k HD 530 1.15 Ghz
10.18.15.4274
Windows 10 x64



@Yups and P.J

A big favor.

I want you to download and test those five 4K HEVC 8bit files and test them using DXVA Checker x64 v3.6.0, using latest LAV x64 nightly 0.65.0.47 in DXVA native mode under Win 10 x64

You have to use both modes:
Decode benchmark (no resolution) and Playback benchmark in 1280x720, five runs for each mode for each file.

PLEASE DO NOT UPLOAD SCREENSHOTS of the results!

Exclude the first run, and take the average of the other four runs for min/average/max framerate.

Your results should be like that:

Clip 1:
Decode benchmark 130/145/157
Playback benchmark 115/132/147

etc...


1) Samsung 4K@30fps-80Mbps file -0230
http://www.imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0230-ProQuality.MP4

2) Samsung 4K@30fps-80Mbps file -0235
http://imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0235-UHD_Sample1.MP4

3) Crowd_run 4K@50fps -100Mbps file
https://www.sendspace.com/file/fvgk57

4) Crowd_run 4K@50fps -200Mbps file
https://www.sendspace.com/file/usyase

5) Crowd_run 4K@50fps -300Mbps file
http://www.filedropper.com/crowdrun2160p50300mbps

Thanks!

Aleksoid1978
23rd August 2015, 06:47
Why you guys compare HEVC 8bit decoding ?? I think 10 bit is more relevant.
On GTX 960 - HEVC DXVA 10bit decoding is faster then 8 bit. :)

NikosD
23rd August 2015, 06:53
Because Skylake doesn't have a pure 10bit HW HEVC decoder, only hybrid.

nussman
23rd August 2015, 06:57
Why you guys compare HEVC 8bit decoding ?? I think 10 bit is more relevant.
On GTX 960 - HEVC DXVA 10bit decoding is faster then 8 bit. :)
+1

Would like to see some tests with 10bit hybrid Decoder.

Aleksoid1978
23rd August 2015, 07:20
And what's the point to test - if the outputs of 100 or 200 fps, what's the difference ?? :)

NikosD
23rd August 2015, 07:33
We want to measure the scaling of performance regarding bandwidth from 80 Mbps to 300 Mbps and the difference in performance between two implementations - Skylake in HD 530 and Nvidia 960.

Isn't it obvious ?

And as a matter of fact I'm kind of tired answering to that kind of questions since 2010 when I introduced for the first time globally the concept of DXVA Benchmarking.

It's like all other types of benchmarking like CPU performance, GPU performance, GAMING performance, SW video decoder performance etc

Aleksoid1978
23rd August 2015, 07:38
We want to measure the scaling of performance regarding bandwidth from 80 Mbps to 300 Mbps and the difference in performance between two implementations - Skylake in HD 530 and Nvidia 960.

Isn't it obvious ?

Why - what's it do ?? :)
Ok - Skylake decoding ~200 fps, GTX 960 ~100. What's next ?? :)

NikosD
23rd August 2015, 07:39
You didn't read all of my answer...

And if you 're looking for a very practical reason, one of the first replies would be that a decoder which manages 200 FPS on a clip and another one which manages 100 fps on the same clip during benchmarking, the first one will probably consume half power decoding a 50fps clip than the latter.

A second reply would be that in transcoding environment with no renderers involved, a faster decoder could lead to a faster transcoding.

A third reply could be that a two times faster decoder - a 200 FPS decoder vs a 100 FPS decoder - means that it can support two times more simultaneous streams in a video server environment or other multi- streams decoding requirements.

Do you want a fourth reason ? ;)

wanezhiling
23rd August 2015, 07:47
And what's the point to test - if the outputs of 100 or 200 fps, what's the difference ?? :)
The faster the decoding is, the faster the seeking is.

NikosD
23rd August 2015, 07:48
Ahh. ..Wanezhiling just added a fourth :)

nussman
23rd August 2015, 08:03
If Skylake Hybrid Deocder is able to play HEVC 10bit UHD streams is also quite relevant isnt it? ;)

NikosD
23rd August 2015, 08:49
No, not for me because we already know it does and very slowly compared to pure HW decoding.

Hybrid decoding is just an intermediate "solution" between SW and pure HW decoding.

Only a 72 EUs Skylake GT4e iGPU or a 48 EUs iGPU could have some interest.

nussman
23rd August 2015, 09:04
Hybrid Decoding is the solution for Skylake. I know it is slow, but it is important whether users can at least play "normal" (no 300mbs stuff) HEVC 10bit streams or not.

You think it is possible or not?

NikosD
23rd August 2015, 09:07
No it's not.

It would be a huge surprise if HD 530 could play 4K60 fps 10bit in real time on anything above let's say 15 Mbps.

nussman
23rd August 2015, 09:15
Ok. If someone with skylake is willing to test this here are some samples: http://demo-uhd3d.com/fiche.php?cat=uhd&id=46

NikosD
23rd August 2015, 09:18
That sample is good, because it's only 23 Mbps and could confirm or not my guess.

P.J
23rd August 2015, 17:14
This one should be better for Yups to test: http://demo-uhd3d.com/fiche.php?cat=uhd&id=97

Hybrid has terrible hiccups though.

NikosD
23rd August 2015, 17:17
At 50 Mbps ? No, no chance at all.

Still waiting for your tests with your 960 at those 5 clips :)

Yups
23rd August 2015, 18:06
1) Samsung 4K@30fps-80Mbps file -0230
http://www.imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0230-ProQuality.MP4

Decode= 163-168-172 [2-3%]
Playback= 132-141-145 [1-4%]



2) Samsung 4K@30fps-80Mbps file -0235
http://imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0235-UHD_Sample1.MP4

Decode= 198-205-207 [1-3]
Playback= 143-154-158 [1-3%]


3) Crowd_run 4K@50fps -100Mbps file
https://www.sendspace.com/file/fvgk57

Decode= 163-166-169 [0-2%]
Playback= 129-139-143 [2-5%]


4) Crowd_run 4K@50fps -200Mbps file
https://www.sendspace.com/file/usyase

Decode= 134-139-141 [2-3%]
Playback= 114-123-128 [2-6%]



5) Crowd_run 4K@50fps -300Mbps file
http://www.filedropper.com/crowdrun2160p50300mbps


Decode= 113-122-126 [1-5%]
Playback= 97-110-115 [3-6%]



It's a very good result I would say. SKL GT2 shader power is the first bottleneck as expected for 8 bit HEVC playback, but it's fast enough nevertheless.

NikosD
23rd August 2015, 18:10
Perfect!

Thank you for your results.

Extremely good I would say.

It's a 4K120 FPS HEVC 8bit decoder at 300 Mbps (!)

P.J
23rd August 2015, 19:15
EVGA GTX 960, Win10 x64:


1) Samsung 4K@30fps-80Mbps file -0230
http://www.imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0230-ProQuality.MP4

Decode= 117-118-120
Playback= 114-115-118

2) Samsung 4K@30fps-80Mbps file -0235
http://imaging-resource.com/PRODS/samsung-nx1/FULLRES/yvid_SAM_0235-UHD_Sample1.MP4

Decode= 119-122-126
Playback= 117-118-121

3) Crowd_run 4K@50fps -100Mbps file
https://www.sendspace.com/file/fvgk57

Decode= 129-132-134
Playback= 128-131-133

4) Crowd_run 4K@50fps -200Mbps file
https://www.sendspace.com/file/usyase

Decode= 104-107-109
Playback= 104-107-109

5) Crowd_run 4K@50fps -300Mbps file
http://www.filedropper.com/crowdrun2160p50300mbps
https://mega.nz/#!RVNy0BhB!DpsJlf5n_TJV1lptFGH4mAZblTA9-vT0P12VikS3xko

Decode= 83-93-97
Playback= 81-92-97

P.J
23rd August 2015, 19:27
At 50 Mbps ? No, no chance at all.

Still waiting for your tests with your 960 at those 5 clips :)

That's 10bit, hope Yups gives it a try :)
http://demo-uhd3d.com/fiche.php?cat=uhd&id=97


Can you upload the 300Mbps video somewhere else like mega.nz?

NikosD
23rd August 2015, 19:29
When I go back home I'll give it a try.

Does mega.nz allow 360 MB files ?

Is filedropper slow ?

Last time I checked it was fast enough.

Yups
23rd August 2015, 20:15
This one should be better for Yups to test: http://demo-uhd3d.com/fiche.php?cat=uhd&id=97

Hybrid has terrible hiccups though.


Hybrid

Decode= 56-74-144 [22-36%] ~110 watts
Playback= 48-62-106 [0-28%] ~107 watts


CPU only

Decode= 83-99-156 [68-98%] ~130 watts
Playback= 62-70-81 [35-97%] ~127 watts


i7-6700k 4 Ghz @1.15V
HD 530 @1150 Mhz 10.18.15.4274


CPU only is faster in this case, but all 8 threads are running with ~90% load most of the time. I think on an ULT GT2 SKU with 4 threads only Hybrid will be faster than pure CPU.

NikosD
23rd August 2015, 20:20
Good speed.

4K60 FPS HEVC 10bit at 50 Mbps but with the minimum values below 50fps.

Better than I thought.

What about this one ?

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

It's from Satellite.

P.J
23rd August 2015, 20:31
Hybrid

Decode= 56-74-144 [22-36%] ~110 watts
Playback= 48-62-106 [0-28%] ~107 watts


CPU only

Decode= 83-99-156 [68-98%] ~130 watts
Playback= 62-70-81 [35-97%] ~127 watts


i7-6700k 4 Ghz @1.15V
HD 530 @1150 Mhz 10.18.15.4274


CPU only is faster in this case, but all 8 threads are running with ~90% load most of the time. I think on an ULT GT2 SKU with 4 threads only Hybrid will be faster than pure CPU.

Great :goodpost:
Would you disable HyperThreading in BIOS and try it again?


When I go back home I'll give it a try.

Does mega.nz allow 360 MB files ?

Is filedropper slow ?

Last time I checked it was fast enough.

Mega allows even big files like 10gb. Got filedropper to work.