[Bug 785967] videoenc/dec : delay input buffers allocation until first buffer is received

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Aug 8 14:29:09 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=785967

Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #357199|none                        |needs-work
             status|                            |

--- Comment #19 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
Review of attachment 357199:
 --> (https://bugzilla.gnome.org/review?bug=785967&attachment=357199)

Ok, I think the original code was broken, only ever worked for formats with Y
plane first.

::: omx/gstomxvideoenc.c
@@ +1019,3 @@
+    stride = meta->stride[0];
+    if (stride == 0)
+      stride = info->width;

Missing a multiplication ? In RGBA default stride is width * 4. In my opinion,
GstVideoMeta with a 0 stride is an upstream bug, so assert instead.

@@ +1020,3 @@
+    if (stride == 0)
+      stride = info->width;
+    slice_height = meta->offset[1] / stride;

(meta->offset[1] - meta->offset[0]) / stride. There is no guaranty that the
first offset is 0.

@@ +1029,3 @@
+        "input buffer doesn't provide video meta, can't adjust stride and
slice height");
+
+    stride = info->width;

stride = info->stride[0];

@@ -1014,3 @@
   if (port_def.nBufferAlignment)
     port_def.format.video.nStride =
-        GST_ROUND_UP_N (info->width, port_def.nBufferAlignment);

Or, is the stride in OMX in pixels ?

-- 
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