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 family | Bitstream family name | Default bitstream |
---|---|---|
IMX | tokyo | draco-tokyo |
GSENSE | paris | pisces-paris |
CMOSIS & GMAX | copenhagen | draco-copenhagen |
X-Scan | warsaw | mensa-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
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.
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 name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.00.a | Encoder count reader (resolution 0.25 mm) |
Bilinear Interpolation | axi_fb4_bayer_interpol | 1.00.a | Bayer interpolation (all, red or blue) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Gain Function | axi_fb4_gain_function | 2.00.a | Intensity correction image based on programmable function |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Convolution Matrix | axi_fb4_convolution_matrix | 1.00.a | A kernel, convolution matrix used for blurring, sharpening, embossing, edge detection... |
Format Conversion | axi_fb4_conv | 2.00.a | A format conversion core to RGBA, HSVA and YUVX |
Video Packer | axi_fb4_packer | 4.10.a | Video packer |
Sony IMX990 and IMX420/421
are not supported in apus-tokyo
.
Check corna-tokyo
or draco-tokyo
.
corna-tokyo
IP core name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.10.a | Encoder count reader (resolution 0.25 mm) |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Video Packer | axi_fb4_packer | 4.10.a | Video packer |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
corna-tokyo
supports the Sony IMX990 and the
IMX420/421.
draco-tokyo
IP core name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.10.a | Encoder count reader (resolution 0.25 mm) |
Bilinear Interpolation | axi_fb4_bayer_interpol | 1.00.a | Bayer interpolation (all, red or blue) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Color Conversion Matrix | axi_fb4_colour_conv | 1.00.a | 4x4 (RGBA) CCM for color conversion/correction |
Gain Function | axi_fb4_gain_function | 2.00.a | Intensity correction image based on programmable function |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Image Transformation | axi_fb4_xform | 5.00.a | Image transformation based on input image |
Video Packer | axi_fb4_packer | 4.10.a | Video packer |
Masker | axi_fb4_masker | 1.00.a | Rectangle masking using an specified value |
Image Thinner | axi_fb4_thinner | 1.00.a | Line and column removal |
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 name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.10.a | Encoder count reader (resolution 0.25 mm) |
GSENSE Rolling Shutter Driver | axi_fb4_gsense_if | 2.00.a | GSENSE driver with rolling shutter only (exposure per line) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Video Packer | axi_fb4_packer | 4.10.a | Video packer |
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 name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.10.a | Encoder count reader (resolution 0.25 mm) |
GSENSE Global Shutter Driver | axi_fb4_gsense_if | 1.00.a | GSENSE driver with global shutter (no exposure per line) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Video Packer | axi_fb4_packer | 4.10.a | Video packer |
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 name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.00.a | Encoder count reader (resolution 0.25 mm) |
Bilinear Interpolation | axi_fb4_bayer_interpol | 1.00.a | Bayer interpolation (all, red or blue) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Gain Function | axi_fb4_gain_function | 2.00.a | Intensity correction image based on programmable function |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Video Packer | axi_fb4_packer | 4.10.a | Video packer |
Convolution Matrix | axi_fb4_convolution_matrix | 1.00.a | A kernel, convolution matrix used for blurring, sharpening, embossing, edge detection... |
Format Conversion | axi_fb4_conv | 2.00.a | A format conversion core to RGBA, HSVA and YUVX |
draco-copenhagen
IP core name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.00.a | Encoder count reader (resolution 0.25 mm) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Video Packer | axi_fb4_packer | 4.00.a | Video packer |
Bilinear Interpolation | axi_fb4_bayer_interpol | 1.00.a | Bayer interpolation (all, red or blue) |
Gain Function | axi_fb4_gain_function | 2.00.a | Intensity correction image based on programmable function |
Image Transformation | axi_fb4_xform | 5.00.a | Image transformation based on input image |
Masker | axi_fb4_masker | 1.00.a | Rectangle masking using an specified value |
Image Thinner | axi_fb4_thinner | 1.00.a | Line and column removal |
lyra-copenhagen
IP core name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.00.a | Encoder count reader (resolution 0.25 mm) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Video Packer | axi_fb4_packer | 4.00.a | Video packer |
qtec C-Warsaw
The qtec C-Warsaw Family that supports X-Scan Imaging sensors.
mensa-warsaw
IP core name | IP codename | IP version | IP core description |
---|---|---|---|
Encoder Interface | axi_encoder_if | 1.10.a | Encoder count reader (resolution 0.25 mm) |
White Balance | axi_fb4_white_balance | 4.00.a | White balance correction using simple offset and gain calculation |
Look-Up Table | axi_fb4_lut | 1.00.a | 12-bit conversion through 12-bit Look-Up Table |
Video Packer | axi_fb4_packer | 4.10.a | Video packer |