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

vivan
5th April 2015, 19:52
still can't use UHDcode with dxva checker...Make sure that you:
1) Use x64 version of dxva checker
2) Installed and activated UHDcode
3) Trying to benchmark mp4 video (their splitter doesn't support mkv, and their decoder doesn't work with other splitters).
4) Checked preferred splitters/decoders...

If everything else fails you can always build a graph (and benchmark it) using Graph Studio Next (https://github.com/cplussharp/graph-studio-next) (I'm not sure if it supports DXVA, but other than that it's quite cool).

huhn
5th April 2015, 20:59
Make sure that you:
1) Use x64 version of dxva checker
2) Installed and activated UHDcode
3) Trying to benchmark mp4 video (their splitter doesn't support mkv, and their decoder doesn't work with other splitters).
4) Checked preferred splitters/decoders...

If everything else fails you can always build a graph (and benchmark it) using Graph Studio Next (https://github.com/cplussharp/graph-studio-next) (I'm not sure if it supports DXVA, but other than that it's quite cool).

there is no 64 bit version anymore only one version for both
the file is a 8 bit mp4
preferred splitter shouldn't matter for DXVA checker or not?

vivan
5th April 2015, 21:41
preferred splitter shouldn't matter for DXVA checker or not?Dunno, when I installed UHDcode I was unable to use LAV Decoder in DXVA checker until I uninstalled UHDcode (that was before NikosD said that it's enough to just switch preferred splitter).

huhn
6th April 2015, 00:01
graph studio next doesn't work too.

i recheck the activation but that's a very straight forward thing ....

wanezhiling
10th April 2015, 14:57
http://www.anandtech.com/show/9152/futureproofing-htpcs-for-the-4k-era-hdmi-hdcp-and-hevc
Damn... Skylake with Iris 6100 still have no ability for HEVC...
:devil::devil::devil:

iSunrise
10th April 2015, 16:09
http://www.anandtech.com/show/9152/futureproofing-htpcs-for-the-4k-era-hdmi-hdcp-and-hevc
Damn... Skylake with Iris 6100 still have no ability for HEVC...
:devil::devil::devil:
Intel Iris Graphics 6100 (as well as HD 5500, 6000) is Broadwell, not Skylake.

wanezhiling
10th April 2015, 16:31
Skylake-U also integrate Iris 6100.

JohnLai
12th April 2015, 03:55
Anyone with kepler card (especially GTX 650TI Boost) can run hybrid hevc decoding (dxva-native) without any issue?

My friend uses that kepler generation card (drivers 350.05 and 347.88) and mpc-hc 1.7.8.151 (git 3f78c2a) with the included lavfilters with EVR Custom Presenter renderer.

The problem with it, everytime when I ran any HEVC encoded video (from elecard and some files from here), I encountered some weird jerkyness.

The moment I doubleclicked the video and MPC came out, it took 25-30seconds for the video to somehow 'load'. The playback timer is still moving normally while the screen is black. After that, suddenly the video loaded and it speeds up very fast until it catched up to the 30seconds (it looks like fast forward motion). Not only that, after it able to catch up, it ran fine up for additional 10 seconds and video hang there until again for another 30 seconds, then it auto speeds up again to the duration of 1 minutes 10 seconds. These situation repeats itself in that pattern.

I checked the filters loaded by mpc-hc and only lavfilters being used.

When running any H.264 encoded video, there isn't any issue. This only happen with every HEVC files.
Can anyone with Kepler based gpu verify this?

P.J
12th April 2015, 13:04
Anyone with kepler card (especially GTX 650TI Boost) can run hybrid hevc decoding (dxva-native) without any issue?

My friend uses that kepler generation card (drivers 350.05 and 347.88) and mpc-hc 1.7.8.151 (git 3f78c2a) with the included lavfilters with EVR Custom Presenter renderer.

The problem with it, everytime when I ran any HEVC encoded video (from elecard and some files from here), I encountered some weird jerkyness.

The moment I doubleclicked the video and MPC came out, it took 25-30seconds for the video to somehow 'load'. The playback timer is still moving normally while the screen is black. After that, suddenly the video loaded and it speeds up very fast until it catched up to the 30seconds (it looks like fast forward motion). Not only that, after it able to catch up, it ran fine up for additional 10 seconds and video hang there until again for another 30 seconds, then it auto speeds up again to the duration of 1 minutes 10 seconds. These situation repeats itself in that pattern.

I checked the filters loaded by mpc-hc and only lavfilters being used.

When running any H.264 encoded video, there isn't any issue. This only happen with every HEVC files.
Can anyone with Kepler based gpu verify this?
Hybrid solution never worked for me even with 750Ti, that's why I sold it for GTX960

JohnLai
12th April 2015, 13:30
Hybrid solution never worked for me even with 750Ti, that's why I sold it for GTX960

Strange thing is that the hybrid hevc decoding works well with GTX 970 and 980.
I also can get Intel HD 4400 and 4600 hybrid HEVC decoding works well.

I have no idea why nvidia Kepler series, GTX 650TI Boost and GTX 670 have problem in hybrid decoding.

As for getting gtx 960, I dont think his finance is that great now....

P.J
12th April 2015, 22:36
GTX970/980 are 2nd generation of Maxwell.
Maybe, but Intel is tooooo weak...

JohnLai
13th April 2015, 03:41
With madvr renderer, yeah, Intel IGPU is weak, but using EVR CP, no issue at all. I just hope egur can implement QS HEVC as soon as possible.
This way, I can leave decoding to intel IGPU and leave the resizing etc for madvr renderer.

