Jump to content

AMD Rx 570 doesn't decode HEVC in HW


KarlDag

Recommended Posts

KarlDag

Hi there, have you followed our hardware acceleration setup guide?

 

https://github.com/MediaBrowser/Wiki/wiki/Hardware-Acceleration-Overview

 

And then have you checked that your graphics hardware supports decoding the video format?

I have.  I was working weeks ago when I was using quicksync on my i5-7500.  The encoding part is also working.  

 

I've tried both "yes" and "advanced" with all options checked.  When selecting advancedm I have HEVC decoding in the options checked, so the GPU supports it.

Link to comment
Share on other sites

Q-Droid

I have. I was working weeks ago when I was using quicksync on my i5-7500. The encoding part is also working.

 

I've tried both "yes" and "advanced" with all options checked. When selecting advancedm I have HEVC decoding in the options checked, so the GPU supports it.

Your CPU is better than your GPU and you should use the i5 instead.

Link to comment
Share on other sites

KarlDag

Have you installed the latest graphics drivers?

Yes. See anything in the logs?

 

Your CPU is better than your GPU and you should use the i5 instead.

Probably but emby doesn't give me the option. Probably I need to adjust the bios but I don't know what to look for.

Link to comment
Share on other sites

Q-Droid

Yes. See anything in the logs?

 

 

Probably but emby doesn't give me the option. Probably I need to adjust the bios but I don't know what to look for.

When using secondary graphics you can usually force enable the integrated graphics in the bios. The options should be in the same section but each is different.

 

Sometimes you might also need a dummy load depending on OS.

Edited by Q-Droid
Link to comment
Share on other sites

KarlDag

Now I've activated the iGPU in my BIOS, and it appeared in Emby.  But wether I select "Yes" or "Advanced" and put the HD630 option at the top of the lists, both the decoding and encoding happen in software...  Drivers are fully up-to-date.  

 

As for the RX 570, I can't find as reliable answer for the 10bit HDR so let's assume it doesn't... but I know the HD630 is supposed to.

 

EDIT Just re-read the hardware transocoding guide you posted abpve @@Luke, AMD doesn't support decoding apparently, but using DX11VA it should be able to decode the file, should it not?

 

EDIT2: Am I considered in a headless setup, thus making quicksync not work, even if I'm locally connected to the server using the Rx570?

Edited by KarlDag
Link to comment
Share on other sites

KarlDag

So now the HD630 is my primary GPU in the BIOS.  I've plugged my TV in it, instead of the AMD GPU, to see if Quicksync would work.  Rebooted the machine.  

 

Then reinstalled Emby Server and cleared cache.

 

Everything still transcodes in software according to the dashboard...  I'm confused.

Link to comment
Share on other sites

Can you provide a new hardware detect log after doing that? thanks.

Link to comment
Share on other sites

KarlDag

Do you guys need other logs? Do you see anything in those? Is @@softworkz on vacations?

 

Don't want to become the annoying guy, but that's a problem for me right now and I have no idea what else to try. Thanks

Link to comment
Share on other sites

Do you guys need other logs? Do you see anything in those? Is @@softworkz on vacations?

 

Don't want to become the annoying guy, but that's a problem for me right now and I have no idea what else to try. Thanks

 

It's my fault, I somehow missed this thread, please take my apologies an thanks for quoting my name.

 

What happens in the latest log that you provided is that we try to keep the data in the GPU an even scale it there. But the data is 10bit and 10bit cannot be encoded for H.264.

 

This is a known bug. It should be fixed in recent beta versions.

As a temporary workaround, you could use the D3D11VA HEVC decoder instead of the QuickSync decoder. (keeping QuickSync as the encoder).

 

PS: Even without a monitor connected to the onboard graphics, you should be able to use QuickSync (via DX11). You just need to make sure that the BIOS does not totally disable the onboard graphics. Usually there are BIOS settings for this. Also change any "Graphic Memory" setting from "Auto" to a custom (high) value.

Link to comment
Share on other sites

KarlDag

