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
4th August 2015, 14:47
Sorry but I have no idea what you are talking about ...

"DXVA11" = ? MSDN says it is DXVA2, why you think it is "DXVA11"?
What Intel or AMD GPU support HEVC DXVA2?

NikosD
4th August 2015, 15:14
As I wrote above, I call D3D11 video acceleration as DXVA11 because it has no name by Microsoft.

DXVA11 = D3D11 Video acceleration

Intel supports both DXVA2/"DXVA11"

I think the others too.

Read more about D3D11 video acceleration in order to understand the differences with DXVA2

wanezhiling
5th August 2015, 13:50
http://i3.tietuku.com/a251913f94a9c7c5.png

Congratulations, PotPlayer dev also verified your supposition. :)

JohnLai
5th August 2015, 14:17
It seems that Ivybridge still uses 15.33 driver and not 15.36, so I don't expect Ivy to support DXVA HEVC acceleration.

But have you tried Lentoid HEVC OpenCL decoder or Cyberlink's PowerDVD HEVC OpenCL decoder with Ivy to see of there is any HW acceleration from there ?

Because Ivy supports OpenCL.

.....about Ivy Bridge HD4000 OpenCL HEVC decoding using Lentoid OpenCL, I never got it to work when I was using Win7. I can't recall what error pop up last time whenever lentoid is being loaded.
As for cyberlink = I am too poor to afford one.....

Just now, I tried to install lentoid opencl on win10 (free upgrade from win7). Apparently.....there isnt any opencl support for intel hd4000 for win10 as shown by gpuz 0.8.5

NikosD
5th August 2015, 16:23
Congratulations, PotPlayer dev also verified your supposition. :)

No, my assumption is wrong because as I wrote in my previous post a Radeon 7750 with Catalyst 15.7.1 and WDDM 2.0, still doesn't have MS MFT HEVC decoder with Win 10.

You have to check my next assumption which is AVX2 instructions.

.....about Ivy Bridge HD4000 OpenCL HEVC decoding using Lentoid OpenCL, I never got it to work when I was using Win7. I can't recall what error pop up last time whenever lentoid is being loaded.
As for cyberlink = I am too poor to afford one.....

Just now, I tried to install lentoid opencl on win10 (free upgrade from win7). Apparently.....there isnt any opencl support for intel hd4000 for win10 as shown by gpuz 0.8.5

Cyberlink's PDVD 15 HEVC decoder is free, because you can take it from the trial PowerDVD 15.
I'll give you instructions how to get it.

Also, GPU-Z is not so reliable for new systems (HW or SW)

I would definitely try realworld OpenCL tests like LuxMark or GPU Caps Viewer which has some built-in easy to test OpenCL tests.

https://forum.beyond3d.com/threads/direct3d-feature-levels-discussion.56575/page-27#post-1865163

Skylake Gen9 GPU supports Feature Level 12_1, it's the most advanced FL12_1 GPU for integrated graphics, AMD can't support FL12_1.

I've read so far only Anandtech's review and I'm shocked by the size of the failure of new Skylake CPU.

For example:
The Core i7-6700K (Skylake) is 5% faster on average than Core i7-4790K (Haswell)

For two generations (Skylake to Haswell) this is simply unacceptable.

Also Skylake is slower in IPC than previous generation Broadwell. This is simply awful.

Also I copy a phrase from Anandtech's review



Conclusions on Gaming

There’s no easy way to write this.

Discrete graphics card performance decreases on Skylake over Haswell.



Unbelievable!

Also, the IGP of Core i7-6700K is about 20-25% on average faster than Core i7-4770K and a lot slower than Core i7-5775C in games, according to Anandtech.

No HDMI 2.0

Besides HW HEVC decoding (8bit only) and encoding, I would call Skylake a big failure.

Plutotype
5th August 2015, 17:22
I have also read the reviews about Skylake. I also havent seen any slide or source mentioning Skylake desktop CPU having GT4e iGPU ( Iris Pro HD580 ). That should be compared to GT3e Iris Pro HD6200 on i7-5775C, btw, not the GT2 on i7-6700K.
In terms of HDMI2.0, is this not a motherboard thing? Some Z170īs have it definately. Why would a Z170 motherboard have HDMI2.0 port when the iGPU on the Z170 CPU cant support it?

Regarding 10-bit HEVC content ( upcoming UltraHD blu-ray ), will Skylake iGPUs ever support full hardware decoding of such content?
If no, there is no need upgrade from Broadwell, which at least has these i7/i5 models. Now its clear why they put these two models out.

