[Bug 707361] video: Add support for 64x32 tiled NV12 color format

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Dec 23 14:12:23 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=707361
  GStreamer | gst-plugins-base | git

Nicolas Dufresne <nicolas.dufresne> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #264815|none                        |reviewed
             status|                            |

--- Comment #36 from Nicolas Dufresne <nicolas.dufresne at collabora.co.uk> 2013-12-23 22:12:17 UTC ---
Review of attachment 264815:
 --> (https://bugzilla.gnome.org/review?bug=707361&attachment=264815)

I can give this variant a try, though gst_video_frame_copy() is broken with
that code. Where you on that already ?

::: gst-libs/gst/video/video-format.c
@@ +2088,3 @@
+ * @GST_VIDEO_TILE_MODE_ZFLIPZ_2X2: Every four adjacent buffers - two
+ *    horizontally and two vertically are grouped together and are located
+ *    in memory in Z or flipped Z order.

We should probably mention the exception on the last row if there is an odd
number of row. Other then that, I like the idea of exposing tile mode inside an
enumration.

@@ +2220,3 @@
+  tile_size = tile_width * tile_height;
+
+  x_tiles = stride[0] / 64;

x_tiles = stride[0] / tile_width;

::: gst-libs/gst/video/video-format.h
@@ +143,3 @@
   GST_VIDEO_FORMAT_NV16,
   GST_VIDEO_FORMAT_NV24,
+  GST_VIDEO_FORMAT_NV12T,

What name will we give to the next variant I have kept on hold ?

It's NV12, with tile mode "LINEAR", and tile sizes is 16x16. Stride alignment
should be 16. (was the reason I have put 64x32 in the name, even though not
very cute API whise).

::: gst-libs/gst/video/video-info.c
@@ +574,3 @@
+      info->stride[0] = GST_ROUND_UP_128 (width);
+      info->stride[1] = info->stride[0];
+      info->stride[2] = GST_ROUND_UP_32 (height) / 32;

Ok, fair, this is perfectly fine for my needs, and does not require change to
the video pool.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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