P.J
13th April 2015, 09:40
With madvr renderer, yeah, Intel IGPU is weak, but using EVR CP, no issue at all. I just hope egur can implement QS HEVC as soon as possible.
This way, I can leave decoding to intel IGPU and leave the resizing etc for madvr renderer.

Even with EVR/EVR CP, Intel is weak. Try to play this file:
Beauty_3840x2160_120fps_420_8bit_HEVC_MP4

JohnLai
14th April 2015, 09:15
PJ,
No issue with the clip when playing it with Intel HD4600 here.
Both 2 lines shown at MPC-HC EVR CP statistics are almost perfectly in sync with each other (straight lines).

Probably due to RAM. Using DDR3 2000Mhz dual channel.

NikosD
14th April 2015, 20:34
OpenCL 1.2 has been available in the 349 branch of drivers for a while now. Until today drivers from that branch were only available for Windows 10 or Linux though.


My Fermi card (GT610) under Windows 10 build 10049 has no option of downloading any Microsoft Update driver.

So, I was forced to use a Win 8.1 driver (347.25), but unfortunately under Win 10 has no OpenCL at all.
Not even OpenCL 1.1.

Weird decision of Nvidia for Fermi owners.

I'll wait for the next builds of Win 10 to check for an update.

nevcairiel
14th April 2015, 23:22
Fermi does not support OpenCL 1.2, only Kepler and Maxwell.

NikosD
15th April 2015, 05:23
I know, Nvidia decided to give DX12 to Fermi but not OpenCL 1.2
As I wrote above, the problem is that under Win 10 Fermi doesn't even support OpenCL in general.

P.J
15th April 2015, 20:31
Someone please test PowerDVD 15 :)

ibius
15th April 2015, 22:56
And also Lentoid 2.0.3.1, which now has x64 version.

I did a quick test on my Intel DualCore with SSE4.1 and my brother's AMD X4 with SSE4A, and compared Lentoid x64 vs LAV x64 (nightly), tested two common 4k24p clips.
On my DualCore the performance of Lentoid was about the same as LAV's, but on my brother's QuadCore Lentoid beat LAV badly, I guess LAV's 64-bit optimizations don't include SSE4A.

NikosD
16th April 2015, 16:39
I made a benchmark test using latest versions of various decoders and tools on 3 different CPU architecture systems using HEVC video files of 1080p and 2160p

Decoders:
LAV x64/x86 0.65
MPC Video Decoder x64/x86 1.4.4.286
Lentoid x64/x86 2.0.3.2
Cyberlink HEVC PowerDVD 15.0.1510.58
Microsoft HEVC decoder build 10049

Tools:
DXVA Checker 3.4.1 in Benchmark Decode mode

Splitter:
LAV Splitter x64/x86 0.65


System 1 (16 threads for MPC)

Core i7-4790(AVX2) - Win 8.1 Pro x64



1.ProRes-1080p@30fps-2Mbps



MPC x64 303/421/495 CPU 85%

Lentoid x64 301/407/467 CPU 87%

Lentoid x86 315/384/450 CPU 88%

LAV x64 275/380/441 CPU 81%

MPC x86 145/185/252 CPU 93%

LAV x86 136/176/263 CPU 92%

PDVD x86 95/164/202 CPU 28%




2.Elephants Dream-1080p@24fps-1.7Mbps



MPC x64 135/372/576 CPU 62%

Lentoid x64 138/362/605 CPU 65%

LAV x64 135/362/605 CPU 55%

Lentoid x86 118/310/480 CPU 68%

MPC x86 75/171/420 CPU 67%

PDVD x86 65/169/259 CPU 24%

LAV x86 70/156/380 CPU 68%



3.Big Buck Bunny-1080p@60fps-2Mbps



LAV x64 265/419/605 CPU 53%

MPC x64 263/418/571 CPU 56%

Lentoid x64 185/405/570 CPU 59%

Lentoid x86 171/363/522 CPU 62%

PDVD x86 134/198/259 CPU 22%

MPC x86 83/182/394 CPU 56%

LAV x86 72/172/410 CPU 53%



4. Girls -1080p60 fps -11Mbps



LAV x64 214/297/378 CPU 68%

Lentoid x64 2220/296/365 CPU 84%

Lentoid x86 214/289/361 CPU 85%

MPC x64 204/283/360 CPU 71%

PDVD x86 120/172/220 CPU 59%

MPC x86 106/152/202 CPU 86%

LAV x86 100/144/206 CPU 84%



5.Beauty-2160p@30fps-12.3Mbps



MPC x64 83/94/98 CPU 77%

LAV x64 78/90/95 CPU 71%

Lentoid x64 68/83/92 CPU 76%

Lentoid x86 68/83/88 CPU 79%

MPC x86 34/50/56 CPU 91%

LAV x86 35/47/49 CPU 93%

PDVD x86 31/37/41 CPU 29%



6.Fitness-2160p@30fps-8Mbps



LAV x64 99/113/138 CPU 84%

MPC x64 90/112/130 CPU 92%

Lentoid x64 67/102/119 CPU 92%

Lentoid x86 63/95/128 CPU 93%

PDVD x86 70/77/97 CPU 91%

MPC x86 42/63/110 CPU 96%

LAV x86 37/61/113 CPU 94%



7.Ducks-2160p@50fps-4Mbps



LAV x64 107/119/121 CPU 91%

MPC x64 102/116/119 CPU 94%

Lentoid x64 88/106/111 CPU 91%

Lentoid x86 74/94/99 CPU 91%

PDVD x86 77/83/87 CPU 78%

MPC x86 40/50/53 CPU 91%

LAV x86 37/48/50 CPU 94%



8.Gravity - 2048x858@24fps-5Mbps-10bit



LAV x64 125/202/404 CPU 60%