Can i7-5775C hybrid decoder decode 60fps high 50Mbps 5.1 level 10-bit HEVC content and not go beyond 20-30% of CPU load?

huhn
5th August 2015, 18:01
You have to check my next assumption which is AVX2 instructions.

my i7 3770k doesn't have AVX2 but the decoder was working with my gtx 760. now i put my r9 270 in the system because the gtx 760 just died and now the decoder doesn't work at least not now.

but AVX2 can't be the reason.

NikosD
5th August 2015, 18:14
It's not WDDM 2.0 (because AMD cards with WDDM 2.0 do not work) and it's not AVX2 because Ivy works.

OK...

So, it needs WDDM 2.0 but not AMD cards...Simple :)

huhn
5th August 2015, 18:16
my HTPC with AVX2 and the same card had a working decoder.

NikosD
5th August 2015, 18:20
Someone with a lot of different generations HW can do the combinations in order to find out what's going on before the official explanation - I hope to give that explanation - from MS.

Looks like something with WDDM 2.0 and AVX2.

JohnLai
5th August 2015, 18:46
NikosD, by removing my discrete gpu and connecting my display using only IGPU HD4000, gpuz finally shows opencl checkbox is checked.

~.~ Geez, turns out the dll/ax is 32bit. I had to download x86 MPC-HC to test.

Anyway...I attached the results here.
I dont see much different in term of cpu and igpu load when testing both HAM and SW option.

NikosD
5th August 2015, 19:02
I can't see yet the images, but it's better to do some tests with DXVA Checker in order to see some figures and CPU/GPU usage during HAM and SW tests.

In "playback benchmark" mode or even better in "decode benchmark" mode (to isolate the GPU usage for other reasons than HEVC decoding)

Yups
5th August 2015, 19:48
Also Skylake is slower in IPC than previous generation Broadwell. This is simply awful.



You should make it clear you compare it to Broadwell-K with 128 MB of edram. This is the only reason why certain benchmarks have a better IPC than Skylake without L4. Non edram BDW won't have better IPC.



In terms of HDMI2.0, is this not a motherboard thing? Some Z170īs have it definately. Why would a Z170 motherboard have HDMI2.0 port when the iGPU on the Z170 CPU cant support it?


HDMI 2.0 on Skylake is working over Thunderbolt. Boards with Alpin Ridge support HDMI 2.0.

Btw,

http://www.hardware.fr/articles/940-23/hd-graphics-530-pratique-h-265-consommation.html


Does Quicksync HEVC run out of the box?

NikosD
5th August 2015, 20:24
You should make it clear you compare it to Broadwell-K with 128 MB of edram. This is the only reason why certain benchmarks have a better IPC than Skylake without L4. Non edram BDW won't have better IPC.


It wasn't necessary to say that, because here we compare desktop products, Skylake isn't available for other platforms yet.

All 5 different SKUs of desktop Broadwell have the eDRAM.

You can't buy a desktop Broadwell without one.



Btw,

http://www.hardware.fr/articles/940-23/hd-graphics-530-pratique-h-265-consommation.html


Does Quicksync HEVC run out of the box?

Yes, apparently it does.

And why not ?

DXVA decoding is a standard and if the DXVA device decoders installed by the drivers of the GPUs and the developers of the DXVA decoders follow exactly Microsoft's standards, you don't have to explicitly make changes for a new platform.

Of course some kind of optimizations always occur, depending on the GPU.

Plutotype
5th August 2015, 22:21
But Skylake does not offer 10-bit HEVC full hardware decoding, am I right? Only 8-bit.
Thanks

wanezhiling
5th August 2015, 23:50
But Skylake does not offer 10-bit HEVC full hardware decoding, am I right? Only 8-bit.
Yes..
And this is the worst thing of the new generation, I think..:mad::mad::mad:

Aleksoid1978
6th August 2015, 03:31
About MS MFT HEVC decode in Win 10.
I have 2 PC with Win 10 Ent x64. All activated. Use latest drivers from Nvidia/AMD sites.
One with GTX 960, second with ATI HD 7750. On both dxdiag show WDM 2.0

