mpv-player / mpv-player/mpv

[D3D11VA] Request to enable DXVA HEVC YUV444 support

Open
#18,233 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

mpv Information

Other Information
- Windows version: Windows 11 25H2
- GPU model, driver and version: RTX 2080
- Source of mpv:
- Latest known working version: NIL
- Issue started after the following happened:
Reproduction Steps

Play a HEVC YUV 444 video (10 bit for example). Notice that it is software decoded.

Expected Behavior

Hardware decoding works.

Actual Behavior

Hardware decoding doesn't work.

As @kasper93 explained in https://github.com/mpv-player/mpv/issues/18172#issuecomment-4793213696 :

444 HEVC is supported in official documentation now https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/dxva/ns-dxva-dxva_picparams_hevc_rangeext

I could implement this official extension, but I don't have hardware to test this on, so I won't.

I am willing to try and implement the fix, allowing MPV to utilise D3D11VA's HEVC YUV444 hardware decoder. I would like to get the HEVC 444 8b, 10b and 12b variants all working.

I would greatly appreciate if any MPV developer can provide some guidance, including which files I should look at/edit.

If any developer wants to help and implement the fix but lacks the hardware to test it on, I am more than happy to help run the tests. I have an RTX 2080.

Log File

output_sanitized.txt

Sample Files

No response

I carefully read all instruction and confirm that I did the following:
  • I tested and confirmed that the issue exists with the latest release version or newer.
  • I provided all required information including system and mpv version.
  • I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • I attached the full, untruncated log file.
  • I attached the backtrace in the case of a crash.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Start by locating mpv's D3D11VA HEVC decoding path and reviewing the DXVA HEVC range-extension documentation referenced in the issue. Validate hardware decoding for HEVC YUV444 8-bit, 10-bit, and 12-bit samples on the reported RTX 2080, with the attached log as the baseline.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.