va: vapostproc produces corrupted memory when converting from VAMemory NV12 to DMABuf YV12
On i965 (Intel BYT) platform the conversion from memory:VAMemory with format NV12 to memory:DMABuf with format YV12 leads to corrupt memory.
Observed Behavior: One C plane (U or V) has corrupted memory.
- Intel i965 driver for Intel(R) Bay Trail - 2.4.1
- GStreamer 1.24.0
- VA-API version 1.15.0
I have tested with qmlglsink, however, the exact same problem can be observed with glimagesink, too.
The attached image shows the 3 planes (YUV) rendered next to each other (for this I modified the YV12->RGBA shader from gstqsgmaterial/qmlglsink). Obviously the one in the upper/left corner (U or V, I'm not sure) has corrupted memory, parts of the correct data can be seen in to bottom part of the section.
Please let me know if you need additional information or if I can do any further tests.
Additional attachments contain the pipeline dump and some log output. Interesting part for me is the mismatch from vadmabufallocator.
[pipeline.dot](/uploads/50fcf6e9fd3d58dc25acf48a6073228d/pipeline.dotvapostproc_7_vamemory_7.log.gz