madshi bug tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000471madVRbugpublic2017-02-23 16:202017-06-24 22:03
Reporterdamien147 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
PlatformOSWindowsOS VersionWindows 10 64bit
Summary0000471: Black screen with DXVA2(native) and AMD GPU playing 10bit HEVC.
DescriptionWith AMD card when playing 10bit HEVC if you set decoder to DXVA2(native) you get as a result black screen.
EVR(custom presenter) has no black screen and plays file fine with same circumstances.
Steps To ReproduceHaving an AMD GPU set hardware decoder to DXVA2(native) and play 10bit HEVC.The result is black screen.
Additional InformationTwo more AMD users in doom9.org forum reproduced the black screen.
TagsNo tags attached.
madVR Versionv0.91.5
Media Player (with version info)mpc-hc(64 bit) 1.7.10
Splitter (with version info)Lav Splitter 0.69
Decoder (with version info)Lav Video Decoder 0.69
DecodingSoftware
Deinterlacingnone (progressive)
DXVA2 Scaling Activeno
Aero / Desktop CompositionOn
Problem occurs with modeall modes
GPU ManufacturerAMD
GPU ModelRX470 4GB
GPU Driver Version17.2.1
Attached Files

- Relationships

-  Notes
(0001593)
direx (reporter)
2017-03-10 21:33

I can confirm this issue.

Card: RX480 8GB
Driver version: 17.3.1
MadVR: v0.91.7
Player: MPC-BE 1.5.1 (tried both x64 and i386 versions)

Only 10-bit HEVC is affected, 8-bit HEVC plays back fine with MadVR.

10-bit HEVC is handled correctly without MadVR (e.g. with native MPC-BE renderer).
(0001628)
Firelight (reporter)
2017-04-13 06:22
edited on: 2017-04-14 14:22

Tested with the EVR-CP video renderer. 10-bit Integer and 32-bit Floating Point surface formats doesn't work but the other surface formats do. Turning off the DXVA video decoders and relying on software does NOT fix the EVR-CP video renderer with the above formats.

GPU: RX480
GPU Driver: 17.4.2
Player: MPC-BE x64 1.5.1 (build 2332) beta

Maybe the issue is a combination of a polaris architecture GPU along with v17 drivers causing this?

Edit: Tested the EVR-CP more thoroughly with the stats on.

Black screens with the following format:
| Input: P010
| Mixer: X8R8G8B8
| VideoBuffer: A2R10G10B10
| Surface: A2R10G10B10
| Backbuffer/Display: X8R8G8B8
Using DXVA2 Native

Works with the following formats:

| Input: P010
| Mixer: X8R8G8B8
| VideoBuffer: X8R8G8B8
| Surface: X8R8G8B8
| Backbuffer/Display: X8R8G8B8
Using DXVA2 Native

| Input: NV12
| Mixer: NV12
| VideoBuffer: A2R10G10B10
| Surface: A2R10G10B10
| Backbuffer/Display: X8R8G8B8
Using DXVA2 Copy-Back

Will test an R9 280x GPU with driver 17.4.2 soon.

(0001629)
damien147 (reporter)
2017-04-15 18:45

Problem seems to be RX4x0 specific but I can't edit my report.
(0001630)
Firelight (reporter)
2017-04-17 03:11

Well crap. R9 280X can only output NV12 for DXVA2 decoding. That means I can't use it to decode 10-bit videos. Also interesting, I can't get the EVR-CP renderer to accept anything but NV12 on my computer with the R9 280X. Regardless, I've still performed some testing.

Using EVR-CP video renderer

- H.264 8-bit video
  - Test 1 Result: Works
    - Decoder: DXVA2 Native
    - EVR-CP Surface Format Setting: 10-bit Integer
    - Input Format: NV12
    - Mixer Format: NV12
    - VideoBuffer Format: A2R10G10B10
    - Surface Format: A2R10G10B10
  - Test 2 Result: Works
    - Decoder: DXVA2 Native
    - EVR-CP Surface Format Setting: 8-bit Integer
    - Input Format: NV12
    - Mixer Format: X8R8G8B8
    - VideoBuffer Format: X8R8G8B8
    - Surface Format: X8R8G8B8

Using madVR

- H.265 10-bit video
  - Test 3 Result: Works
    - Decoder: Software (avcodec)
    - Input Format: P010
