GStreamer uses OpenMax-IL to control the VCU2 software.
See GStreamer Pipelines for more examples using gst-launch-1.0.
The following table shows the video/x-raw formats as used on a gst-launch-1.0 command line, and the related FourCC codes to
properly describe pixel format. Note the GStreamer convention is to use lower case letters and
- instead of _. However GStreamer element videotestsrc seems
to use upper case and _ instead (so P010_10LE instead of
p010-10le) while rawvideoparse does the opposite.
Element videotestsrc supports these formats in software. Use gst-inspect-1.0 videotestsrc to list them. If garbled characters
are shown, add the --no-colors option or set GST_INSPECT_NO_COLORS to any value. An example:
gst-launch-1.0 videotestsrc num-buffers=2 ! "video/x-raw,width=1920,height=1080,format=P010_10LE" ! filesink location=out.yuv
Table 1 shows the properties that
are supported by the omxh264enc (AVC) and/or omxh265enc (HEVC) GStreamer elements. Use gst-inspect-1.0 omxh264enc or gst-inspect-1.0 omxh265enc to list them. An example:
gst-launch-1.0 filesrc location=in.yuv ! rawvideoparse format=p212-12le width=1280 height=720 framerate=30/1 ! omxh265enc target-bitrate=6000 ! filesink location=out.265
See GStreamer Pipelines for more examples using gst-launch-1.0.
| GST format | FourCC | Description |
|---|---|---|
| gray8, gray-10-le, gray-12-le | Y800, Y010, Y012 | Y 400 single plane (monochrome), 8 or 16 bpp |
| nv12, p010-10le, p012-le | NV12, P010, P012 | YUV 420 semi-planar, 8 or 16 bpp |
| nv16, p210-10le, p212-12le | NV16, P210, P212 | YUV 422 semi-planar, 8 or 16 bpp |
| y444, y444-10le, y444-12le, y444-12be | I444, I4AL, I4CL, I4AM | YUV 444 planar, 8 or 16 bpp Note: y444-12
be has 12 bits in the most significant bits
|
| t548, t54a, t54c | T548, T54A, T54C | Planar YUV 444, 32x4 tiles, 8, 10, or 12 bpp |
| t528, t52a, t52c | T528, T52A, T52C | Semi-planar YUV 422, 32x4 tiles, 8, 10, or 12 bpp |
| t508, t50a, t50c | T508, T50A, T50C | Semi-planar YUV 420, 32x4 tiles, 8, 10, or 12 bpp |
| t5m8, t5ma, t5mc | T5M8, T5MA, T5MC | Single plane Y 400, 32x4 tiles, 8, 10, or 12 bpp |
| t648, t64a, t64c | T648, T64A, T64C | Planar YUV 444, 64x4 tiles, 8, 10, or 12 bpp |
| t628, t62a, t62c | T628, T62A, T62C | Semi-planar YUV 422, 64x4 tiles, 8, 10, or 12 bpp |
| t608, t60a, t60c | T608, T60A, T60C | Semi-planar YUV 420, 64x4 tiles, 8, 10, or 12 bpp |
| t6m8, t6ma, t6mc | T6M8, T6MA, T6MC | Single plane Y 400, 64x4 tiles, 8, 10, or 12 bpp |
The following table shows the GStreamer and V4L2 related formats that are supported. For example, when a V4L2 capture component is connected to an encoder input, V4L2 formats need to match. The FourCC codes may differ between this two.
| Pixel Format | FourCC | V4L2 | GStreamer |
|---|---|---|---|
| YUV 420 8-bit | NV12 | V4L2_PIX_FMT_NV12 | GST_VIDEO_FORMAT_NV12 |
| YUV 420 10-bit | P010 | V4L2_PIX_FMT_P010 | GST_VIDEO_FORMAT_P010_10LE |
| YUV 420 12-bit | P012 | V4L2_PIX_FMT_P012 | GST_VIDEO_FORMAT_P012_LE |
| YUV 422 8-bit | NV16 | V4L2_PIX_FMT_NV16 | GST_VIDEO_FORMAT_NV16 |
| YUV 422 10-bit | P210 | V4L2_PIX_FMT_P210 | GST_VIDEO_FORMAT_P210_10LE |
| YUV 422 12-bit | P212 | V4L2_PIX_FMT_P212 | GST_VIDEO_FORMAT_P212_12LE |
| YUV 444 8-bit | 444P | V4L2_PIX_FMT_YUV444P | GST_VIDEO_FORMAT_Y444 |
| YUV 444 10-bit | I4AL | V4L2_PIX_FMT_I4AL | GST_VIDEO_FORMAT_Y444_12LE |
| YUV 444 12-bit | I4CL | V4L2_PIX_FMT_I4CL | GST_VIDEO_FORMAT_Y444_12LE |