"New Plex" on Windows has issues with hardware decoding 10bit HEVC

Server Version#: 1.16.3.1402
Player Version#: Plex-1.0.0.792 & PlexMediaPlayer-2.39.0.1005 for comparison

Windows 10, all updates installed, Radeon 5700 with latest drivers.

Bug : Trying to watch 10bit H.265 in “New Plex” results in blocky, colorful mess with hardware decoding enabled. Results can be reproduced in PMP, but only with 1 specific setting combination. 10bit H.264 plays back fine.

“New Plex” - excuse the extra wide screenshot, you can’t hit “i” on your keyboard to bring up detailed playback info like you can in PMP (“Plex Classic”) so I figured Task Manager could show that the GPU is active, and that I need to close my tabs, with the Plex dashboard showing that it is direct streaming 10bit HEVC.


Playback of the same file in “Plex Classic” - hardware decoding is just set to “Enabled.” Native OpenGL is disabled

After hitting “i” to show information.


“Plex Classic” - Hardware Decoding disabled , Native OpenGL enabled


Reproducing the same issue in PMP

“Plex Classic” - Hardware Decoding Enabled, Native OpenGL Enabled


It looks like DXVA2 Copyback is the culprit? Is there a way to make “New Plex” use D3D11VA decoding like “Plex Classic” does without Native OpenGL?

1 Like

Similar issue with RX 580, but only with 4K HDR, 1080p HEVC HDR plays fine. I just disabled Hardware Decoding. (also I’m guessing you are referring to RX 5700 and not the HD 5700)

Whoops. Yeah, RX5700, Navi.

I’m tracking this thread and some others like it. We’ll figure this out.

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Thanks for reopening this, hope you guys are eventually able to overcome it…

I’ve had some fun playing around with this one, it 100% seems to be tied in with using the AMD GPU to Hardware decode (I’m on a 5700XT, so Navi architecture). Other players - speficially VLC & PotPlayer - don’t produce the same artifacts with HW Decoding enabled.

I tried re-encoding various video files I have as H265 10bit, and interestingly, when the source video was 8bit, the 10bit H265 often - but not always - played back okay in Plex. However, if I encoded a 10bit H265 as 8bit H264 (or H265), and then reencoded it as 10bit H265, the artifacts would disappear in the 8bit files, then reappear in the 10bit. Collectively, that doesn’t add up to me, but I don’t do video compression for a living either ;o).

Something else I’ve realised, is that the Navi VCE currently sucks (this isn’t limited to Plex), so using hardware encoding on an Navi GPU in general is probably just a bad idea right now. YMMV.

1 Like

I see this happening on my gaming PC as well, using an Radeon RX 5700. It’s happening with both Plex for Window and PMP. Not seeing it with other players than Plex.

I’m not seeing this issue on my HTPC luckily, as it’s using an older AMD GPU.

Hi @sensei321 :pikawave:

I’ve got an issue file to look into this. It’s outside of my depth but I’ll advocate for some folks with the skills to look into it.

3 Likes

Thanks. :slight_smile:

I have the same issue, it went away briefly with the Radeon Adrenaline 20.2.2 and one build of the Plex windows app but is back with the last 4 versions and the 20.4.2.
Do hope you can fix it or i’ll have to just use software mode I guess.

I’m having the same issue with hardware decoding on 5700xt, running 20.4.2 drivers. Like the OP said, it appears dxva2-copy in mpv is the culprit. My own mpv setup runs fine, using D3D11VA, as well as Plex Media Player at time of writing.

Normally I would update video card drivers, but hav had issues with the newer ‘optional’ Radeon packages. Software decoding, of course, works fine. But ideally I’d like to have to have my CPU freed up for other tasks.

2 Likes

WTF. Why is this still an issue guys, this is kind of bullshit.

1 Like

Did this problem ever get a resolution?

Nope.

Solution: Wait til Navi is obsolete lul

Honestly, this shouldn’t even be a problem in the first place. I did all the A/B work to figure out the “problem” in the OP.

AMD’s not entirely without blame, either their driver or the card itself doesn’t like DXVA2-CB with 10-bit HEVC. Except DXVA2 might as well be obsolete in and of itself, along with DirectShow!

I’d understand if it was the older PMP that was “stuck” using DXVA2, but you kind of have to go out of your way to force it to use it! “Plex Classic” defaults to D3D11VA. LAV’s decoder (example) defaults to D3D11VA. Even when I use an OpenGL renderer in another app (tone mapping HDR->SDR in VLC = D3D11VA decode, drawn using OpenGL output) I don’t end up with these artifacts.

Plex overhauled and replaced their desktop app and dropped back from Media Foundation to DirectShow video decoding…

The worst part is I don’t even think it was an intentional change. Someone overlooked some parameter somewhere. If the “guts” are still the same (they are, it’s still mpv, is it not?) getting it back to using D3D11VA should’ve been as trivial as asking mpv to use D3D11VA, which we know still works on a standalone instance of mpv, and works correctly.

I don’t know if there was a change, but the issue resolved itself somewhere between a driver update and a Plex update. Problem h265 files are working fine now

1 Like