After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 792361 - omxvideoenc: implement dmabuf import on zynqultrascaleplus
omxvideoenc: implement dmabuf import on zynqultrascaleplus
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-omx
git master
Other Linux
: Normal enhancement
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-01-09 10:57 UTC by Guillaume Desmottes
Modified: 2018-01-29 15:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
omxvideoenc: implement dmabuf import on zynqultrascaleplus (8.87 KB, patch)
2018-01-09 10:57 UTC, Guillaume Desmottes
none Details | Review
omxvideoenc: implement dmabuf import on zynqultrascaleplus (9.11 KB, patch)
2018-01-17 09:24 UTC, Guillaume Desmottes
none Details | Review
omxvideoenc: implement dmabuf import on zynqultrascaleplus (8.97 KB, patch)
2018-01-17 09:26 UTC, Guillaume Desmottes
none Details | Review
omxvideoenc: implement dmabuf import on zynqultrascaleplus (9.03 KB, patch)
2018-01-29 14:22 UTC, Guillaume Desmottes
committed Details | Review

Description Guillaume Desmottes 2018-01-09 10:57:34 UTC
.
Comment 1 Guillaume Desmottes 2018-01-09 10:57:51 UTC
Created attachment 366540 [details] [review]
omxvideoenc: implement dmabuf import on zynqultrascaleplus

The Zynq UltraScale+ encoder implements a custom OMX extension to
directly import dmabuf saving the need of mapping input buffers.

This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
decoder upstream.
Comment 2 Guillaume Desmottes 2018-01-17 09:24:13 UTC
Created attachment 366916 [details] [review]
omxvideoenc: implement dmabuf import on zynqultrascaleplus

The Zynq UltraScale+ encoder implements a custom OMX extension to
directly import dmabuf saving the need of mapping input buffers.

This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
decoder upstream.
Comment 3 Guillaume Desmottes 2018-01-17 09:26:35 UTC
Created attachment 366917 [details] [review]
omxvideoenc: implement dmabuf import on zynqultrascaleplus

The Zynq UltraScale+ encoder implements a custom OMX extension to
directly import dmabuf saving the need of mapping input buffers.

This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
decoder upstream.
Comment 4 Nicolas Dufresne (ndufresne) 2018-01-29 10:56:29 UTC
Review of attachment 366917 [details] [review]:

I can clearly see that this implementation has the limitation that only 1 FD is allowed, but I don't see any checks/validatation for this. Also, remember that you could have multiple memory FD, but with the same FD repeated.

::: omx/gstomxvideoenc.c
@@ +1248,3 @@
+    } else {
+      GST_DEBUG_OBJECT (self,
+          "Input is dmabuf but misaligned, don't use dmabuf import");

This trace sounds weird, misaligned ? Why not wrong allocation mode or something ? Alignment is checked later.
Comment 5 Guillaume Desmottes 2018-01-29 14:22:12 UTC
(In reply to Nicolas Dufresne (stormer) from comment #4)
> Review of attachment 366917 [details] [review] [review]:
> 
> I can clearly see that this implementation has the limitation that only 1 FD
> is allowed, but I don't see any checks/validatation for this. 

This is already checked in can_use_dynamic_buffer_mode(). If input buffer has more than one memory then we don't use dynamic allocation mode and so won't use dmabuf import either.

> ::: omx/gstomxvideoenc.c
> @@ +1248,3 @@
> +    } else {
> +      GST_DEBUG_OBJECT (self,
> +          "Input is dmabuf but misaligned, don't use dmabuf import");
> 
> This trace sounds weird, misaligned ? Why not wrong allocation mode or
> something ? Alignment is checked later.

changed.
Comment 6 Guillaume Desmottes 2018-01-29 14:22:25 UTC
Created attachment 367574 [details] [review]
omxvideoenc: implement dmabuf import on zynqultrascaleplus

The Zynq UltraScale+ encoder implements a custom OMX extension to
directly import dmabuf saving the need of mapping input buffers.

This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
decoder upstream.
Comment 7 Nicolas Dufresne (ndufresne) 2018-01-29 15:20:25 UTC
Review of attachment 367574 [details] [review]:

.
Comment 8 Nicolas Dufresne (ndufresne) 2018-01-29 15:21:15 UTC
Attachment 367574 [details] pushed as 9f87b98 - omxvideoenc: implement dmabuf import on zynqultrascaleplus