All PixeLINK cameras support a 10-bit Lookup Table.
The Lookup Table (LUT) typically has a number (typically 1024) of 2-byte entries that range in value from 0 to 1023 (10-bit depth). The LUT is used to implement the IIDC Gamma feature but it can also be used to implement any LUT transfer function required.
The LUT is written to camera memory as a block of 1024 words at the address specified by the Lookup Table Offset register, starting with Word 0 (Black).
When the LUT or Gamma function is active (ON), every pixel is converted according to the transfer function stored in the LUT. With both functions off, the LUT is bypassed and a linear transfer function is used.
Since both Gamma and the LUT use the same camera memory, whichever function was last turned on will control the memory and the other function will be turned off. Turning on the Gamma function will overwrite the LUT with the appropriate gamma values.
Turning on the LUT will disable Gamma but will leave the camera memory unchanged. If the LUT is turned off, the LUT values will be retained in camera memory and will be applied again once the LUT is turned on.
If the bit-depth of the camera is greater than that of the LUT, the LUT output will be linearly interpolated.
PxLGetFeature, PxLSetFeature
|
Feature ID |
Number of Parms |
Parameters |
Units |
Restrictions |
|
FEATURE_LOOKUP_TABLE Lookup table control |
1 |
fValue[MAX] |
N/A |
Integer only |
|
|
|
Note |
When using the PixeLINK API to access the Lookup Table feature it behaves differently than all other features. When querying the supported features of the camera using PxLGetCameraFeatures it will return that FEATURE_LOOKUP_TABLE only has one parameter. The min and max value of this parameter will be 0 and the maximum number of entries respectively. When getting or setting the value of the lookup table using PxLGetFeature or PxLSetFeature the number of parameters should be set to the maximum number of entries and each parameter represents an entry in the lookup table. |
|
|
|
Note |
The stream state must be off (STREAM_OFF) to modify this feature. See PxLSetStreamState. For IIDC programmers, see Transmitting Video. |
|
Camera |
Presence |
Read Only |
Auto |
Manual |
One-time Auto |
Off |
CiD |
|
All cameras |
Yes |
No |
No |
Yes |
No |
Yes |
No |
|
Camera |
Parameter |
Unit |
Type |
Min |
Max |
Default |
Step Size |
Comments |
|
All cameras |
LUT |
None |
Absolute |
0 |
1024 |
N/A |
1 |
|
Information in this section is based on the IIDC 1.31 specification. Please refer to the IIDC 1.31 specification for details on the meanings and use of CSRs.
The following table describes the Advanced Feature CSRs that are allowed under the IIDC V1.31 specification as vendor specific. These CSRs are based at an offset found in the Advanced Feature Offset value (register 0x480).
This table is common for all IIDC compliant PixeLINK cameras. See the full table in the IIDC Overview - Advanced CSRs topic.
|
Offset |
Name |
Field |
Bit |
Description |
|
ADVANCED FEATURE INQUIRY REGISTERS (READ ONLY) |
||||
|
140h |
Lookup Tables Inquiry |
Presence_Inq |
[0] |
Presence of this feature |
|
In_Desc_Inq |
[1] |
Can this feature have different values in different descriptors 1 = Yes, 0 = No | ||
|
|
[2..7] |
Reserved | ||
|
Bit_Depth |
[8..15] |
Bit depth of an entry in the lookup table | ||
|
Number |
[16..31] |
Number of entries in the lookup table | ||
|
144h |
Look Up Table |
Offset |
[0..31] |
Quadlet offset of the first entry in the lookup table. Each entry occupies a whole number of bytes (e.g. a 10bit entry occupies 2 bytes). The table must be written to in order, starting from byte 0. |
|
ADVANCED FEATURE CONTROL REGISTERS |
||||
|
214h |
Look Up Table |
On_Off |
[0] |
Lookup Table On/Off 1 = On, 0 = Off |
|
|
[1..31] |
Reserved | ||