[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