[Bug 784847] omxvideodec: add dmabuf support for zynqultrascaleplus
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Jul 13 08:13:33 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=784847
--- Comment #3 from Julien Isorce <julien.isorce at gmail.com> ---
Review of attachment 355431:
--> (https://bugzilla.gnome.org/review?bug=784847&attachment=355431)
Looks clean ! I wrote a few questions.
::: configure.ac
@@ +159,1 @@
Like this instead:
https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/configure.ac#n837 ?
::: omx/gstomxbufferpool.c
@@ +27,3 @@
#include "gstomxbufferpool.h"
+#include <gst/allocators/gstdmabuf.h>
Like this
https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst-libs/gst/gl/gstglupload.c#n36
instead ?
@@ +395,3 @@
+ gint fd;
+
+ fd = GPOINTER_TO_INT (omx_buf->omx_buf->pBuffer);
I see that you do not see the memory:DMABuf caps features, so does it mean that
you assume this fd is always mappable ? Like if you do a gst_memory_map(mem,
FLAG_READ) will it succeed ? Same question with flag READWRITE ?
@@ +518,2 @@
/* If it's our own memory we have to set the sizes */
+ if (!pool->other_pool && !pool->dmabuf) {
Maybe adjust the comment above. Like "... set the sizes except for dmabuf
because ..."
::: omx/gstomxvideodec.c
@@ +199,3 @@
self->dec_out_port = gst_omx_component_add_port (self->dec, out_port_index);
+#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
&& defined(OMX_ALG_BUF_DMA) ? Was it defined in older zyq-uscale versions ?
Just asking maybe you do not want to support older versions ?
@@ +217,3 @@
+ GST_ERROR_OBJECT (self, "Failed to set output buffer mode: %s (0x%08x)",
+ gst_omx_error_to_string (err), err);
+ buffer_mode.eMode = OMX_ALG_BUF_DMA;
Just to make, this is something you always want ? I.e. no fallback if
setparam(do_dmabuf) fails ?
I was thinking to just self->dmabuf = FALSE instead of return FALSE, something
like that. And GST_INFO instead of GST_ERROR. But this is your decision,
depends what you want.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list