View Full Version : Evaluation of HEVC decoders (SW, Hybrid and HW)
nevcairiel
19th April 2015, 11:35
If PowerDVD outputs YUY2, then it should not be used. YUY2 is a 4:2:2 format, which means it upsamples the chroma - you do not get the original image from the decoder!
huhn
19th April 2015, 12:07
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.
because the DXVA decoder is in the driver it self it should come down to the buffering and not sure if this should be judge in benchmark mode.
NikosD
19th April 2015, 12:13
If PowerDVD outputs YUY2, then it should not be used. YUY2 is a 4:2:2 format, which means it upsamples the chroma - you do not get the original image from the decoder!
Yes, PowerDVD OCL prefers YUY2 at least in decode mode and IIRC in Playback too.
Of course PowerDVD DXVA uses the mandatory NV12.
because the DXVA decoder is in the driver it self it should come down to the buffering and not sure if this should be judge in benchmark mode.
I wrote above that PowerDVD DXVA using the exact same DXVA decoder device on the same clip, it pushes the GPU load to ~100% all the time.
P.J
19th April 2015, 16:57
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.
What file exactly? It doesn't work for me at all :confused:
http://phota.me/0d4y.png
NikosD
19th April 2015, 17:28
Look an older post of Ibius here in previous pages, around January with detailed directions about PowerDVD DSfilter use.
NikosD
19th April 2015, 17:37
If PowerDVD outputs YUY2, then it should not be used. YUY2 is a 4:2:2 format, which means it upsamples the chroma - you do not get the original image from the decoder!
I just saw something interesting.
PDVD OCL implementation uses the DXVA Decoder Device of Intel, just like PDVD DXVA and yours LAV DXVA.
How is that possible ?
ksio89
19th April 2015, 18:39
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.
Man, that worked! There wasn't indeed any HW decoder selected in LAV video decoder within MPC-HC. I selected QS decoder and ticked UHD and HEVC boxed then played the UHD H.264 sample video again, and voilą, under status [H/W] Intel Quicksync showed up!
Playback was perfect: stable 29.97 fps, no dropped frames, low jitter and very low CPU usage! Then I selected DXVA2 native and CPU usage was even lower, dropped from around 30% to only 10% average.
I could also play the HEVC UHD sample @ 25 fps with HW acceleration activated, but as expected, only with DXVA2 native, but playback was stable as well. I'm very impressed with this results, Haswell HEVC decoder is better than I expected.
Man, I can only say thanks to you, MPC-HC and LAV developers! Seriously, I'm very grateful for your support here guys :thanks:
P.J
19th April 2015, 20:52
Look an older post of Ibius here in previous pages, around January with detailed directions about PowerDVD DSfilter use.
Strange, registered 'CLCvd.ax' but still no luck :confused:
NikosD
19th April 2015, 21:22
Did you change the merit from the default as Ibius said ?
With the default merit, the decoder is invisible to DXVA Checker.
P.J
19th April 2015, 22:00
Did you change the merit from the default as Ibius said ?
With the default merit, the decoder is invisible to DXVA Checker.
Ah, yas! :thanks:
NikosD
20th April 2015, 13:24
Yes, it works.
But this 8bit HEVC clip, still crashes Intel's DXVA (both native and cb)
http://demo-uhd3d.com/files/uhd4k/Hispasat_UHD_NAB-2014_HEVC.zip
This one crashes somewhere deep in the driver, those take some time to figure out. Presumably because its missing a reference frame and Intel expects it to be present.
Ideally, Intel would just fail to decode the frame instead of crashing completely, but from past experience, this is a common theme with Intel .. they crash when something is wrong.
Now that LAV has competition for hybrid HEVC DXVA decoding, I tried this clip with PDVD 15 DXVA.
It can't use HW acceleration like LAV/MPC, but on the other hand it doesn't crash the player like LAV/MPC.
It silently falls back to SW and decodes the clip fine.
NikosD
20th April 2015, 14:53
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
because the DXVA decoder is in the driver it self it should come down to the buffering and not sure if this should be judge in benchmark mode.
It's confirmed.
Tried many difficult 2160p HEVC 8bit clips even from demo-uhd.com during normal playback and PDVD DXVA is far more smooth than LAV/MPC x64/x86.
LAV/MPC has many ups and downs in framerate during playback, dropping frames and stuttering.
On the other hand, play back using PDVD DXVA is smooth as butter, even in clips with higher bitrate than I would think.
The winner is clear in DXVA mode for Intel.
P.J
20th April 2015, 20:28
PDVD15 can't even play this file with DXVA2 (GTX960) but LAV: Hispasat_UHD_NAB-2014_HEVC
NikosD
20th April 2015, 20:40
As I wrote above, for Intel it's just the opposite.
It's a pesky HEVC file not being able to be decoded in DXVA by Intel due to Intel's drivers probably, but at least PDVD doesn't crash and falls back to SW.
What is the performance of PDVD DXVA on Nvidia 960 compared to LAV in general ?
P.J
20th April 2015, 20:49
Mostly equal, too bad PDVD doesn't support 10-bit with GPU.
NikosD
20th April 2015, 20:54
What do you mean ?
In CPU decoding playback of 10 bit HEVC clips is flawless.
For DXVA, OpenCL decoding I can't test it because Intel's Haswell GPU doesn't support it.
But if PDVD supports 10 bit SW decoding, how come it doesn't support it with DXVA ?
Weird. Are you sure ?
huhn
20th April 2015, 21:32
What do you mean ?
In CPU decoding playback of 10 bit HEVC clips is flawless.
For DXVA, OpenCL decoding I can't test it because Intel's Haswell GPU doesn't support it.
But if PDVD supports 10 bit SW decoding, how come it doesn't support it with DXVA ?
Weird. Are you sure ?
DXVA native with 10 bit doesn't really work with lavfilter too. copyback works fine.
EVR simple can't handle p010.
P.J
20th April 2015, 21:37
OpenCL doesn't work for Nvidia too.
[CPU: i3 4330, Astra HEVC 4K 10-bit, Decode performance]
PDVD15: 30.692 [20-57]
LAV x64: 39.375 [29-68]
About 4K HEVC, even PDVD14 supports 10-bit SW decoding but PDVD15 only supports 8-bit HW and 10-bit SW.
NikosD
20th April 2015, 21:50
OpenCL doesn't work for Nvidia too.
Have you installed latest Nvidia drivers with OpenCL 1.2 support ?
Try a 1080p file because OpenCL decoding doesn't work for 2160p on Intel too.
Maybe AMD cards can use OpenCL for 4K.
About 4K HEVC, even PDVD14 supports 10-bit SW decoding but PDVD15 only supports 8-bit HW and 10-bit SW.
As huhn correctly reminded me, there is no DXVA native decoder for 10 bit HEVC clips.
Only MPC Video Decoder can handle 10bit HEVC in DXVA native mode but with EVR-CP renderer not EVR and with compromises as Nevcairiel has said.
LAV uses DXVA-CB with EVR in order to accelerate 10bit HEVC.
PDVD DXVA doesn't support copy-back mode, so last chance is to try PDVD DXVA with EVR-CP renderer (I doubt it'll work)
D2MAC
20th April 2015, 22:12
Hi,
WIth this UHD 4K samples 10 bits :
https://www.transfernow.net/fr/330394i14jkx
DXVA2 COPY BACK work randomly.
yingming
21st April 2015, 10:40
Hi, a new version(2.0.3.2) of Strongene Lentoid HEVC decoder was released.
http://strongene.com/en/downloads/downloadCenter.jsp
NikosD
21st April 2015, 13:53
Hi,
WIth this UHD 4K samples 10 bits :
https://www.transfernow.net/fr/330394i14jkx
DXVA2 COPY BACK work randomly.
I can't see where the problem is.
I can play it with all decoders fine.
Aleksoid1978
21st April 2015, 14:02
Hi,
WIth this UHD 4K samples 10 bits :
https://www.transfernow.net/fr/330394i14jkx
DXVA2 COPY BACK work randomly.
Work perfect.
NikosD
21st April 2015, 14:16
Hi, a new version(2.0.3.2) of Strongene Lentoid HEVC decoder was released.
http://strongene.com/en/downloads/downloadCenter.jsp
Hello.
I see that you are from Beijing and you are developer, so my mind thinks that you are involved in a way with the development of Lentoid HEVC decoder.
I did some preliminary tests with the new decoder and saw that they fixed the two crashes - no crashes any more which is very good.
I'm about to run again the tests with the new decoder v.2.0.3.2 against the new LAV 0.65.
One question:
How can I change the number of threads from "Auto" to a specific figure ?
Whenever I do that from the properties of the decoder it reverts back to "Auto"
thanks
NikosD
21st April 2015, 15:23
[CPU: i3 4330, Astra HEVC 4K 10-bit, Decode performance]
PDVD15: 30.692 [20-57]
LAV x64: 39.375 [29-68]
This is not a very good comparison.
Can you test clips in DXVA native mode clips 2,4,6 where PDVD DXVA for Intel is faster than LAV DXVA ?
nussman
21st April 2015, 17:26
DXVA for 10bit clips on Intel Haswell?
This is not possible or did I miss something?
yingming
22nd April 2015, 09:53
How can I change the number of threads from "Auto" to a specific figure ?
Whenever I do that from the properties of the decoder it reverts back to "Auto"
Do you mean that after you close the graphstudionext(we use this app to test performance), and open it again the Lentoid decoder filter threads was set to auto again?
Or only if you set threads to a specific number, it become auto immediately?
First situation is normal. But we never meet second situation before.
Thank you for your feedback.
NikosD
22nd April 2015, 11:41
First situation is normal. But we never meet second situation before.
Yes, I meant the first situation, the second would be completely abnormal!
If the first situation is normal, then how could someone set the number of threads before using the decoder ?
Because even if you set it to 2 threads or 32 threads the actual performance is exactly the same.
The decoder doesn't seem to hold the value in the registry or a file.
And since you are here, I would like you to comment this:
http://forum.doom9.org/showthread.php?p=1718202#post1718202
It seems that in playback mode with any GPU (iGPU or dGPU) the playback in benchmark mode doesn't follow the decode in benchmark mode regarding performance.
Is there somewhere a bottleneck ?
Also I saw that v2.0.3.2 dropped a little the performance of x64 decoder for clips 4 and 5 (2160p), but not for the x86 decoder or the other clips.
Final request:
Add 10 bit HEVC support for the decoder x64/x86, in order to be perfect!
filler56789
22nd April 2015, 15:48
Final request:
Add 10 bit HEVC support for the decoder x64/x86, in order to be perfect!
+1 :goodpost:
For the notes, I sent them that feature request on 2013-December-02. This is the reply they wrote me:
Dear sir,
the Lentoid filter will not support 10-bit HEVC decoding in the near future, thanks for your kind reminder.
The problem of course, is to know what they meant by "near future" :rolleyes:
huhn
22nd April 2015, 15:54
sooner or later they have to.
broadcast is going to be 10 bit same for UHD BD.
even the windows 10 decoder can decode 10 bit HEVC and is pretty fast on top. sadly MF only...
madshi
23rd April 2015, 08:07
Final request:
Add 10 bit HEVC support for the decoder x64/x86, in order to be perfect!
It's not about being perfect, it's about supporting UHD Blu-Ray, upcoming broadcasts, custom user encodes etc. I'm not sure if there will be a lot of 8bit HEVC sources. I think most HEVC sources will probably be 10bit. So I believe supporting 10bit is crucial.
NikosD
23rd April 2015, 08:42
Exactly.
I said that in the context that it's a very fast and efficient decoder and lacks only 10 bit support in order to be perfect, meaning a complete ultra fast decoder in all cases.
Because if it was a slow decoder, nobody would really care if it has or not 10 bit support.
huhn
23rd April 2015, 10:15
windows 10061 i3 4130 r9 270
decode mode
beauty
x86
microsoft MF
50 FPS 86% CPU
lav
22 FPS 92% CPU
lentoid
46 FPS 74%CPU
lentoid openCL
49 FPS 94% CPU 25% GPU
x64
microsoft MF
60 FPS 89% CPU
lav
49 FPS 72 % CPU
lentoid
48 FPS 78 % CPU
unexpected that MF wins so clearly.
but one thing is clear lentoid openCL is worthless on my setup.
about the important of x86 HEVC...
i think it's not important. a systme that can handle HEVC broadcast will be able to use x64. like newer computer games i guess it's time to drop x86 focus in the next years.
nevcairiel
23rd April 2015, 10:58
FWIW, wrapping a MF decoder into a DS filter isn't very hard. The wmv9 mft decoder in LAV does exactly that - wrap the WMV9 MF decoder, and use it through LAV.
If that should be worth doing for the Microsoft HEVC decoder, I might do it. But not before Win10 is final.
NikosD
23rd April 2015, 11:24
I haven't tested yet MS MFT HEVC decoder on newer CPU architectures - but only SSSE3 and SSE4.1
I'll test it with the final product.
The truth is that LAV x86 needs any help it can gets on all CPU architectures.
nevcairiel
23rd April 2015, 11:27
Once content is actually available for HEVC, people might actually be interested in working on it. Its not like there is a company behind FFmpeg that pays developers to improve the HEVC decoder.
If it had just one paid full-time developer for the HEVC decoder, it would probably be running circles around all the competition, since all the basics are already in place, just a lot of optimizations missing - but alas, its open-source, and not a paid product.
In the long run, it'll probably end up the same as the H264 decoder. When H264 was new, a bunch of companies released decoders that performed well (at that time), to make a bit of quick money.
Over time, all these decoders died, since they were no longer maintained, and FFmpeg got faster and faster, and today its the fastest and most feature complete software decoder available to us.
NikosD
23rd April 2015, 11:38
It seems to me that Lentoid x64/x86 decoders are free for the end user.
Also, competition is good for all, because if FFMpeg didn't have to catch the other decoders, probably the developers would get bored building something faster.
Anyway, LAV x86 is so slow, that is slower than anything else out there (PDVD x86, Microsoft x86, Lentoid x86), so the "easy" and free way to get a boost is the use of Microsoft's HEVC decoder built-in Win 10.
nevcairiel
23rd April 2015, 11:40
People should really stop using 32-bit though, its always going to be slower, and be much harder to optimize for, and there is no good reason not to go 64-bit these days, not if you already use free players like MPC-HC which come in 64-bit anyway.
NikosD
23rd April 2015, 11:44
Maybe, but you 're not the one who is going to tell people when and how are they going to upgrade their hardware and software.
Do you volunteer to upgrade their OS ?
Are you going to pay the new HW ?
And if you are talking about people, the truth is that people really don't care if the decoder or the SW product they use, is being built by paid or non-paid developers.
The main issue is if it's free for them, what is going to cost them and if it's fast - if it covers their needs.
huhn
23rd April 2015, 11:58
the default linked version of mpc hc/be are both 64 bit.
so if you are not into this stuff you will get the 64 bit version this way.
the last thing that needs to change is codec packs people use these and they are usually not 64 bit . and there is no good reason for this anymore the last missing but still pretty special piece of software is reclock that it.
and people that can't use the 64 bit version have PCs that can't deal with HEVC in the first place.
the next thing is future hardware. where DXVA will dominate in the next couple of years making software decoder less important.
let's make this clear my current HTPC can't deal with a 100 Mbit UHD BD even if they increase the performance of software decoder by a factor of 2.
ikarad
23rd April 2015, 16:45
1.ProRes-1080p@30fps-2Mbps
MPC x64 303/421/495 CPU 85%
What means theses numbers? 303? 421? 495?
vivan
23rd April 2015, 16:47
min/avg/max fps
ikarad
23rd April 2015, 16:52
min/avg/max fps
Thanks.
P.J
25th April 2015, 19:48
I have tried Win10 10061 with GTX960 and can't play 10-bit videos but 8-bit videos work fine =T
just a small update about UHD code.
beauty
UHD code 11.4
31 FPS 85 % CPU
MS MFD 10122
59 FPS 86% CPU
smooth playback is still out of question with UHD code the mircosoft decoder is easily 90 % faster.
D2MAC
24th May 2015, 07:32
just a small update about UHD code.
beauty
UHD code 11.4
31 FPS 85 % CPU
MS MFD 10122
59 FPS 86% CPU
smooth playback is still out of question with UHD code the mircosoft decoder is easily 90 % faster.
Hi,
MS MFD 10122 ? (samples ? 8 bits / 10 bits ? mkv container / .ts container ?)
I've a GTX960 and WINDOWS 10 - 10122 preview.
how can i use MS MFD ?
Windows Media player, can't open my HEVC UHD 4K samples (.ts container)
So windows 10 can't open HEVC 4K UHD in .ts container ?
WIth MPC-BE player it's ok or MPC-HC with lav filters. (with DXVA COPY-BACK - 2% CPU)
Hi,
MS MFD 10122 ? (samples ? 8 bits / 10 bits ? mkv container / .ts container ?)
I've a GTX960 and WINDOWS 10 - 10122 preview.
how can i use MS MFD ?
Windows Media player, can't open my HEVC UHD 4K samples (.ts container)
So windows 10 can't open HEVC 4K UHD in .ts container ?
WIth MPC-BE player it's ok or MPC-HC with lav filters. (with DXVA COPY-BACK - 2% CPU)
mircrosoft media foundation can be test with dxva checker. and it is used with the "video" application.
mp4 and mkv with hevc work with this decoder/splitter.
and this is about software decoding not hardware.
D2MAC
24th May 2015, 13:39
mircrosoft media foundation can be test with dxva checker. and it is used with the "video" application.
mp4 and mkv with hevc work with this decoder/splitter.
and this is about software decoding not hardware.
.mp4 and .mkv
but .ts container ?
.mp4 and .mkv
but .ts container ?
i don't know sorry.
D2MAC
24th May 2015, 15:50
i don't know sorry.
Hi,
.ts in HEVC 10 bits to download here :
http://demo-uhd3d.com/fiche.php?cat=uhd&id=83
download it and tell me if it's work with Microsoft codec ?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.