In DXVAChecker i see Microsoft H265 Video Decoder MFT decode in DSF/MFT Viewer->Media Foundation. But - when try Check Decoder -> Media Foundation - there is no MS MFT HEVC decode ((

P.S. Microsoft H264 Video Decoder MFT working normal.

NikosD
6th August 2015, 04:37
I have 2 PC with Win 10 Ent x64. All activated. Use latest drivers from Nvidia/AMD sites.



What CPUs ?


One with GTX 960, second with ATI HD 7750. On both dxdiag show WDM 2.0



That is new.

You are saying that even with GTX 960 you don't see MS MFT HEVC decoder in DXVA Checker.

I'm starting to think that it's simply a MS bug eventually.

Aleksoid1978
6th August 2015, 05:03
I7 2600K + GTX 960
I7 930 + ATI 7750.

On both PC i see MS H265 MFT Decoder in DXVA Checker->MFT Viewer but can't use not for Decode not for Playback ... i think too that it's a some bug.

NikosD
6th August 2015, 05:39
No AVX2 for you.

If you manage to find a Haswell processor, you will probably see the MS MFT HEVC decoder enabled.

Aleksoid1978
6th August 2015, 06:35
No AVX2 for you.

If you manage to find a Haswell processor, you will probably see the MS MFT HEVC decoder enabled.

Where are rolling this world - for the video decoder is required almost the most modern processors :)

I'd rather use DXVA2 + GTX 960 :)

NikosD
6th August 2015, 07:43
Undoubtedly the best "review" of desktop Skylake which "presented" - so to speak - yesterday.

http://semiaccurate.com/2015/08/05/intel-plays-press-skylake-stupidity/

Yups
6th August 2015, 08:45
It wasn't necessary to say that, because here we compare desktop products, Skylake isn't available for other platforms yet.


Broadwell isn't desktop only. And you should be clever enough that edram vs no edram isn't a neck to neck comparison. If you are surprised that an edram version has some advantages over a non edram version, you aren't that clever.

NikosD
6th August 2015, 08:56
After all these faulty thoughts that you have made regarding Skylake and the comparison with previous gens of Intel CPUs, I can clearly say that you shouldn't talk about cleverness...

Unless of course you are an Intel seller (that would be an excuse in more than one ways)

Then I would urge you to read the semi - accurate's "review".

You might understand it better than Anandtech's.

JohnLai
6th August 2015, 15:07
I can't see yet the images, but it's better to do some tests with DXVA Checker in order to see some figures and CPU/GPU usage during HAM and SW tests.

In "playback benchmark" mode or even better in "decode benchmark" mode (to isolate the GPU usage for other reasons than HEVC decoding)

I cant get PDVD video decoder or PDVD HAM decoder to show at dxvachecker after I try to load the hevc video using 'Check Decoders..' (tried both 64bit and 32bit).
Only 'DS32 LAV Video Decoder [HVC1 3840x2160]' shows 'Unsupported' and '[MF32] Microsoft H265 Video Decoder MFT [D3D11] [HVC1 3840x2160]' shows 'HEVC_VLD_Main' + 'HEVC_VLD_Main10'.


Now I think about it, isn't the EVR statistic decoder output on my second screenshot of 'HAM' selection should show 'Cyberlink HAM Decoder (PDVD Generic)' instead of 'Cyberlink Video Decoder (PDVD Generic)' ?

I only have to run 'regsvr32.exe CLCvd.ax' as administrators, no?

NikosD
6th August 2015, 15:12
As I wrote you in PM you have to increase the merit to normal or more and choose 32 bit because PDVD is 32 bit only.

JohnLai
6th August 2015, 15:18
As I wrote you in PM you have to increase the merit to normal or more and choose 32 bit because PDVD is 32 bit only.

Right after I load the Elecard_4K_video.h265 when selecting 32bit at dxva checker.


http://imgur.com/7pHUSTX

NikosD
6th August 2015, 15:27
Find a .mkv or .mp4 file, check the merit of Cyberlink DXVA filter (not the HAM filter) that is normal or upper, select from the properties of the cyber link filter inside DXVA Checker "Enable HAM", NOT the Cyber link (HAM) filter, the other filter.

huhn
6th August 2015, 15:32
Where are rolling this world - for the video decoder is required almost the most modern processors :)

I'd rather use DXVA2 + GTX 960 :)

I was using the decoder on a none AVX2 system so that's not the reason. there is something buggy not sure what. after the release of 10240 I cannot use the decoder on any of my PC it simply didn't worked.

JohnLai
6th August 2015, 16:07
Find a .mkv or .mp4 file, check the merit of Cyberlink DXVA filter (not the HAM filter) that is normal or upper, select from the properties of the cyber link filter inside DXVA Checker "Enable HAM", NOT the Cyber link (HAM) filter, the other filter.

http://i.imgur.com/aE035Q7.jpg?1

Finally got it to show after remuxing the Elecard_4K_video.h265 using mkvmerge GUI from mkvtoolnix.

Merely select 'Enable HAM'?

How about the 'Property...' near the DXVA?

NikosD
6th August 2015, 16:09
"Enable HAM" from DXVA button of DXVA Checker.
The property page of filter works only during playback, IIRC

JohnLai
6th August 2015, 16:14
"Enable HAM" from DXVA button of DXVA Checker.
The property page of filter works only during playback, IIRC

The result after select 'Enable HAM'.

http://i.imgur.com/b2CM6zl.jpg?1

No GPU usage at all aside from temperature increase.

NikosD
6th August 2015, 16:17
Is OpenCL active ?
Like when you remove your discrete card.

Because it looks like it's in SW fall back mode.
The CPU usage is very high, the GPU usage very low.

JohnLai
6th August 2015, 16:23
Is OpenCL active ?
Like when you remove your discrete card.

Because it looks like it's in SW fall back mode.
The CPU usage is very high, the GPU usage very low.

http://i.imgur.com/tHWPvrV.gif?1

Note: I downgraded the driver to 4226 instead of default win10 4252 because of the IGPU low clock issue.

EDIT: Just in case, I let win10 autoupdate to 4252 to see if there will be any different with dxvachecker result. There is no difference in the result. Exactly the same high cpu usage with no gpu usage.

NikosD
7th August 2015, 22:24
According to the official reply of MS here

http://answers.microsoft.com/en-us/windows/forum/windows_10-windows_install/has-microsoft-playready-3-broken-windows-10-hevc/8a17d615-5d0d-410d-8d18-6e951f108d11?auth=1

only systems with HW HEVC acceleration will get the SW HEVC decoder of MS!

Check your system with DXVA Checker.

If you have a HEVC_VLD_Main device decoder, then you will get the MS MFT HEVC decoder in Win 10.

If you don't...Bad luck!

Aleksoid1978
8th August 2015, 03:09
Read this : "The list of supported codecs for Windows 10 can be found here: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/mt282148.aspx."
And i see that H265 support only for Codec/Container - fMP4 and MPEG-4
I check my PC with GTX 960 again, and that's right - works with MP4/MKV, don't work with MPEG-TS.
Tested - and yes MS MFT H265 Video Decode use GPU decoding(D3D11), i test on 4k and have 0-1% CPU.

Later test on 4k 10bit and upload result, compare with MPC-BE's video decoder :)

Aleksoid1978
8th August 2015, 04:54
Decode benchmark result:

Decoder: Microsoft H265 Video Decoder MFT
[1]
Decoder Device: HEVC_VLD_Main10
Frames: 5321
Time: 40,826 sec
FPS: 130,333 [119-145] fps
CPU Usage: 0 [0-0] %
GPU Usage: -
[2]
Decoder Device: HEVC_VLD_Main10
Frames: 5321
Time: 40,466 sec
FPS: 131,492 [121-149] fps
CPU Usage: 0 [0-2] %
GPU Usage: -
[3]
Decoder Device: HEVC_VLD_Main10
Frames: 5321
Time: 40,453 sec
FPS: 131,534 [120-149] fps
CPU Usage: 0 [0-1] %
GPU Usage: -


Decoder: MPC Video Decoder
[1]
Decoder Device: HEVC_VLD_Main10
Frames: 5321
Time: 40,812 sec
FPS: 130,378 [121-146] fps
CPU Usage: 0 [0-2] %
GPU Usage: -
[2]
Decoder Device: HEVC_VLD_Main10
Frames: 5321
Time: 40,513 sec
FPS: 131,342 [121-149] fps
CPU Usage: 0 [0-2] %
GPU Usage: -
[3]
Decoder Device: HEVC_VLD_Main10
Frames: 5321
Time: 40,487 sec
FPS: 131,424 [120-149] fps
CPU Usage: 0 [0-1] %
GPU Usage: -


for bench i made short mkv from "Astra Ultra HD Demo.ts". Here is sample (https://yadi.sk/d/V0bpah3riLMHr)

MediaInfo:

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@Main
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1mn 46s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 50.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Default : Yes
Forced : No


What interesting - MS MFT H265 Decoder can't playback with DXVA, only in software but P010 output with normal picture. MPC-BE's decoder in software can output P010 too, but green picture :)

NikosD
8th August 2015, 05:33
Looks like your decoder has exactly the same speed with MS MFT HEVC in HW.

That would probably mean that even when you and MS, leverage different framework (DirectShow vs MediaFoundation) and different API (DXVA2 vs D3D11) you both manage to utilise the HEVC fixed function unit at 100%