(0001631)
Firelight (reporter)
2017-04-17 05:17

And more tests on the RX480.

Using MPC-BE (64-bit) 1.5.1 (build 2491) beta
Using LAV Video Decoder 0.69.0
Using EVR-CP video renderer

Using H.264 8-bit video

Test 1 Result: Works
  - Decoder Processing: DXVA2 Native
  - EVR-CP DXVA Status: DXVA2 H.264 E, bitstream decoder, no FGT
  - EVR-CP Surface Format Setting: 8-bit Integer
  - Input Format: NV12
  - Mixer Format: NV12
  - VideoBuffer Format: X8R8G8B8
  - Surface Format: X8R8G8B8

Test 2 Result: Works
  - Decoder Processing: DXVA2 Native
  - EVR-CP DXVA Status: DXVA2 H.264 E, bitstream decoder, no FGT
  - EVR-CP Surface Format Setting: 10-bit Integer
  - Input Format: NV12
  - Mixer Format: NV12
  - VideoBuffer Format: A2R10G10B10
  - Surface Format: A2R10G10B10

And I've retested some things using the same format for comparison.

Using H.265 10-bit video

Test 3 Result: Works
  - Decoder Processing: DXVA2 Native
  - EVR-CP DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - EVR-CP Surface Format Setting: 8-bit Integer
  - Input Format: P010
  - Mixer Format: X8R8G8B8
  - VideoBuffer Format: X8R8G8B8
  - Surface Format: X8R8G8B8

Test 4 Result: Black Screen
  - Decoder Processing: DXVA2 Native
  - EVR-CP DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - EVR-CP Surface Format Setting: 10-bit Integer
  - Input Format: P010
  - Mixer Format: X8R8G8B8
  - VideoBuffer Format: A2R10G10B10
  - Surface Format: A2R10G10B10

Test 5 Result: Works
  - Decoder Processing: DXVA2 Native
  - EVR-CP DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - EVR-CP Surface Format Setting: 16-bit Floating Point
  - Input Format: P010
  - Mixer Format: X8R8G8B8
  - VideoBuffer Format: A16B10G16R16F
  - Surface Format: A16B10G16R16F

Test 6 Result: Works
  - Decoder Processing: DXVA2 Copy-Back
  - EVR-CP DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - EVR-CP Surface Format Setting: 8-bit Integer
  - Input Format: NV12
  - Mixer Format: NV12
  - VideoBuffer Format: X8R8G8B8
  - Surface Format: X8R8G8B8

Test 7 Result: Works
  - Decoder Processing: DXVA2 Copy-Back
  - EVR-CP DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - EVR-CP Surface Format Setting: 10-bit Integer
  - Input Format: NV12
  - Mixer Format: NV12
  - VideoBuffer Format: A2R10G10B10
  - Surface Format: A2R10G10B10

Test 8 Result: Works
  - Decoder Processing: Software (avcodec)
  - EVR-CP DXVA Status: Not using DXVA
  - EVR-CP Surface Format Setting: 8-bit Integer
  - Input Format: NV12
  - Mixer Format: NV12
  - VideoBuffer Format: X8R8G8B8
  - Surface Format: X8R8G8B8

Test 9 Result: Works
  - Decoder Processing: Software (avcodec)
  - EVR-CP DXVA Status: Not using DXVA
  - EVR-CP Surface Format Setting: 10-bit Integer
  - Input Format: NV12
  - Mixer Format: NV12
  - VideoBuffer Format: A2R10G10B10
  - Surface Format: A2R10G10B10

Interesting results here.

Using MPC Video Decoder

Test 10 Result: Works
  - Decoder Processing: Unknown
  - EVR-CP DXVA Status: Not using DXVA
  - EVR-CP Surface Format Setting: 8-bit Integer
  - Input Format: P010
  - Mixer Format: X8R8G8B8
  - VideoBuffer Format: X8R8G8B8
  - Surface Format: X8R8G8B8

Test 11 Result: Black Screen
  - Decoder Processing: Unknown
  - EVR-CP DXVA Status: Not using DXVA
  - EVR-CP Surface Format Setting: 10-bit Integer
  - Input Format: P010
  - Mixer Format: X8R8G8B8
  - VideoBuffer Format: A2R10G10B10
  - Surface Format: A2R10G10B10

