mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
3be9a1baa0
One problem that va dmabuf allocator had is when preparing a buffer from dmabuf memories in the allocator pool, specially when a buffer is composed by several memories. This memories have to be by certain number and in certain order. This patch stores the number of memories and their address in order when a dmabuf-based buffer is created and when preparing a buffer, it is reconstructed with this info. Finally, instead of pushing the memories as soon as they are unrefed, they are hold until GstVaBufferSurface's ref_mems_count reaches zero (all the memories related with that buffer/surface are unrefed). Until that happen, all the memories are pushed back into the queue, locked, assuring that all the memories related with a single buffer (with the same surface) remain contiguous, so the buffer reconstruction is assured. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013> |
||
---|---|---|
.. | ||
gstvaallocator.c | ||
gstvaallocator.h | ||
gstvabasedec.c | ||
gstvabasedec.h | ||
gstvacaps.c | ||
gstvacaps.h | ||
gstvadecoder.c | ||
gstvadecoder.h | ||
gstvadevice.c | ||
gstvadevice.h | ||
gstvadisplay.c | ||
gstvadisplay.h | ||
gstvadisplay_drm.c | ||
gstvadisplay_drm.h | ||
gstvadisplay_wrapped.c | ||
gstvadisplay_wrapped.h | ||
gstvafilter.c | ||
gstvafilter.h | ||
gstvah264dec.c | ||
gstvah264dec.h | ||
gstvah265dec.c | ||
gstvah265dec.h | ||
gstvampeg2dec.c | ||
gstvampeg2dec.h | ||
gstvapool.c | ||
gstvapool.h | ||
gstvaprofile.c | ||
gstvaprofile.h | ||
gstvautils.c | ||
gstvautils.h | ||
gstvavideoformat.c | ||
gstvavideoformat.h | ||
gstvavp8dec.c | ||
gstvavp8dec.h | ||
gstvavp9dec.c | ||
gstvavp9dec.h | ||
gstvavpp.c | ||
gstvavpp.h | ||
meson.build | ||
plugin.c |