dmabuf: be able to negotiate tiled surfaces
Submitted by Scott D Phillips
The memory format natively supported by intel-vaapi-driver is Y-tiled NV12 for YUV 420 surfaces. Currently the gstreamer-vaapi dmabuf allocator only allocates non-tiled surfaces which the intel-vaapi-driver needs to then tile before encoding/untile after decoding.
Having some way of negotiating support for tiling would save this unnecessary tiling or untiling step. I would appreciate input on the best way to implement this. Should it be a new video format, like NV12_128Y32? A video format is a little funny to me because this is for dmabuf negotiation only and the tiled plane will never be seen in virtual memory. Should there be some gem-specific dmabuf allocation query parameters?