use GstDRMBufferPool and dmabuf for sharing buffers Use GstDRMBufferPool instead of own private bufferpool, and use dmabuf to import buffers (either allocated by our bufferpool or by downstream element) and qdata to attach our own private data to the buffer. In this way the differences in code path between using our own buffers and a downstream element's buffers is minimized.
Initial port to omapdce
ducatibufferpool: fix race in gst_ducati_bufferpool_destroy Pop items from ->freelist with the pool lock taken to avoid races with other threads unreffing outstanding buffers.
bufferpool: reset ->orig to NULL in _finalize Reset ->orig to NULL on _finalize so that if a buffer is recycled we don't _unref invalid memory.
ducatividdec: update the internal pool caps when switching interlaced mode
ducatividdec: fix memory leak with bufferpool buffers If we don't have an input frame, and unref the outbuf, and the original buffer was replaced by a bufferpool buffer, we need to unref the new buffer, not the original.
bufferpool: alloc 1d buffers if the pool is created with null caps
bufferpool: allocate 1d or 2d according to caps
ducatividdec: add support for video/x-raw-yuv-strided Add support video/x-raw-yuv-strided and rework negotiation a bit so that we can support upstream negotiation for the rowstride field (v4l2sink likes to do that).
ducatih264enc: add h264 encoder
viddec: use 1d buffers Expect and allocate 1d buffers. Support for 2d buffers will be added again at some point in the near future.
Improved compiler warning flags strictness
viddec: add fallback support for non-TILER buffers Add a GstDucatiBufferPool which can allocate TILER output buffers for the codec, in case the downstream element does not allocate TILER buffers for us. This makes use cases like decode to filesink or fakesink and transcoding work properly.