Skip to content

hwdec_d3d11va: support 4:4:4 and high bit depth zero-copy formats#18176

Open
kasper93 wants to merge 1 commit into
mpv-player:masterfrom
kasper93:d3d11-12
Open

hwdec_d3d11va: support 4:4:4 and high bit depth zero-copy formats#18176
kasper93 wants to merge 1 commit into
mpv-player:masterfrom
kasper93:d3d11-12

Conversation

@kasper93

Copy link
Copy Markdown
Member

Replace the static format whitelist with a device-probed table and add 4:4:4 (VUYX/XV30/XV36/XV48) and 4:2:0 12/16-bit (P012/P016) surfaces to both the zero-copy and copy mapper paths. The packed YUV formats can't be decomposed by ra_get_imgfmt_desc(), so they are viewed as a single RGBA texture and the swizzle is recovered from the imgfmt descriptor, which only works with --vo=gpu-next.

Replace the static format whitelist with a device-probed table and add
4:4:4 (VUYX/XV30/XV36/XV48) and 4:2:0 12/16-bit (P012/P016) surfaces to
both the zero-copy and copy mapper paths. The packed YUV formats can't be
decomposed by ra_get_imgfmt_desc(), so they are viewed as a single RGBA
texture and the swizzle is recovered from the imgfmt descriptor, which
only works with --vo=gpu-next.
@kasper93

Copy link
Copy Markdown
Member Author

Currently, doesn't change much. But this change enables 12-bit decoding, added by https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23553. Also for the future where HEVC 444 might be added.

@Andarwinux

Copy link
Copy Markdown
Contributor

What about 4:2:2? Intel and NV Blackwell indeed support them.

@kasper93

Copy link
Copy Markdown
Member Author

What about 4:2:2? Intel and NV Blackwell indeed support them.

It would be supported too, but it's not exposed in ffmpeg, there needed to be changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants