Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XYUV and Y410 formats unsupported for YUV444 VAAPI frame mapping #282

Open
cgutman opened this issue Aug 3, 2024 · 0 comments
Open

XYUV and Y410 formats unsupported for YUV444 VAAPI frame mapping #282

cgutman opened this issue Aug 3, 2024 · 0 comments

Comments

@cgutman
Copy link

cgutman commented Aug 3, 2024

I'm running into an issue with pl_map_avframe_ex() failing when trying to map a AV_PIX_FMT_VAAPI frame that is backed by a VA surface with a YUV444 format (either 8-bit or 10-bit) for rendering with Vulkan. The failure originates here due to libplacebo having no mapping for either of the FourCC values.

The failing AVPixelFormat values are AV_PIX_FMT_VUYX for 8-bit 4:4:4 and AV_PIX_FMT_XV30LE for 10-bit 4:4:4. They map to the DRM formats of DRM_FORMAT_XYUV8888 and DRM_FORMAT_Y410 and FourCC values of XYUV and Y410. These formats are a bit unusual compared to normal semi/fully planar YUV formats because they are fully packed formats with only a single plane.

Hopefully it's relatively simple to add support for these formats. I'm happy to test any WIP patches if you lack the hardware to test yourself.

System details:

  • Intel Core i7 1280P (ADL)
  • Mesa 24.1.4
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

No branches or pull requests

1 participant