MPC x64 123/201/396 CPU 63%

MPC x86 80/130/360 CPU 67%

LAV x86 76/126/379 CPU 65%

PDVD x86 75/117/265 CPU 53%

Lentoid x64/x86 Don't support 10bit HEVC



System 2 (8 threads for MPC)

Core 2 Quad@2.26GHz(SSE4.1) - Win 10 x64 build 10049



1.ProRes-1080p@30fps-2Mbps



Lentoid x64 52/96/113 85%

LAV x64 82/95/102 CPU 89%

MPC x64 75/95/102 CPU 89%

Lentoid x86 48/93/110 86%

Microsoft x64 65/77/84 CPU 88%

Microsoft x86 57/67/72 CPU 87%

PDVD x86 34/63/75 CPU 63%

MPC x86 45/60/81 CPU 95%

LAV x86 41/57/80 CPU 93%




2.Elephants Dream-1080p@24fps-1.7Mbps



LAV x64 43/90/108 CPU 80%

MPC x64 49/87/102 CPU 87%

Lentoid x64 44/84/96 CPU 85%

Lentoid x86 43/84/98 CPU 85%

Microsoft x64 49/70/79 CPU 87%

Microsoft x86 42/66/73 CPU 85%

PDVD x86 25/61/79 CPU 59%

LAV x86 25/54/107 CPU 83%

MPC x86 29/56/87 CPU 89%



3.Big Buck Bunny-1080p@60fps-2Mbps



LAV x64 56/92/102 CPU 80%

Lentoid x64 58/90/99 CPU 82%

MPC x64 64/90/98 CPU 87%

Lentoid x86 57/89/98 CPU 83%

Microsoft x64 66/78/86 CPU 85%

Microsoft x86 56/69/76 CPU 83%

PDVD x86 40/68/80 CPU 60%

MPC x86 30/63/103 CPU 86%

LAV x86 27/58/102 CPU 79%



4. Girls -1080p60 fps -11Mbps



LAV x64 62/86/107 CPU 87%

MPC x64 62/80/93 CPU 91%

Lentoid x64 53/80/94 CPU 90%

Lentoid x86 55/79/93 CPU 91%

Microsoft x64 54/68/77 CPU 88%

Microsoft x86 38/54/73 CPU 85%

PDVD x86 38/54/73 CPU 76%

MPC x86 33/50/84 CPU 93%

LAV x86 32/49/86 CPU 92%



5.Beauty-2160p@30fps-12.3Mbps



LAV x64 13/21/24 CPU 83%

MPC x64 11/20/22 CPU 90%

Lentoid x64 5/20/23 CPU 84%

Lentoid x86 4/19/23 CPU 83%

Microsoft x64 7/16/18 CPU 90%

MPC x86 5/16/18 CPU 96%

LAV x86 6/15/18 CPU 94%

Microsoft x86 6/14/18 CPU 88%

PDVD x86 8/13/16 CPU 64%



6.Fitness-2160p@30fps-8Mbps



LAV x64 20/25/27 CPU 92%

MPC x64 16/22/24 CPU 93%

Lentoid x64 4/21/22 92%

Lentoid x86 4/21/23 93%

MPC x86 11/19/26 CPU 95%

LAV x86 9/19/28 CPU 95%

PDVD x86 15/17/20 CPU 89%

Microsoft x64 11/17/20 CPU 89%

Microsoft x86 8/16/18 CPU 86%



7.Ducks-2160p@50fps-4Mbps



LAV x64 18/24/25 CPU 94%

MPC x64 14/22/23 CPU 92%

Lentoid x64 5/21/24 CPU 91%

Lentoid x86 5/21/22 CPU 93%

PDVD x86 13/17/17 CPU 86%

Microsoft x64 9/17/18 CPU 90%

Microsoft x86 7/15/16 CPU 86%

LAV x86 9/15/17 CPU 95%

MPC x86 7/15/18 CPU 96%



8.Gravity - 2048x858@24fps-5Mbps-10bit



LAV x64 36/50/70 CPU 89%

MPC x64 36/49/69 CPU 90%

MPC x86 29/44/71 CPU 92%

LAV x86 28/44/72 CPU 90%

Microsoft x64 29/39/49 CPU 84%

PDVD x86 28/39/49 CPU 71%

Microsoft x86 23/34/53 CPU 84%

Lentoid x64/x86 Don't support 10bit HEVC




System 3 (4 threads for MPC)

Core 2 Duo@2.33GHz (SSSE3) - Win 8 Pro x64



1.ProRes-1080p@30fps-2Mbps



Lentoid x64 40/64/94 CPU 90%

Lentoid x86 39/61/87 CPU 89%

PDVD x86 31/52/73 CPU 84%

MPC x64 26/37/65 CPU 95%

LAV x64 23/35/62 CPU 92%

MPC x86 22/32/60 CPU 94%

LAV x86 20/30/66 CPU 92%



2.Elephants Dream-1080p@24fps-1.7Mbps



Lentoid x64 22/66/120 CPU 90%

Lentoid x86 22/64/116 CPU 90%

PDVD x86 19/56/102 CPU 81%

MPC x64 16/38/97 CPU 93%

LAV x64 15/35/83 CPU 90%

MPC x86 16/34/93 CPU 94%

LAV x86 13/31/90 CPU 89%



3.Big Buck Bunny-1080p@60fps-2Mbps



Lentoid x64 36/83/123 CPU 89%

Lentoid x86 35/79/118 CPU 89%

PDVD x86 31/68/104 CPU 80%

MPC x64 20/44/98 CPU 92%

LAV x64 16/39/85 CPU 89%

MPC x86 17/38/94 CPU 92%

LAV x86 13/36/91 CPU 88%



4. Girls -1080p60 fps -11Mbps



Lentoid x64 29/48/83 CPU 89%

Lentoid x86 28/47/76 CPU 91%

PDVD x86 25/40/73 CPU 84%

MPC x64 19/31/68 CPU 93%

LAV x64 17/29/65 CPU 91%

MPC x86 16/27/73 CPU 93%

LAV x86 14/25/60 CPU 91%



5.Beauty-2160p@30fps-12.3Mbps



Lentoid x64 4/14/16 CPU 90%

Lentoid x86 3/14/16 CPU 91%

PDVD x86 7/12/15 CPU 78%

MPC x64 2/10/12 CPU 95%

LAV x64 1/9/10 CPU 91%

MPC x86 1/8/10 CPU 93%

LAV x86 1/8/9 CPU 92%



6.Fitness-2160p@30fps-8Mbps



Lentoid x64 4/17/27 CPU 88%

PDVD x86 11/16/24 CPU 92%

Lentoid x86 4/16/27 CPU 87%

MPC x64 5/13/23 CPU 93%

LAV x64 5/12/23 CPU 92%

MPC x86 4/11/22 CPU 92%

LAV x86 4/10/22 CPU 92%



7.Ducks-2160p@50fps-4Mbps



Lentoid x64 7/16/18 CPU 87%

Lentoid x86 6/16/18 CPU 87%

PDVD x86 11/15/17 CPU 88%

MPC x64 4/9/11 CPU 92%

LAV x64 3/9/11 CPU 90%

MPC x86 2/8/10 CPU 92%

LAV x86 2/8/9 CPU 91%



8.Gravity - 2048x858@24fps-5Mbps-10bit



MPC x64 18/33/85 CPU 94%

LAV x64 17/32/84 CPU 91%

PDVD x86 18/31/79 CPU 82%

MPC x86 15/28/83 CPU 93%

LAV x86 13/27/84 CPU 91%

Lentoid x64/x86 Don't support 10bit HEVC




Comments:


1) Lentoid x86 is an unbelievably fast decoder reaching close to all x64 decoders even in newer architectures (SSE4.1)
Lentoid x86 is the fastest x86 HEVC decoder for all OSes and all CPU architectures.

On the other hand, LAV x86 is always the slowest (besides 10bit clips on newer architectures)

2) Lentoid x64 is fast and occasionally faster in one or two clips for 1080p, but for all the other cases is a little slower than LAV/MPC x64 (besides pre-SSE4.1 which is always faster)

3) Lentoid still doesn't support 10 bit HEVC clips.

4) LAV x64 is fast, most of the times faster than any other HEVC decoder, if and only if, CPU architecture uses at least SSE4.1 instructions. i.e Penryn (2008) and above for Intel and Bulldozer (late 2011) for AMD.

For older systems e.g Core2Duo with SSSE3 and older, Lentoid x64/x86 and PowerDVD 15 are faster, especially Lentoid.

Even Lentoid x86 is two times faster than LAV x64 in pre-SSE4.1 systems

5) Microsoft added MKV support for HEVC files, but Microsoft's HEVC decoders don't look so fast under SSE4.1 CPU architecture like they did under SSSE3 CPU architecture, especially now that Lentoid has built so fast x64/x86 decoders.
PowerDVD 15 is also competitive with Microsoft's decoders in 2160p videos.

6) I couldn't figure out what is going on with the CPU utilization of PowerDVD 15 decoder.
At the first three mkv files, I thought that it's a 2 thread decoder, but in the forth mp4 file the CPU usage went higher, but not in the level of the other decoders.
It looks like it has room for optimizations.

PowerDVD 15 looks very strong for old architectures (before SSE4.1), especially for 2160p

7) MPC decoder is based on LAV decoder and the results are similar.

8) HEVC 2160p is unreachable for older Core 2 Quad cores with low clock, even using SSE4.1 and low bitrates.

9) Lentoid x64/x86 uses YV12 output during playback and I420 output in decode mode.
PowerDVD 15 uses YUY2 for playback/decode for both 8bit/10bit clips and LAV/MPC use NV12 in both playback and decode mode for 8bit but for 10bit clips use P010 for decode and NV12 for playback.

iSunrise
16th April 2015, 19:23
Holy shit, LAV x64 is about two times as fast than LAV x86 with HEVC and even ProRes. Thank god madVR is finally available as a x64 build.

sneaker_ger
16th April 2015, 19:34
I think "ProRes" is just the name of the sample. The original source was probably a ProRes file before being encoded to HEVC.

NikosD
16th April 2015, 19:47
I think "ProRes" is just the name of the sample. The original source was probably a ProRes file before being encoded to HEVC.
Exactly

P.J
16th April 2015, 22:20
Ah, PowerDVD 15 doesn't support 10bit...

ibius
16th April 2015, 23:38
Are you sure? PowerDVD 14, or at least it's CyberLink Video Decoder played 10bit HEVC clips just fine in MPC-HC and DXVAChecker.

Also, someone with a Kepler/Maxwell card and new Nvidia drivers should try CyberLink's hybrid HEVC decoding again, now that Nvidia "supports" OpenCL 1.2, because in SW-mode it most likely won't beat LAV's or Lentoid's x64 versions.

P.J
17th April 2015, 20:00
I meant 10-bit via DXVA2, 8-bit works fine now. No way to benchmark it with DXVAChecker too even after registering the decoder =T

huhn
17th April 2015, 20:36
Are you sure? PowerDVD 14, or at least it's CyberLink Video Decoder played 10bit HEVC clips just fine in MPC-HC and DXVAChecker.

Also, someone with a Kepler/Maxwell card and new Nvidia drivers should try CyberLink's hybrid HEVC decoding again, now that Nvidia "supports" OpenCL 1.2, because in SW-mode it most likely won't beat LAV's or Lentoid's x64 versions.

nvidia user are now able to use openCL 1.2 that doesn't mean it is faster at all. it simply means they could write a openCL program with some of the new feature from openCL 1.2 that are in the new driver and maybe this give more speed. but a new version of this decoder is needed first. and i highly doubt this give more speed.

NikosD
17th April 2015, 20:47
Ibius put the issue of OpenCL PowerDVD HEVC decoder regarding Nvidia, not in terms of performance but in terms of compatibility.

Because when something doesn't work at all, like OpenCL HEVC decoder for Nvidia, you don't care about speed.

All you want is a working decoder.

And because Cyberlink released a new OpenCL HEVC decoder v15 and Nvidia released a new driver supporting a newer version of OpenCL for Kepler/Maxwell, one might think that at last OpenCL HEVC decoder is working for Nvidia.
(I doubt that there are devs interested in Nvidia's OpenCL, but who knows)

ibius
17th April 2015, 22:03
I meant 10-bit via DXVA2, 8-bit works fine now.

I see, and I meant SW-decoding, because CyberLink's Video Decoder from PowerDVD 14 didn't even have 8-bit HEVC DXVA2 decoding, only hybrid decoding (OpenCL) and only on AMD and Intel cards.


Ibius put the issue of OpenCL PowerDVD HEVC decoder regarding Nvidia, not in terms of performance but in terms of compatibility.

Because when something doesn't work at all, like OpenCL HEVC decoder for Nvidia, you don't care about speed.

All you want is a working decoder.

Exactly, thank you.

Why both CyberLink's and Strongene's OpenCL HEVC decoders work on AMD and Intel cards, but not on NVIDIA?

huhn
17th April 2015, 22:48
Why both CyberLink's and Strongene's OpenCL HEVC decoders work on AMD and Intel cards, but not on NVIDIA?

they all use different APIs. looks like amd and intel have the similar APIs or the same that are needed for this program while nvidia has it own to get the same results.

ibius
17th April 2015, 23:13
they all use different APIs. looks like amd and intel have the similar APIs or the same that are needed for this program while nvidia has it own to get the same results.

It was a rhetorical question. Two independent decoders that utilize OpenCL work on AMD and Intel, but not on NVIDIA.

Like I said before at least for hybrid decoding purposes NVIDIA's OpenCL is a joke, although I'm pretty happy with my GTX 550Ti madVR-wise, I'm gonna have to upgrade to GTX 960 or similar when HEVC encodes hit main street.

huhn
17th April 2015, 23:27
It was a rhetorical question. Two independent decoders that utilize OpenCL work on AMD and Intel, but not on NVIDIA.

Like I said before at least for hybrid decoding purposes NVIDIA's OpenCL is a joke, although I'm pretty happy with my GTX 550Ti madVR-wise, I'm gonna have to upgrade to GTX 960 or similar when HEVC encodes hit main street.
these decoder are decoder for AMD and intel and simply not nvidia so they are not independent at all.

nvidia DXVA for HEVC using DXVA (except 960) is hybrid like these other openCL decoder. compared to lavfilter x64 or the windows 10 decoder all hybrid decoder are looking like a joke. maybe faster but at which cost?

and nvidia is usually no challenge for AMD in term of GPGPU processing. no secret and cuda doesn't change that.

ibius
18th April 2015, 00:18
these decoder are decoder for AMD and intel and simply not nvidia so they are not independent at all.

That's a nice phrase "for AMD and Intel and simply not Nvidia", so Strongene and CyberLink developed their OpenCL HEVC decoders specifically for AMD and Intel, but not Nvidia?
And how come it follows that they are not idependent?

In Strongene's OpenCL HEVC decoder readme file there's a note that says The OpenCL Version Lentoid HEVC decoder now only guarantees the support for AMD dGPUs and APUs (Radeon HD 5000 series or above).
Which implies that an earlier version wasn't AMD-specific.

And I didn't see any AMD-only developer notes from CyberLink, so how do you know that both Strongene and CyberLink only implemented AMD/Intel-specific APIs?
If two different decoders with OpenCL support only work with AMD and Intel cards doesn't mean both decoders were developed only for AMD and Intel cards.
Maybe if Nvidia gets to OpenCL 2.0 in a few years, these then old decoders will suddenly start working.

nvidia DXVA for HEVC using DXVA (except 960) is hybrid like these other openCL decoder. compared to lavfilter x64 or the windows 10 decoder all hybrid decoder are looking like a joke.

That's not what I meant or said at all, please pay more attention next time.

huhn
18th April 2015, 00:44
if they wanted to write a openCL decoder for nvidia than they could have done that. but they didn't. why? feel free to ask them.
but it is possible! and openCL 1.2 or 2.0 is for sure not the reason.

NikosD
18th April 2015, 04:32
You have to be a little or more masochist to write a program in OpenCL for Nvidia when there is CUDA, that's the truth.

So, you write an OpenCL program for the HW that truly supports it (AMD, Intel) and if you have even more resources available, you write another version for CUDA.

End of story.

NikosD
18th April 2015, 07:55
A very interesting update:

PowerDVD 15 seems to support 3 HEVC decoding modes, at least for Intel iGPU (Haswell).

CPU, DXVA and OpenCL.

Expect an updated post testing all these modes.

huhn
18th April 2015, 09:57
You have to be a little or more masochist to write a program in OpenCL for Nvidia when there is CUDA, that's the truth.

So, you write an OpenCL program for the HW that truly supports it (AMD, Intel) and if you have even more resources available, you write another version for CUDA.

End of story.

i hope you are aware that there are a lot of programs that work totally fine on all 3 GPU vendor. and i hope these people ignore such commentss and still give nvidia users the chance of using there openCL programs.

ibius
18th April 2015, 15:11
And I hope you are aware that this is a thread for HEVC decoder evaluation, and the only two OpenCL decoders available don't work on Nvidia hardware, period.

The only HW-assisted HEVC decoding for Nvidia users is through DXVA2 (w/ LAV and maybe PowerDVD 15 now) on high-end Kepler and Maxwell cards or GTX 960 with dedicated ASIC.

huhn
18th April 2015, 16:07
And I hope you are aware that this is a thread for HEVC decoder evaluation, and the only two OpenCL decoders available don't work on Nvidia hardware, period.

The only HW-assisted HEVC decoding for Nvidia users is through DXVA2 (w/ LAV and maybe PowerDVD 15 now) on high-end Kepler and Maxwell cards or GTX 960 with dedicated ASIC.

and i wonder why?

The OpenCL version is developed jointly by Strongene and AMD

huhn
18th April 2015, 16:29
mircosoft is faster on this sample than lavfilter on my system.

i find this pretty strange and i don't see a reason for this.
and i got UHDcode working and it is indeed hybrid decoding. but with no real impact

i3 4130 r9 270
beauty
playback 1280x720

microsoft
59 FPS 89% CPU 26% GPU
UHDcode
34.5 FPS 65% CPU 51% GPU
LAV
46.5 FPS CPU 73% ~8GPU

DECODE
microsoft
59.5 FPS 89% CPU - GPU
UHDcode
36.5 FPS 68% CPU 30 % GPU
LAV
49 FPS 73% CPU - GPU

is it new that microsoft MF can read HEVC in MKV?

NikosD
18th April 2015, 17:07
I've finished my little survey today about HEVC CPU decoders, updated with new decoders and new tools here:
http://forum.doom9.org/showthread.php?p=1717938#post1717938

I have to admit that I was strongly impressed by Lentoid x86 decoder, more than anything else.

So, I searched a little bit in the past in order to see some signs of this incredible performance.

I had already tested the previous version 2.0.2.6 twice, first time in the initial post and second time here:
http://forum.doom9.org/showthread.php?p=1705352#post1705352

The results weren't that impressive and now I can tell that there are two reasons behind that.

In order to see for yourselves the two reasons I tested again head to head the two Lentoid versions 2.0.2.6 vs 2.0.3.x in all three systems on two files - 4 and 5 - for both modes playback (using scaling to 1280x720) and decode:

* for Lentoid 2.0.3.3 I used latest DXVA Checker v3.50 (not the older 3.4.1)

System 1

Core i7-4790(AVX2) - Win 8.1 Pro x64 - iGPU@1.5GHz - v4156


4. Girls -1080p60 fps -11Mbps

Lentoid x86 v2.0.3.3(decode) 208/276/332 CPU 84%
Lentoid x86 v2.0.3.2(decode) 214/289/361 CPU 85%
Lentoid x86 v2.0.3.1(decode) 213/288/358 CPU 86%
Lentoid x86 v2.0.2.6(decode) 94/154/210 CPU 35%


Lentoid x86 v2.0.3.3(playback) 89/107/109 CPU 21%
Lentoid x86 v2.0.3.2(playback) 89/107/108 CPU 21%
Lentoid x86 v2.0.3.1(playback) 88/108/109 CPU 20%
Lentoid x86 v2.0.2.6(playback) 74/100/109 CPU 22%


5.Beauty-2160p@30fps-12.3Mbps


Lentoid x86 v2.0.3.3(decode) 65/81/86 CPU 79%
Lentoid x86 v2.0.3.2(decode) 68/83/88 CPU 79%
Lentoid x86 v2.0.3.1(decode) 68/83/89 CPU 80%
Lentoid x86 v2.0.2.6(decode) 35/45/48 CPU 36%


Lentoid x86 v2.0.3.3(playback) 28/48/49 CPU 37%
Lentoid x86 v2.0.3.2(playback) 27/47/47 CPU 35%
Lentoid x86 v2.0.3.1(playback) 25/47/50 CPU 36%
Lentoid x86 v2.0.2.6(playback) 15/33/35 CPU 24%



System 2

Core 2 Quad@2.26GHz(SSE4.1) - Win 10 x64 build 10049 - GT610 - 347.25


4. Girls -1080p60 fps -11Mbps

Lentoid x86 v2.0.3.2(decode) 55/79/93 CPU 91%
Lentoid x86 v2.0.3.1(decode) 56/75/92 CPU 90%
Lentoid x86 v2.0.2.6(decode) 38/68/94 CPU 72%


Lentoid x86 v2.0.3.2(playback) 29/44/45 CPU 43%
Lentoid x86 v2.0.3.1(playback) 32/44/44 CPU 45%
Lentoid x86 v2.0.2.6(playback) 32/43/45 CPU 44%


5.Beauty-2160p@30fps-12.3Mbps

Lentoid x86 v2.0.3.2(decode) 4/19/23 CPU 83%
Lentoid x86 v2.0.3.1(decode) 4/20/23 CPU 82%
Lentoid x86 v2.0.2.6(decode) 8/18/21 CPU 71%


Lentoid x86 v2.0.3.2(playback) 1/13/13 CPU 40%
Lentoid x86 v2.0.3.1(playback) 1/13/15 CPU 41%
Lentoid x86 v2.0.2.6(playback) 3/12/13 CPU 39%



System 3

Core 2 Duo@2.33GHz (SSSE3) - Win 8 Pro x64 - iGPU 945GM - 8.15.10.1930



4. Girls -1080p60 fps -11Mbps


Lentoid x86 v2.0.3.3(decode) 26/46/90 CPU 89%
Lentoid x86 v2.0.3.2(decode) 28/47/76 CPU 91%
Lentoid x86 v2.0.3.1(decode) 28/46/75 CPU 90%
Lentoid x86 v2.0.2.6(decode) 24/41/81 CPU 88%


Lentoid x86 v2.0.3.3(playback) 27/38/45 CPU 72%
Lentoid x86 v2.0.3.2(playback) 26/37/45 CPU 72%
Lentoid x86 v2.0.3.1(playback) 22/37/45 CPU 73%
Lentoid x86 v2.0.2.6(playback) 20/30/44 CPU 63%


5.Beauty-2160p@30fps-12.3Mbps


Lentoid x86 v2.0.3.3(decode) 5/15/17 CPU 92%
Lentoid x86 v2.0.3.2(decode) 3/14/16 CPU 91%
Lentoid x86 v2.0.3.1(decode) 3/14/16 CPU 93%
Lentoid x86 v2.0.2.6(decode) 4/12/14 CPU 84%


Playback mode using EVR not supported by iGPU for UHD.


A careful reader will see the two points that made new Lentoid x86 2.0.3.x extremely fast:

1) In the first two benchmarks tests, I used DXVA processing or Playback benchmark mode as it is called now.