What interesting - MS MFT H265 Decoder can't playback with DXVA, only in software


MS MFT HEVC decoder is D3D11 only - No DXVA2 as I wrote in a previous post.
And because D3D11 is incompatible with EVR, it falls back to SW decode.

"Decode benchmark" is renderless and can use D3D11 for HW acceleration.

but P010 output with normal picture. MPC-BE's decoder in software can output P010 too, but green picture :)

The strange think here for 10bit HEVC is that with my system which doesn't have HEVC_VLD_Main10, I can output P010 in SW decoding of normal playback, but in "Decode benchmark" uses NV12 (!)

mandarinka
11th August 2015, 16:05
Edit:

AMD A10-8700P (Carrizo), seems it does 4K, but no Main 10.

http://www.notebookcheck.com/fileadmin/Notebooks/HP/Pavilion_17-g054ng/dxva_carrizo.png

http://www.notebookcheck.com/Test-HP-Pavilion-17-g054ng-Notebook.147334.0.html

NikosD
11th August 2015, 18:39
I don't know why all those hardware review sites with all those benchmark numbers don't get a little bit in the trouble to measure the actual performance in terms of raw speed and maybe power of those fixed function units.

Just as they test CPU, 3D, Games etc, they could probably add video acceleration benchmarks too.

I can't buy all the hardware in the world to test HEVC hardware :)

If someone sends it, I would do it.

Right now there are 4 HW fixed function units, claiming pure HEVC HW acceleration.

First it was Nvidia wkth 960 and then Intel's Atom, if I remember the product exactly.

Then we have Carizzo and now Skylake.

It would be an interesting comparison under the new Win 10 OS.

littleD
11th August 2015, 19:49
Not quite benchmark, but still some test http://www.hardware.fr/articles/940-23/hd-graphics-530-pratique-h-265-consommation.html

Stereodude
12th August 2015, 19:37
Has anyone confirmed that the various HEVC decoders actually are decoding all 10-bits of 10-bit HEVC? I've seen some of the Kodi/OpenELEC developers say that Nvidia's 10-bit HEVC decoder in the 960 truncates 10bit HEVC to 8 bits and decodes that (ie: doesn't decode all 10 bits).

NikosD
12th August 2015, 19:41
It doesn't sound too easy task.

How could someone do that ?

I don't have a HW 10bit decoder to test it (pure or hybrid) but I could test SW 10bit decoders.

Stereodude
12th August 2015, 19:51
It doesn't sound too easy task.

How could someone do that ?
Are you referring to the task of verifying it decodes all 10 bits or the task of dropping the 2 least significant bits during the decode (or just ahead of it)?

NikosD
12th August 2015, 19:52
About verification of 10bit decoding.

Stereodude
12th August 2015, 20:00
Wouldn't it just be a matter of decoding a 10-bit gradient and comparing that to the original gradient source?

Here's where I saw one of the Kodi developers say it doesn't really do 10bit HW decoding (http://forum.kodi.tv/showthread.php?tid=228464&pid=2072677#pid2072677).

NikosD
12th August 2015, 20:08
I think the same or similar trick did AMD with 10bit HW decoding of H.264.

sneaker_ger
12th August 2015, 20:20
Has anyone confirmed that the various HEVC decoders actually are decoding all 10-bits of 10-bit HEVC? I've seen some of the Kodi/OpenELEC developers say that Nvidia's 10-bit HEVC decoder in the 960 truncates 10bit HEVC to 8 bits and decodes that (ie: doesn't decode all 10 bits).
I doubt that. At least in AVC you will get horrible artifacts in some scenes and we have seen no reports of that happening. It should be fairly simple to test since HEVC decoding is deterministic. Use LAV copy-back and software and compare (even if dithered to 8bit by LAV in your chain). I don't have a GTX 960 so I cannot do it myself.

nevcairiel
12th August 2015, 20:21
DXVA2 should be proper full 10-bit decoding and unmolested output. Its possible that linux decoding APIs don't support full 10-bit output.
But if it makes all of you happy, I can verify that a bit later.

NikosD
12th August 2015, 20:26
Use LAV copy-back and software and compare (even if dithered to 8bit by LAV in your chain). I don't have a GTX 960 so I cannot do it myself.

How can be sure that SW decoding is 10bit and how can be sure that after decoding will get 10bit output ?

Are you sure that you can actually see differences between 10bit and 10bit dithered ?

I'm not sure that my monitor even supports 10bit.