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

Lumiel
13th May 2020, 10:55
I don't have a Navi card but I tried to help asking AMD here:
https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/186
Read the conversation there and take a look at that GitHub forum to see if anything new has appeared.

Maybe @huhn knows more.

Hi NikosD, thanks, I found this topic after I already read that Github issue, and I managed to play some videos with HW decoder like MichailAMD was saying, with Movies & TV. MPC-HC only works with CPU decoding, and I think MPV is working with VAAPI on Linux but drops frames a lot on higher FPS videos (which is OK I guess since Navi shouldn't support more than 8k@24 anyway)

NikosD
13th May 2020, 11:32
Hi NikosD, thanks, I found this topic after I already read that Github issue, and I managed to play some videos with HW decoder like MichailAMD was saying, with Movies & TV. MPC-HC only works with CPU decoding, and I think MPV is working with VAAPI on Linux but drops frames a lot on higher FPS videos (which is OK I guess since Navi shouldn't support more than 8k@24 anyway)

So, it seems that nobody has managed to build a DirectShow decoder and you need a MediaFoundationTransform decoder.
That's bad because only Microsoft apps can provide that.

If I were you, I would try PotPlayer as a final move.

Lumiel
13th May 2020, 13:15
So, it seems that nobody has managed to build a DirectShow decoder and you need a MediaFoundationTransform decoder.
That's bad because only Microsoft apps can provide that.

Why is that? I know nothing about encoders but it looks to me MFT is available to everyone? I don't even own an 8k monitor, I'm just trying to figure out if I can help somehow to help other people to make it work with theirs, plus I don't like the amount of misinformation available for Navi, so I'm trying to clear that up, if possible.

LAV filters seems to already use an IMFTransform (https://github.com/Nevcairiel/LAVFilters/search?q=IMFTransform&unscoped_q=IMFTransform) for other codecs.

huhn
13th May 2020, 15:14
the driver is buggy.

it reports that it only supports macroblock mode while you have to support raw bitstream mode so a correctly coded DXVA2 implantation will not use it. the problem is raw bitstream mode works totally fine they just flag it wrong mpc-be internal decoder isn't checking or ignoring it and it works fine.

and even if it works it still shows up as encoding. AMD doesn't care that's what you should take from this.
i can only recommend to avoid AMD they don't deserve any support anymore. i talked directly with AMD about that the answer was "that doesn't sound important".

Lumiel
13th May 2020, 19:03
the driver is buggy.

it reports that it only supports macroblock mode while you have to support raw bitstream mode so a correctly coded DXVA2 implantation will not use it. the problem is raw bitstream mode works totally fine they just flag it wrong mpc-be internal decoder isn't checking or ignoring it and it works fine.

and even if it works it still shows up as encoding. AMD doesn't care that's what you should take from this.
i can only recommend to avoid AMD they don't deserve any support anymore. i talked directly with AMD about that the answer was "that doesn't sound important".

It might be "buggy" but it works with other software? I can understand if developers don't want to support it but from what I see it works fine. Microsoft is using it just fine. Browsers are using it but not in an optimal way. What if it shows as encoding? It shows encoding on my machine too but that's just a sensor. Recording with OBS works fine as well with AMF.

We can argue all you want but if you say AMD doesn't care I can also say that developers don't seem to care. I'm here to discuss it and find solutions though, not start a flame war.

NikosD
13th May 2020, 19:10
It might be "buggy" but it works with other software? Could you test MPC-BE and PotPlayer and report here about your findings ?

clsid
13th May 2020, 19:13
Try if it works with this LAV build:
vp9_dxva_test (https://www.sendspace.com/file/7h4o69)

Lumiel
13th May 2020, 19:30
Try if it works with this LAV build:
vp9_dxva_test (https://www.sendspace.com/file/7h4o69)

Thanks, unfortunately it doesn't. I can see more options now I believe, but still only copy-back detects (https://i.imgur.com/goks5jB.png) my Navi card. D3D11 in Automatic still uses CPU. Native can't detect (https://i.imgur.com/o9W3Zt7.png) the hardware. edit: I might be reading the menus wrong, in any case none of the options is using the GPU hardware decoding capability.

Could you test MPC-BE and PotPlayer and report here about your findings ?


I will test it now.

Lumiel
13th May 2020, 19:43
MPC-BE works fine, it's using 100% GPU, however it's very heavy for my PC. Almost everything else become unresponsive. This is probably because I'm testing a 60 FPS video while Navi supports 8k@24 fps. I will now test PotPlayer and edit the same post so I don't spam.

edit: PotPlayer works fine as well, a little less heavy than MPC-BE. Some stats (https://i.imgur.com/0qc6AIB.png) from Potplayer. So at least I know there are some players that support my GPU :) thanks NikosD

p.s the smoothest experience is 100% still with Movies & TV though, I can also see about 3% CPU usage along with 100% GPU usage. That's as far my knowledge goes on the issue :p

huhn
13th May 2020, 20:33
We can argue all you want but if you say AMD doesn't care I can also say that developers don't seem to care. I'm here to discuss it and find solutions though, not start a flame war.

if you have to break the spec to make it works it's clearly an issue with AMD. this all has been tested month ago and reported to AMD and there answer was pretty much we don't care. at what point can i say they don't care?

nev was not willing to add this yet.
and why does it work with other software like video app it doesn't use DXVA2.

you can read more here:
https://forum.doom9.org/showthread.php?p=1899136#post1899136

Lumiel
13th May 2020, 20:58
if you have to break the spec to make it works it's clearly an issue with AMD. this all has been tested month ago and reported to AMD and there answer was pretty much we don't care. at what point can i say they don't care?

nev was not willing to add this yet.
and why does it work with other software like video app it doesn't use DXVA2.

you can read more here:
https://forum.doom9.org/showthread.php?p=1899136#post1899136

Thanks for the link, that's why I came here to learn more about the issue. As I said I'm OK with devs not wanting to add exemptions etc, and I'm happy at least I have an alternative to use my card now. Maybe it will be fixed by AMD at some point.

NikosD
13th May 2020, 20:59
p.s the smoothest experience is 100% still with Movies & TV though, I can also see about 3% CPU usage along with 100% GPU usage. That's as far my knowledge goes on the issue :p You can reach AMD writing under my topic at GitHub to MichaelAMD and tell them that according to the developers the

"DXVA VP9 specification states that "ConfigBitstreamRaw" should always be 1 for VP8/9"

and their driver doesn't comply.

Now, using your GPU at 100% can make your GUI - Windows - feel sluggish.

I would like you to open Task Manager of Windows 10 and see the GPU video decoder usage during VP9 8K playback with both DS Players (PotPlayer and MPC-BE) and the MFT Player (Movies & TV)

In pure DXVA2 native mode or D3D11 native mode, the GPU usage should be real low and the HW video decoder usage should be close to 100% while CPU should be low too.

Can you test DXVA Checker in benchmark mode in pure hardware decoding mode renderless (not playback) using MPC-BE filters ? (you have to install them separately as DS filters)

Also, I would like you to post some VP9 4K results regarding video performance (FPS, GPU usage) with both DS and MFT decoders.

Lumiel
13th May 2020, 21:29
I would like you to open Task Manager of Windows 10 and see the GPU video decoder usage during VP9 8K playback with both DS Players (PotPlayer and MPC-BE) and the MFT Player (Movies & TV)

In pure DXVA2 native mode or D3D11 native mode, the GPU usage should be real low and the HW video decoder usage should be close to 100% while CPU should be low too.

Sorry for confusing you, by GPU usage I meant the HW video decoder.

MPC-BE: HW decoder 100% - GPU D3D Usage 19% - GPU memory controller 4% - GPU memory usage 1500MB - CPU 0%
PotPlayer: HW decoder 100% - GPU D3D Usage 19% - GPU memory controller 5% - GPU memory usage 1600MB - CPU 0.8%
Movies & TV: HW decoder 100% - GPU D3D Usage 13% - GPU memory controller 25% - GPU memory usage 1992 MB - CPU 1.2%



Can you test DXVA Checker in benchmark mode in pure hardware decoding mode renderless (not playback) using MPC-BE filters ? (you have to install them separately as DS filters)

Also, I would like you to post some VP9 4K results regarding video performance (FPS, GPU usage) with both DS and MFT decoders.

I'm not sure how to do all that... but I can give it a try.

NikosD
13th May 2020, 22:14
Sorry for confusing you, by GPU usage I meant the HW video decoder.
Thanks for the results.
Then you are pushing your HW decoder to its limit.

But, Windows GUI has nothing to do with that and everything should be normal with such low GPU and CPU usage.

Lumiel
14th May 2020, 00:34
So I've downloaded a 4K video but DXVA checker only shows CPU support. I don't think I can force it somehow to work with a Navi GPU.

huhn
14th May 2020, 07:41
windwos media foundation does this:
youtube UHD 60 HDR.
VP9 profile2 103 122 137 9% CPU 100 % video encode engine.

edit: 8k runs at about 40 FPS i didn't finish the run that would take a long time. about the same CPU usages more then 1 thread.

the very high CPU usages is very odd:
https://abload.de/img/veryhighcpuusageerkpg.png

these test are done without loading the radeon control panel or what it'S name is now to avoid issues.
But, Windows GUI has nothing to do with that and everything should be normal with such low GPU and CPU usage.

this just happens from time to time up to this day it is recommended to disable hardware acceleration in browser and programs like discord. it was much worse in the past.

aufkrawall
14th May 2020, 13:04
I suggest some Navi user to report the bug demonstrated with ffplay to ffmpeg. If it gets closed because the workaround is rejected, one could still point that to AMD.
Not that any hopes would be justified, but...

DMU
14th May 2020, 16:01
Maybe it will be fixed by AMD at some point.
I do not advise you to hope so. They will not do anything themselves until you force them. AMD has some kind of problem with flags in the software. An example (https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/issues/33) was the missing BT.2020 flag in their private API - AGS, which did not allow HDR content to be correctly played using madVR. I spent a lot of time to sort out the problem and describe it to them. It took even more time to explain this to them. And if not for the community (thanks to mclingo, aka stoolzo), AMD owners still watched HDR in the BT.709 color space. If you decide to write to them, be sure to let them know what official standards they violate.

clsid
14th May 2020, 18:06
Try if it works with this LAV build:
vp9_dxva_test (https://www.sendspace.com/file/7h4o69)Can anyone else test this as well? It was patched to allow ConfigBitstreamRaw=0 for VP9, so I was hoping it would work.

A good additional place to submit bug reports is in the driver feedback threads on Reddit (https://old.reddit.com/r/Amd/comments/g6t1ih/radeon_software_adrenalin_2020_edition_2042/). A few guys from AMD are active there.

huhn
14th May 2020, 18:08
sorry doesn't work for me too.

clsid
14th May 2020, 18:39
new test build (https://www.sendspace.com/file/ul7slh)
the value was checked in ffmpeg code as well

huhn
14th May 2020, 18:54
test build 2 works i double checked test build 1 it doesn't work.
at the point of writing i only tested vp9 profile 2.

DMU
14th May 2020, 19:58
test build 2 works i double checked test build 1 it doesn't work.
at the point of writing i only tested vp9 profile 2.

I confirm. Tested on profiles 9.0 and 9.2

Lumiel
14th May 2020, 22:17
test build 2 works i double checked test build 1 it doesn't work.
at the point of writing i only tested vp9 profile 2.

This works for me too. However, HW decoder only reaches up to 94.5% - GPU memory controller 5% - D3D Usage 19% and there are some dropped frames even for 4K.

Also 4K HDR has washed out colors. I'm using this video (https://www.youtube.com/watch?v=N1-Jmq7BLFE), and tested 8K@60 4K@30 4K@60 HDR

PotPlayer reports it as SMPTE ST 2086 - HDR10 compatible - Color primaries BT.2020

Feel free to ask for more tests :)

example (https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/issues/33) was the missing BT.2020 flag in their private API - AGS, which did not allow HDR content to be correctly played using madVR.

oh, I guess this must be related to what I just typed :D

NikosD
23rd May 2020, 12:27
DXVA Checker supports it and Windows too, but it's more important to be hardware supported.

Besides Intel Xe inside Intel's iGPU of Tiger Lake and Rocket Lake and Intel's dGPU of course, nVidia hasn't mentioned anything yet for Ampere regarding AV1 and AMD for RDNA2.

Let's hope that ALL three release their new 2020 architectures with HW AV1 fixed-function decoder inside.

nevcairiel
23rd May 2020, 14:01
Nvidia Ampere has newer generation hardware decoder but it's unclear whether GA100 has the same Turing Feature Set J decoder or newer Feature Set K decoder and no mention of AV1 either.

The GA100 media block appears to be the Turing version, since that already got HEVC 4:4:4 (and V100 did not have it). Just more of them.

That ultimately doesn't mean much for the consumer cards though, thats different chips and could get a newer media engine, since its also 6 months later at that point.

Lumiel
1st June 2020, 15:00
windwos media foundation does this:
youtube UHD 60 HDR.
VP9 profile2 103 122 137 9% CPU 100 % video encode engine.

edit: 8k runs at about 40 FPS i didn't finish the run that would take a long time. about the same CPU usages more then 1 thread.

the very high CPU usages is very odd:
https://abload.de/img/veryhighcpuusageerkpg.png


Did you do anything special to be able to run dxva checker benchmarks on GPU? It isn't working for me and I've contacted bluesky and he doesn't know either. I've tried all versions

huhn
1st June 2020, 15:43
no.
i start the program load the file and that's it.

Lumiel
1st June 2020, 18:47
no.
i start the program load the file and that's it.

thanks. There must be something wrong with my Windows installation. VP9 decoder shows like this (https://i.imgur.com/Xhmq4fX.jpg). Everything else works though, except DXVA cheker.

huhn
1st June 2020, 20:42
this page is the same for me but i don't understand why you care about that page.

just load a file and test it if it's not going to use hardware it's going to use software.

just use a webm or mkv container and it should work just fine.

Lumiel
1st June 2020, 23:07
this page is the same for me but i don't understand why you care about that page.

I'm just trying to understand what dxva checker isn't recognizing.


just load a file and test it if it's not going to use hardware it's going to use software.

just use a webm or mkv container and it should work just fine.

That's the thing, it doesn't. It only uses CPU. Every other software works fine, browsers included.

littleD
2nd June 2020, 13:06
Test dxva checker with dx11 modes.

DXVA2 suprisingly is slow (no hardware support?) on my system but it may be that MFt use only dxva11.

Also your sytem must have MFT mkv or mp4 splitter (to use along with MFT microsoft decoder).

huhn
2nd June 2020, 15:35
if you don't use a workaround hack or what ever you want to call it. it doesn't work with DXVA2 if you follow the spec.

Lumiel
3rd June 2020, 17:02
Test dxva checker with dx11 modes

Surprisingly, it's working today with D3D11. I had reinstalled some Windows extension libraries yesterday so I'm not sure if that made any difference.

I see about 42 FPS with a 8K @ 60 VP9 video which I think is normal for this GPU. GPU memory utilization is 17% with DXVA checker - and about 25% with Movies & TV. I'm not sure how to see how many FPS Movies & TV produces.

littleD
3rd June 2020, 23:51
Surprisingly, it's working today with D3D11. I had reinstalled some Windows extension libraries yesterday so I'm not sure if that made any difference.

I see about 42 FPS with a 8K @ 60 VP9 video which I think is normal for this GPU. GPU memory utilization is 17% with DXVA checker - and about 25% with Movies & TV. I'm not sure how to see how many FPS Movies & TV produces.Official amd whitepaper says max 8k 24 fps 8/10 bit decoding for vp9. I see no way to find movie and tv app fps. Msi Afterburner does not work here.

PCU
10th June 2020, 15:21
did you guys benchmarked recent version of mainconcept hevc directshow decoder? i've heard that the hwa version hevc decoder (not directshow one) that adobe used in media encoder & premiere pro is now so much faster. (it's mainconcept)

NikosD
20th June 2020, 09:55
did you guys benchmarked recent version of mainconcept hevc directshow decoder? i've heard that the hwa version hevc decoder (not directshow one) that adobe used in media encoder & premiere pro is now so much faster. (it's mainconcept) I have a problem with my tablet and while waiting for the new one, I don't visit often doom9 using a browser - Tapatalk is very convenient.

It seems that Mainconcept provides a 60 days free trial of their HEVC SDK (probably for both encoding and decoding) but after that period, you need a license obviously as it is a professional product.

We are not very interested in professional SW here.

PCU
22nd June 2020, 18:09
i've tried MainConcept TotalCode Studio & it is using directshow & supports acceleration for decoding.
did you tired it?:
https://www.mainconcept.com/products/for-professionals/vod-transcoding/totalcode-studio.html
yes you're right about pro decoder, but imagine it's pro decoder.
so it's a no...

charliebaby
27th June 2020, 10:18
Me Benchmark Ryzen Threadripper 2990wx encoder x265 PLACEBO :)

https://i.goopics.net/yWoZD.png

https://i.goopics.net/Z0mqG.png

sylph0001
27th June 2020, 14:21
Hi guys, just wondering if the HEVC Video Entension released by Microsoft has been tested in any term?
Also do you know if it's possible for 3rd pty players to use that on HEVC playback? This is because I can't find any item related to it from potplayer's/MPC-HC's system filter/decoder list, while I'm sure the HEVC video extension is installed on my pc...
Thanks

clsid
27th June 2020, 15:21
That is a Media Foundation decoder and can only be used by applications that use MF.
The players you mentioned do not use MF, they use DirectShow filters.

sylph0001
27th June 2020, 16:41
That is a Media Foundation decoder and can only be used by applications that use MF.
The players you mentioned do not use MF, they use DirectShow filters.

it's a pity to hear that...
i cant understand why MS separated the MF environment from outsiders which makes their long term effort on DirectShow environment useless.

huhn
27th June 2020, 17:02
opensource decoder are usually faster anyway.

older version have been tested and they are not impressive. only when HEVC was fresh the microsoft decoder was faster in 32 bit a lot has changed since then but not for the microsoft decoder.

nevcairiel
27th June 2020, 17:52
i cant understand why MS separated the MF environment from outsiders which makes their long term effort on DirectShow environment useless.

Anyone can use Media Foundation, its not "separated from outsiders". Its just that rarely anyone does, except MS itself in the Movies & TV app.

littleD
27th June 2020, 19:01
Me Benchmark Ryzen Threadripper 2990wx encoder x265 PLACEBO :)

https://i.goopics.net/yWoZD.png

https://i.goopics.net/Z0mqG.png
Meine Gott.
Why placebo.

NikosD
27th June 2020, 21:30
Hi guys, just wondering if the HEVC Video Entension released by Microsoft has been tested in any term?
You can test it using DXVA Checker both in SW and HW mode, but it's been a while last time I remember checking it for myself.
When I decide to upgrade to Windows May 2020 version, I'll probably give it a try again.
But the only real player that you could actually use it is Movies & TV, so it has very limited use as all previous guys have already said.

PCU
29th June 2020, 11:44
@NikosD do you prefer pro decoders or open source decoders?

sylph0001
2nd July 2020, 15:37
opensource decoder are usually faster anyway.

older version have been tested and they are not impressive. only when HEVC was fresh the microsoft decoder was faster in 32 bit a lot has changed since then but not for the microsoft decoder.

Thanks for bringing back the things about older versions.
I heard sayings that new version of HEVC video extension has a surprisingly high performance. I tried it on an old small rig and seems HEVC VE on HD530 runs much faster than Lentoid either on HD530 or GTX960m...
Still not sure if the outperformance only shows up on older hardwares...

sylph0001
2nd July 2020, 15:48
You can test it using DXVA Checker both in SW and HW mode, but it's been a while last time I remember checking it for myself.
When I decide to upgrade to Windows May 2020 version, I'll probably give it a try again.
But the only real player that you could actually use it is Movies & TV, so it has very limited use as all previous guys have already said.

I strongly wish I could give better test than a brief try but not enough rigs around for the time being... but will definitely look forward to your analyze
On my old rig, the HEVC VE occasionally hangs on the middle of a UHD 120fps clip in Movie&TV; I tried the similar clips on the old school WMP who claims it also uses the HEVC VE although being replaced by Movie&TV, the hanging never happened then... but still may need more tests to confirm...

huhn
2nd July 2020, 16:31
Thanks for bringing back the things about older versions.
I heard sayings that new version of HEVC video extension has a surprisingly high performance. I tried it on an old small rig and seems HEVC VE on HD530 runs much faster than Lentoid either on HD530 or GTX960m...
Still not sure if the outperformance only shows up on older hardwares...

the HD 530 can do HEVC in hardware.
so you are not really comparing it because the GPU is used. the decoder you should compare it to is ffmpeg and both without hardware decoding.