Well, I don't know if it's a problem of DXVA Checker or of Lentoid x64/x86 decoder, but in this mode the CPU utilization of Lentoid is low and the performance is low too.
It's like a bottleneck across all systems and both versions old (2.0.2.6) and new (2.0.3.x)

I've sent an email to the DXVA Checker's developer about this issue, but he hasn't confirmed anything yet.

In the last test, I used Decode Benchmark mode, where the Lentoid x64/x86 decoders really shine, with no bottlenecks and high CPU utilization.

2) In my comments of second test on January 2015 I wrote:


Lentoid (Strongene) seems to be the fastest x86 decoder, but not with HT CPUs. It looks like a problem with multi-threading.


Well, it seems that Lentoid has already seen that weakness of their decoder (or they read my benchmarks :p) and they fixed exactly that.

See for yourself the double speed of Lentoid x86 in Decode mode for System 1 (Core i7 4790 - 8 threads) because of the double CPU utilization of the new version compared to the old one on the same system.

Also for the first system, there is an improvement in Playback Benchmark mode, compared to the older platforms, but only for the 2160p file and it's still too low performance for such a fast decoder.

I hope a few things are better clarified now.

NikosD
18th April 2015, 17:17
is it new that microsoft MF can read HEVC in MKV?

From my 8 HEVC samples, the 5 of them are .mkv and they were decoded by Microsoft x64/x86 HEVC decoder using LAV splitter and Win 10 Build 10049 - System 2

ksio89
19th April 2015, 06:39
I'm trying to play some video samples encoded in HEVC but DXVA2 is not being activated, does anyone know why? Both HEVC and UHD are available and activated in LAV (both x86 and x64) when DXVA2 (native) is chosen as the HW decoder. BTW, I'm using MPC-HC x64.

Some time ago I posted a similar question, but it was an UHD video in H.264 codec instead of HEVC.

The video samples are available at http://www.elecard.com/en/download/videos.html

Tried HEVC in UHD, FHD, and HD, DXVA2 isn't activated with none of them.


These are the specs of my laptop:

Dell Inspiron 15R-5537

CPU: core i7-4500U @ 1,8-2,7 GHz
GPU: AMD Radeon HD 8870M
RAM: 8 GB DDR3 @ 1600 MHz
OS: Win 8.1 Pro

software info:

codec: K-Lite codec pack 11.1.0 Full
MPC-HC build: 1.7.8.152 (3f78c2a) (develop) x64
LAV filters: 0.64.0.51

This laptop is an Enduro (MUXless dynamic) platform, similar to nVidia Optimus, in which the iGPU is activated all the time, but rendering (gaming, video playback) can be done by GPU via PCI-E bus if set to high perfomance. However, as someone pointed before, the Radeon GPU can only decode HEVC via OpenCL, so DXVA HW decoding of HEVC is only available to HD Graphics 4400 iGPU.

I don't know if HD Graphics 4400 HEVC decoder or the CPU is fast enough to play 4K, but DXVA should be at least activated, because HEVC is shown as available when DXVA2 native/copy-back HW decoder is selected. Thanks in advance.

NikosD
19th April 2015, 06:43
Can you post a DXVA checker first screen screenshot ?

I think your Radeon card "overlaps" your iGPU so only DXVA capabilities of Radeon would be available.

If that's true, you have to wait for egur, Intel's employee, to add to his QS decoder HEVC decoding in order to use it with your laptop.

NikosD
19th April 2015, 07:26
BTW, I'm using MPC-HC x64.

Some time ago I posted a similar question, but it was an UHD video in H.264 codec instead of HEVC.



If you go to LAV Video properties inside MPC-HC and choose QS decoder (Intel QuickSync) and you tick UHD (4K), you will have HW acceleration for H.264 UHD (4K) files.

littleD
19th April 2015, 09:14
Did anybody notice that Strongene Lentoid decoder has also 64 bit version now? And not suprisingly, it is a bit faster than x86 version. Just tiny behind Lav 64 bit.

wanezhiling
19th April 2015, 09:29
Did anybody notice that Strongene Lentoid decoder has also 64 bit version now? And not suprisingly, it is a bit faster than x86 version. Just tiny behind Lav 64 bit.

http://forum.doom9.org/showthread.php?p=1717847#post1717847

