Implemented support for packed YUYV somehow?
In particular, in the libav helpers. There are several possible ways we could consider accomplishing this:
- Implement support for the
ycbcr
sampler type, which would require the concept of planarpl_tex
objects. - Just upload it as
rgba8
, then somehow alias a secondrg8
VkImage onto this device memory. This would also fundamentally require the concept of planarpl_tex
objects, though, since the aliased memory would have to be synchronized in unison, but has the advantage of allowing us to avoid touching the ycbcr samplers. - Add some sort of helper function for copying around swizzled/strided versions of images, so users can upload a YUYV image as
rgba8
and then swizzle it into a suitabler8
texture for the Y plane. Maybe, conceptually, we could do this by exposing the "emulated upload" code directly to users, to allow them to copy from a texel buffer to a suitable image.
I think I'm leaning towards 3.