It's my fault, I somehow missed this thread, please take my apologies an thanks for quoting my name.

 

What happens in the latest log that you provided is that we try to keep the data in the GPU an even scale it there. But the data is 10bit and 10bit cannot be encoded for H.264.

 

This is a known bug. It should be fixed in recent beta versions.

As a temporary workaround, you could use the D3D11VA HEVC decoder instead of the QuickSync decoder. (keeping QuickSync as the encoder).

 

PS: Even without a monitor connected to the onboard graphics, you should be able to use QuickSync (via DX11). You just need to make sure that the BIOS does not totally disable the onboard graphics. Usually there are BIOS settings for this. Also change any "Graphic Memory" setting from "Auto" to a custom (high) value.

 

@@softworkz No problem, thanks for answering.  I just wish we can get this fixed!

 

So my iGPU is activated as primary GPU in my BIOS.  I set the video RAM to the max in the BIOS like you recommended instead of auto (1024Mb now, I believe, instead of 64).

 

My HG630 integrated GPU isn't used.  My HDMI cable is in my RX 570.

 

I installed the latest beta to see if I could at least get hardware encoding to h264 to work, since you thought it was fixed.

 

Nothing worked - no HEVC decoding.  No H264 encoding.  Everything happened in software.

 

Here are the logs, and screenshots of my settings.  Thanks a lot for your time!  

post-74734-0-03138100-1559101663_thumb.jpg

post-74734-0-66426100-1559101669_thumb.jpg

post-74734-0-74347800-1559101676_thumb.jpg

hardware detection.txt

ffmpeg transcode.txt

embyserver.txt

Link to comment
Share on other sites

KarlDag

And everything is up-to-date, as far as I could tell.  Intel drivers, AMD drivers, Win 10 updated, emby latest beta.

Link to comment
Share on other sites

PS: Even without a monitor connected to the onboard graphics, you should be able to use QuickSync (via DX11). You just need to make sure that the BIOS does not totally disable the onboard graphics. Usually there are BIOS settings for this. Also change any "Graphic Memory" setting from "Auto" to a custom (high) value.

 

You detection log and your screenshots are showing that my suggestion was successful and you're now able to use QuickSync without having a monitor connected.

 

What doesn't seem to be fixed in the latest beta is the problem you're seeing. I apologize for that.

 

But the workaround should do it for you:

 

As a temporary workaround, you could use the D3D11VA HEVC decoder instead of the QuickSync decoder. (keeping QuickSync as the encoder).

 

You only need to do this for HEVC. If D3D11VA HEVC wouldn't work either, you can disable all HEVC decoders, so you'll have sw decoding but you can still have hardware encoding.

Link to comment
Share on other sites

KarlDag

You only need to do this for HEVC. If D3D11VA HEVC wouldn't work either, you can disable all HEVC decoders, so you'll have sw decoding but you can still have hardware encoding.

As you can see in my screenshot, I already placed D3D11VA above quicksync, without success.

 

The whole thing did fall back to software, but with the expected loss of performance...

 

Guess I'll keep trying with new betas, since you're trying to fix this, right?

 

Thanks again

Link to comment
Share on other sites

It was still trying to use the QuickSync decoder. I've rechecked your log and the D3D11 HEVC decoder doesn't support 10 bit.

 

Please disable all HEVC deccoders, then you should hw encoding (which is the most important part).

Link to comment
Share on other sites

KarlDag

It was still trying to use the QuickSync decoder. I've rechecked your log and the D3D11 HEVC decoder doesn't support 10 bit.

 

Please disable all HEVC deccoders, then you should hw encoding (which is the most important part).

@@softworkz Ok I'll try that for now.

 

So, to summarize, once the non-10 bit h264 problem is fixed I should be able to reactivate the decoder?

Link to comment
Share on other sites

@@softworkz Ok I'll try that for now.

 

So, to summarize, once the non-10 bit h264 problem is fixed I should be able to reactivate the decoder?

 

Correct! This is part of a major task comprising all kinds of color conversion issues.

Link to comment
Share on other sites

  • 8 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...