NikosD
19th April 2015, 09:41
This is a post for hybrid decoding (DXVA, OpenCL) on Intel's iGPU HD4600.


Decoders:
LAV x64/x86 DXVA 0.65
MPC x64/x86 DXVA 1.4.4.286
PowerDVD x86 DXVA & OpenCL 15.0.1510.58
Lentoid x86 OpenCL decoder v2.0.0.2



Tool:
DXVA Checker 3.4.1 (Benchmark Decode mode)


Splitter:
LAV Splitter 0.65


All DXVA tests were done in Native mode.
GPU utilization is ~100% in almost all tests during all the time, with the exceptions of LAV/MPC written in comments.


System 1

Core i7-4790 - Win 8.1 Pro x64 - iGPU HD4600@1.5GHz - v4156


1.ProRes-1080p@30fps-2Mbps




MPC DXVA x64 135/203/229 CPU 21%

LAV DXVA x64 131/202/224 CPU 22%

LAV DXVA x86 135/202/227 CPU 24%

PDVD DXVA x86 137/200/237 CPU 25%

PDVD OCL x86 142/198/222 CPU 34%

MPC DXVA x86 145/197/225 CPU 23%

Lentoid OCL x86 (SW fall-back mode)



2.Elephants Dream-1080p@24fps-1.7Mbps



PDVD DXVA x86 132/219/308 CPU 28%

LAV DXVA x64 87/211/304 CPU 23%

MPC DXVA x64 94/208/295 CPU 22%

PDVD OCL x86 120/203/247 CPU 35%

LAV DXVA x86 74/203/290 CPU 25%

MPC DXVA x86 75/202/293 CPU 25%

Lentoid OCL x86 Black screen



3.Big Buck Bunny-1080p@60fps-2Mbps



LAV DXVA x64 180/255/312 CPU 23%

MPC DXVA x64 165/253/308 CPU 27%

PDVD DXVA x86 196/249/300 CPU 28%

MPC DXVA x86 152/242/298 CPU 25%

LAV DXVA x86 135/241/303 CPU 25%

PDVD OCL x86 172/218/241 CPU 33%

Lentoid OCL x86 Not working



4. Girls -1080p60 fps -11Mbps



PDVD DXVA x86 160/199/242 CPU 41%

PDVD OCL x86 140/181/207 CPU 46%

MPC DXVA x64 109/170/218 CPU 27%

LAV DXVA x64 144/166/215 CPU 28%

MPC DXVA x86 91/157/213 CPU 27%

LAV DXVA x86 106/153/196 CPU 27%

Lentoid OCL x86 (SW fall-back mode)



5.Beauty-2160p@30fps-12.3Mbps



LAV DXVA x64 44/54/56 CPU 22%

PDVD DXVA x86 48/53/58 CPU 25%

MPC DXVA x64 18/51/56 CPU 21%

LAV DXVA x86 46/49/52 CPU 25%

MPC DXVA x86 Crashed in 3rd time in a row test

Lentoid OCL x86 (SW fall-back mode)

PDVD OCL x86 (SW fall-back mode)



6.Fitness-2160p@30fps-8Mbps



PDVD DXVA x86 66/75/92 CPU 57%

MPC DXVA x64 41/60/84 CPU 33%

LAV DXVA x64 49/58/82 CPU 34%

LAV DXVA x86 47/57/82 CPU 33%

MPC DXVA x86 37/56/82 CPU 33%

PDVD OCL x86 (SW fall-back mode)

Lentoid OCL x86 Crashed



7.Ducks-2160p@50fps-4Mbps



PDVD DXVA x86 62/67/70 CPU 26%

LAV DXVA x64 63/66/68 CPU 26%

LAV DXVA x86 63/66/68 CPU 27%

MPC DXVA x64 35/63/69 CPU 24%

MPC DXVA x86 Crashed in 3rd time in a row test

Lentoid OCL x86 (SW fall-back mode)

PDVD OCL x86 (SW fall-back mode)




8.Gravity - 2048x858@24fps-5Mbps-10bit

Intel's hybrid decoder doesn't support 10 bit HEVC decoding, so all decoders work but in SW fall-back mode with the exception of Lentoid OCL which crashed.



Comments:



0) 4K60fps decoding is feasible using DXVA hybrid decoders, only with low bitrates on HD4600@1.5GHz.

1) PowerDVD 15 DXVA x86 decoder is not only the fastest x86 DXVA decoder for HEVC, but also the fastest DXVA decoder in general, as it is faster, most of the times, even than LAV/MPC x64 HEVC decoders.

2) On the other hand, PowerDVD 15 OCL x86 decoder although is fast, it uses always more CPU power than DXVA hybrid decoders and mainly it doesn't support 2160p decoding and falls back to SW.

3) LAV/ MPC x64 versions are a little faster than the x86 versions, but not with a big difference.

LAV/MPC x64/x86 had some problems utilizing the GPU completely, sometimes they dropped the load a lot and iGPU frequency dropped too, resulting in lower performance e.g clips 2,4,6.

Optimizations needed for LAV DXVA in order to be competitive with PowerDVD 15 DXVA utilizing GPU at 100% all the time.

4) Lentoid OpenCL is simply not working. Major compatibilities with a lot of HEVC files and when it's working it falls back to SW mode.

5) All DXVA decoders output is NV12, PowerDVD 15 OCL uses YUY2 and Lentoid OCL uses I420

P.J
19th April 2015, 11:13
How did you add PDVD to DXVAChecker?

NikosD
19th April 2015, 11:16
What do you mean ?

The registration of the DS filter and the use of it by DXVA Checker is exactly the same as PowerDVD 14.