GNOME Bugzilla – Bug 792361
omxvideoenc: implement dmabuf import on zynqultrascaleplus
Last modified: 2018-01-29 15:21:41 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.
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.
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.
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.
(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.
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.
Review of attachment 367574 [details] [review]: .
Attachment 367574 [details] pushed as 9f87b98 - omxvideoenc: implement dmabuf import on zynqultrascaleplus