This feature enables bit packing on transport data layer - USB3, USB 2.0, PCIe, Thunderbolt.
Transport data packing removes unused zero bits which might increase the maximum frame rate.
List of camera families supporting the Transport Data Packing:
camera families |
xiMU |
xiQ except of models: MQ013xG-E2 |
xiC |
xiB |
xiT |
xiX |
Example: Without data packing each 10 bit pixel is transported in two bytes (16bits).
When Transport Data Packing is enabled the bits from multiple pixels are grouped in multiple bytes.
On xiQ cameras: 16 pixels x 10 bits = 160 bits are grouped in 20 bytes.
This uses only 60% of the unpacked data amount (160 bits instead of 256bits).
Camera model | MQ022xG-CM | MQ022XG-CM |
Packing | enabled | disabled |
Measured FPS | 133.9 | 84.6 |
Camera model | MQ042xG-CM | MQ042XG-CM |
Packing | enabled | disabled |
Measured FPS | 71.4 | 45.1 |
Feature related parameters |
XI_PRM_IMAGE_DATA_FORMAT = XI_RAW16 |
XI_PRM_OUTPUT_DATA_BIT_DEPTH = 10 |
XI_PRM_OUTPUT_DATA_PACKING = 1 |
NOTE: Order of parameters setting is mandatory
// set trigger source
// set API image data format
xiSetParamInt(h,XI_PRM_IMAGE_DATA_FORMAT, XI_RAW16);
// set 10 bit transport data width
xiSetParamInt(h,XI_PRM_OUTPUT_DATA_BIT_DEPTH, 10);
// enable packing
xiSetParamInt(h,XI_PRM_OUTPUT_DATA_PACKING, XI_ON);
// start acquisition
xiStartAcquisition(h);