Skip to main content

Using Zebra GevIQ

To use Zebra GevIQ, you must allocate it as an Aurora Imaging Library GevIQ system (using MsysAlloc with M_SYSTEM_GEVIQ). This allocation opens general communication with (allows you to discover) all GigE Vision-compliant cameras (or other devices) connected to Zebra GevIQ directly or behind a switch. You must then allocate a digitizer for each camera that you want to use to grab images and/or access directly, using MdigAlloc. If you have multiple GigE Vision-compliant interface cameras, you should use the M_GC_CAMERA_ID() macro and specify the device's name; this will make for more portable code. You can use the Aurora Imaging Capture Works utility to view a list of available GigE Vision-compliant cameras and their user-defined name. For information on this utility, refer to Zebra GevIQ utilities and tools. For information regarding working with multiple GigE Vision-compliant devices, refer to Working with one or more GigE Vision-compliant cameras. You can allocate an Aurora Imaging Library GevIQ system for your board in multiple processes (executables).

Note: Note that you must only allocate an M_SYSTEM_GEVIQ system per Zebra GevIQ board and not for each SFP transceiver per board.

Zebra GevIQ is a network adapter that supports digital video sources compliant with the GigE Vision 2.2 standard. Zebra GevIQ can grab monochrome, RGB color, and Bayer color-encoded data. The board can also perform pixel unpacking, image sub-sampling, and color-conversion. Depending on how your video sources are configured/connected to your Zebra GevIQ (for example, using a switch), an SFP connector could have multiple offloaded stream channels behind it. For information regarding working with multiple GigE Vision-compliant devices using a switch, refer to Using a Gbit Ethernet switch with GigE Vision-compliant cameras.

Grabbing and the Aurora Imaging Library buffer formats to use for each camera pixel format

The following table outlines which Aurora Imaging Library buffer format to use with each supported camera pixel format. Note that these are the officially supported camera pixel formats.

Camera pixel format1Aurora Imaging Library buffer format (type and attribute)Operation
Mono8, Mono10, Mono12, Mono14, Mono16, Mono321-band 8-bit, 1-band 16-bit, 1-band 32-bit, 3-band 8-bit2, 3-band 16-bit3Data will automatically be bit-shifted to have most-significant bits (MSB) in destination buffer
BayerXX8, BayerXX10, BayerXX12, BayerXX14, BayerXX16 where XX = GR, GB, BG or RG1-band 8-bit, 1-band 16-bitDemosaicing followed by RGB to Y (bit shift for MSB)
3-band 8-bit, 3-band 16-bitDemosaicing (bit shift for MSB)
3-band YUV16 + M_PACKEDDemosaicing followed by RGB to YUV
RGB8, RGBA8,1-band 8-bitRGB to Y
3-band 8-bitDirect copy
3-band YUV16 + M_PACKEDRGB to YUV
RGB10, RGBA10, RGB12, RGBA12, RGB14, RGBA14, RGB16, RGBA161-band 8-bitRGB to Y (bit shift for MSB)
1-band 16-bitRGB to Y
3-band 16-bit M_PLANARPacked destination buffers are not supported
YUV422_8, YCbCr601_422_8, YCbCr709_422_81-band 8-bitOnly Y band
3-band YUV16 + M_PACKEDDirect copy

Note: Note that for Zebra GevIQ, allocating a buffer with M_GRAB will force the buffer in pageable memory (M_PAGED) by default.

Performing Bayer color conversion in hardware

When Zebra GevIQ grabs color images from a video source with a Bayer color filter, it performs Bayer color conversion in hardware, as it transfers the images to the Host. If the images require white balancing, Zebra GevIQ can perform this automatically if white balancing is enabled using MdigControl with M_WHITE_BALANCE set to M_ENABLE. If performing white balancing, you can use the default white balance coefficients, automatically have them calculated (using MdigControl with M_WHITE_BALANCE set to M_CALCULATE), or set explicit coefficients (M_BAYER_COEFFICIENTS_ID). For information on Bayer color conversion, refer to Using images acquired with a Bayer color filter.

If you don't want to perform Bayer color conversion in hardware, disable it using MdigControl with M_BAYER_CONVERSION set to M_DISABLE.

The M_BAYER... control types of MdigControl can only be used when grabbing from a camera that has a Bayer color filter; otherwise, an error will be generated.

Footnotes

  1. All of the values available for RGB are also available in BGR format.

  2. 3-band 8-bit buffers can be in any of the following formats: M_RGB24+ M_PLANAR, M_RGB24 + M_PACKED, M_BGR24 +M_PACKED, or M_BGR32 + M_PACKED.

  3. 3-band 16-bit buffers can be in either an M_RGB48+ M_PLANAR or M_RGB48 + M_PACKED format.

Copyright © 2026 Zebra Technologies.