Skip to main content

Bitstreams

The bitstreams available for the qtec C-Series platform.

Selecting bitstream

The camera will by default select a suitable bitstream for the sensor that it has detected, the defaults are as follows:

Sensor familyBitstream family nameDefault bitstream
IMXtokyodraco-tokyo
GSENSEparispisces-paris
CMOSIS & GMAXcopenhagendraco-copenhagen
X-Scanwarsawmensa-warsaw

It is possible to make the camera use a different bitstream than the default if for example a desired feature is not present on the default bitstream, but is instead present in a different bitstream of the same sensor family. Refer to the bitstream feature specification list further down in order to see which IP cores are supported in each bitstream.

In order to use a different bitstream for a sensor it is necessary to create two symbolic links (one for the .kbpi file and one for the .dtb file). The symbolic links have to be named <bitstream_family>-default.<kbpi or dtb> and point to the desired bitstream files.

cd /lib/firmware/qtec
ln -s <desired_bitstream>.kbpi <bitstream_family>-default.kbpi
ln -s <desired_bitstream>.dtb <bitstream_family>-default.dtb
warning

If the .dtb and .kbpi are not symlinked to the same bitstream (e.g. draco-tokyo) then it can result in undefined behavior. And if the symlinks point to an incompatible bitstream (from a wrong sensor family) then it will refuse to load, meaning it will not try to use the overall default bitstream.

info

The former mechanism of setting the desired bitstream through the usage of the bsname kernel parameter is still supported but is deprecated and will be removed soon.

Currently the usage of the bsname kernel parameter still overrules any symlink references.

Example

The default bitstream for the GSENSE2020 is pisces-paris which supports only rolling shutter. But a specific application requires global shutter which is only supported in the capricorn-paris bitstream.

In order to make the camera load this bitstream instead of the default one it is necessary to go into the folder with all the bitstreams (/lib/firmware/qtec/) and create a symbolic link (symlink) from capricorn-paris to paris-default for both the .dtb and .kbpi files:

cd /lib/firmware/qtec
ln -s capricorn-paris.kbpi paris-default.kbpi
ln -s capricorn-paris.dtb paris-default.dtb

Multiple heads

If you have multiple heads/sensors of the same family and want one or more to have a different bitstream from the rest you can also specify the PCI slot for the bitstream by prefixing it like this: <PCI_slot>-<bitstream_family>-default.

For example 01:00-paris-default if the bitstream should only apply to the head/sensor at PCI slot 01:00.

qtec C-Tokyo

The qtec C-Tokyo Family supports Sony IMX sensors.

apus-tokyo

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.00.aEncoder count reader (resolution 0.25 mm)
Bilinear Interpolationaxi_fb4_bayer_interpol1.00.aBayer interpolation (all, red or blue)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Gain Functionaxi_fb4_gain_function2.00.aIntensity correction image based on programmable function
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Convolution Matrixaxi_fb4_convolution_matrix1.00.aA kernel, convolution matrix used for blurring, sharpening, embossing, edge detection...
Format Conversionaxi_fb4_conv2.00.aA format conversion core to RGBA, HSVA and YUVX
Video Packeraxi_fb4_packer4.10.aVideo packer
caution

Sony IMX990 and IMX420/421 are not supported in apus-tokyo. Check corna-tokyo or draco-tokyo.

corna-tokyo

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.10.aEncoder count reader (resolution 0.25 mm)
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Video Packeraxi_fb4_packer4.10.aVideo packer
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
note

corna-tokyo supports the Sony IMX990 and the IMX420/421.

draco-tokyo

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.10.aEncoder count reader (resolution 0.25 mm)
Bilinear Interpolationaxi_fb4_bayer_interpol1.00.aBayer interpolation (all, red or blue)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Color Conversion Matrixaxi_fb4_colour_conv1.00.a4x4 (RGBA) CCM for color conversion/correction
Gain Functionaxi_fb4_gain_function2.00.aIntensity correction image based on programmable function
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Image Transformationaxi_fb4_xform5.00.aImage transformation based on input image
Video Packeraxi_fb4_packer4.10.aVideo packer
Maskeraxi_fb4_masker1.00.aRectangle masking using an specified value
Image Thinneraxi_fb4_thinner1.00.aLine and column removal
note

draco-tokyo supports the Sony IMX990 and the IMX420/421.

qtec C-Paris

The qtec C-Paris Family supports Gpixel GSENSE sensors.

pisces-paris

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.10.aEncoder count reader (resolution 0.25 mm)
GSENSE Rolling Shutter Driveraxi_fb4_gsense_if2.00.aGSENSE driver with rolling shutter only (exposure per line)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Video Packeraxi_fb4_packer4.10.aVideo packer
info

pisces-paris supports only the rolling shutter mode (no global shutter).

The exposure time is controlled per line in this mode. See the line exposure examples under the GSENSE sensor guide.

capricorn-paris

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.10.aEncoder count reader (resolution 0.25 mm)
GSENSE Global Shutter Driveraxi_fb4_gsense_if1.00.aGSENSE driver with global shutter (no exposure per line)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Video Packeraxi_fb4_packer4.10.aVideo packer
info

capricorn-paris supports global shutter mode.

However it does not support the exposure time per line functionality. Use pisces-paris (rolling shutter) if exposure time per line is desired.

qtec C-Copenhagen

The qtec C-Copenhagen Family supports ams CMOSIS and Gpixel GMAX sensors.

cygnus-copenhagen

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.00.aEncoder count reader (resolution 0.25 mm)
Bilinear Interpolationaxi_fb4_bayer_interpol1.00.aBayer interpolation (all, red or blue)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Gain Functionaxi_fb4_gain_function2.00.aIntensity correction image based on programmable function
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Video Packeraxi_fb4_packer4.10.aVideo packer
Convolution Matrixaxi_fb4_convolution_matrix1.00.aA kernel, convolution matrix used for blurring, sharpening, embossing, edge detection...
Format Conversionaxi_fb4_conv2.00.aA format conversion core to RGBA, HSVA and YUVX

draco-copenhagen

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.00.aEncoder count reader (resolution 0.25 mm)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Video Packeraxi_fb4_packer4.00.aVideo packer
Bilinear Interpolationaxi_fb4_bayer_interpol1.00.aBayer interpolation (all, red or blue)
Gain Functionaxi_fb4_gain_function2.00.aIntensity correction image based on programmable function
Image Transformationaxi_fb4_xform5.00.aImage transformation based on input image
Maskeraxi_fb4_masker1.00.aRectangle masking using an specified value
Image Thinneraxi_fb4_thinner1.00.aLine and column removal

lyra-copenhagen

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.00.aEncoder count reader (resolution 0.25 mm)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Video Packeraxi_fb4_packer4.00.aVideo packer

qtec C-Warsaw

The qtec C-Warsaw Family that supports X-Scan Imaging sensors.

mensa-warsaw

IP core nameIP codenameIP versionIP core description
Encoder Interfaceaxi_encoder_if1.10.aEncoder count reader (resolution 0.25 mm)
White Balanceaxi_fb4_white_balance4.00.aWhite balance correction using simple offset and gain calculation
Look-Up Tableaxi_fb4_lut1.00.a12-bit conversion through 12-bit Look-Up Table
Video Packeraxi_fb4_packer4.10.aVideo packer