Creating x-raw tiled video?

As part of the MPEG uncompressed codec, I’m looking at the VideoMeta in a bit of detail, and I see it has the concept of tiling. I assume that means a large image can be represented in the form of a rectangular array of smaller image (e.g. 6K x 4K could be 24 1Kx1K tiles).

Is there anything in gstreamer that can create tiled images, or turn an existing image into a tiled image? I’m particularly looking for something I could use as source in a muxer unit test.

(Note: I’m not trying to composite a bunch of images together - I just want raw video that is using GstVideoTileInfo to describe something that is not a single tile).

The TileInfo is part of GstVideoFormatInfo which is static information around GstVideoFormat. That means your wanted tiling needs to map to a GStreamer format, it’s not a mechanism for arbitrary tiling.

Defining new tiled formats isn’t hard, but it represents a GStreamer core modification that can’t be achieved by plugins.

Most tiling formats have an inner format, like NV12 and a tiling layout. Some of the tiling don’t even align on pixel boundaries, but more of them are. The tile size is much smaller though, there is formats already using 4x4, 64x32, 16x32|16x16 and more. 1024x1024 would be atypical for memory optimization (way larger then typical optimal burst size).

1 Like

Seems obvious now - thanks for the clear explanation.