Some PGR Imaging Products allow users to embed frame-specific information into the first several pixels of the image by writing the FRAME_INFO register 12F8h. For an exact list of cameras that support this feature, consult the PGR IEEE-1394 Digital Camera Register Reference, which can be downloaded here.
The FRAME_INFO register allows the user to control the types of frame-specific information that is embedded into the first several pixels of the image. For example, the latest PGR Flea firmware allows the following types of information to be embedded:
- 1394 Cycle Time
- White Balance
- Frame Counter
- Strobe Pattern Counter
- GPIO Pin State
The first byte of embedded image data starts at pixel 0,0 (column 0, row 0) and continues in the first row of the image data i.e. (1,0), (2,0), etc. Users using color cameras that do Bayer color processing on the PC must extract the value from the non-color processed image in order for the data to be valid.
Each piece of information takes up 1 quadlet (4 bytes) of the image. When the camera is operating in Y8 (8bits/pixel) mode, this is therefore 4 pixels worth of data. The types of information that can be embedded (e.g. image timestamp, camera shutter and gain settings, etc.) vary between models.
Insertion of each quadlet is controlled by a bit in this register. Because it is a bit field, setting bit 31 to ‘1’ turns on the Timestamp, bit 30 controls Gain, etc. For black and white cameras, white balance is still included, but no valid data is provided.
In the Flea example above, a write of 800001FFh to this register would turn on all possible options. Therefore, the first 9 quadlets (36 bytes) of image data would contain camera information, in the following format:
image.pData = first byte of Timestamp data
image.pData = first byte of Gain data
image.pData = first byte of Frame Counter data
If you just turned on Shutter (0x12F8 = 0x80000004), then the first 4 bytes of the image would contain Shutter information for that image. Similarly, if you just turned on Brightness, the first 4 bytes would contain Brightness information.