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

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Dec 25 12:43:11 PST 2013


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

--- Comment #43 from Wim Taymans <wim.taymans at gmail.com> 2013-12-25 20:43:01 UTC ---
> 
> 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).

V4L2 has these variants:

TM12 -> NV12MT
VM12 -> NV12MT_16X16
HM12 -> HM12 is like NV12MT_16X16 but contiguous planes AFAIU

No idea if these are 'official' fourccs. These fourccs don't look very
descriptive making them very hard to remember, which is not a good property for
things you put on caps.

Lets go for the more scriptive NV12_16L16 and NV12_64Z32 then, as you
suggested? I put the Linear and Zigzag marker in there..

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

What we really would need is the size of the plane in the GstVideoMeta (either
as size or as number of strides). It is needed in some places (mapping,
copying, ...) and we always end up having to guess it based on the cropped
height, which turns out to not work so well for tiled formats. For the next ABI
break, I think this would be best. We could derive the number of vertical tiles
from it, like we do now for the stride. It would also allow us to store
multiple memory blocks per plane (interesting for RTP raw video)

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