Test 12 Result: Works
  - Decoder Processing: Unknown
  - EVR-CP DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - EVR-CP Surface Format Setting: 8-bit Integer
  - Input Format: P010
  - Mixer Format: X8R8G8B8
  - VideoBuffer Format: X8R8G8B8
  - Surface Format: X8R8G8B8

Test 13 Result: Black Screen
  - Decoder Processing: Unknown
  - EVR-CP DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - EVR-CP Surface Format Setting: 10-bit Integer
  - Input Format: P010
  - Mixer Format: X8R8G8B8
  - VideoBuffer Format: A2R10G10B10
  - Surface Format: A2R10G10B10

I can't test if the combination of the P010 Input format and the A2R10G10B10 VideoBuffer/Surface format is causing the issue since I can't force the EVR-CP renderer to accept P010 unless the video decoder is using DXVA2 Native processing.

Using LAV Video Decoder 0.69.0
Using Video Mixing Renderer 9 (Windowed Operation Mode)

Test 14 Result: Works
  - Decoder Processing: DXVA2 Native
  - VMR Mixer Mode: On
  - YUV Mixing: On
  - Input Format: NV12

Test 15 Result: Black Screen
  - Decoder Processing: DXVA2 Native
  - VMR Mixer Mode: On
  - YUV Mixing: Off
  - Input Format: P010

Test 16 Result: Black Screen
  - Decoder Processing: DXVA2 Native
  - VMR Mixer Mode: Off
  - YUV Mixing: N/A
  - Input Format: P010

Test 17 Result: Works
  - Decoder Processing: DXVA2 Copy-Back
  - VMR Mixer Mode: Off
  - YUV Mixing: N/A
  - Input Format: NV12

Test 18 Result: Works
  - Decoder Processing: DXVA2 Copy-Back
  - VMR Mixer Mode: On
  - YUV Mixing: Off
  - Input Format: NV12

Very Interesting.

Using Sync Video Renderer

Test 19 Result: Works
  - Decoder Processing: DXVA2 Native
  - SVR DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - Input Format: P010
  - Mixer Format: RGB32

Test 20 Result: Works
  - Decoder Processing: DXVA2 Copy-Back
  - SVR DXVA Status: DXVA2 H.265, bitstream decoder, Main10
  - Input Format: NV12
  - Mixer Format: NV12

Using Haali Video Renderer

Test 21 Result: Works
  - Decoder Processing: DXVA2 Native
  - Input Format: YUY2

Test 21 Result: Works
  - Decoder Processing: DXVA2 Copy-Back
  - Input Format: YUY2
(0001672)
denali (reporter)
2017-06-24 19:10
edited on: 2017-06-24 19:10

Same here.
GPU: RX460 (4Gb)
CPU: Xeon3450
Madvr: 0.91.10
LAV: 0.70.0
mpc-hd: 1.7.11
Using H.264 8-bit video
- works nice with madvr
Using H.264 10-bit video
- black screen with madvr
- active decoder: dxva2n
- works nice with evr renderer (cpu 5-6%) but with washed out colors

(0001673)
madshi (administrator)
2017-06-24 22:03

There will be an improvement with the next build: Instead of a black screen, we'll get a proper luma channel. But the chroma channels are empty, resulting in a totally green tinted image. This appears to be an AMD driver bug.

You'll continue to have to use DXVA copyback for now.

- Issue History
Date Modified Username Field Change
2017-02-23 16:20 damien147 New Issue
2017-03-10 21:33 direx Note Added: 0001593
2017-04-13 06:22 Firelight Note Added: 0001628
2017-04-13 07:12 Firelight Note Edited: 0001628 View Revisions
2017-04-14 14:19 Firelight Note Edited: 0001628 View Revisions
2017-04-14 14:19 Firelight Note Edited: 0001628 View Revisions
2017-04-14 14:22 Firelight Note Edited: 0001628 View Revisions
2017-04-15 18:45 damien147 Note Added: 0001629
2017-04-17 03:11 Firelight Note Added: 0001630
2017-04-17 05:17 Firelight Note Added: 0001631
2017-06-24 19:10 denali Note Added: 0001672
2017-06-24 19:10 denali Note Edited: 0001672 View Revisions
2017-06-24 22:03 madshi Note Added: 0001673


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker