This section describes the methods to control an IIDC camera when sending video data, including the way the data is transmitted and the format of the data.
The IIDC Specification defines the general Status and Control Registers for the camera. Some of these registers are used to control the isochronous transmission of video data (offsets 0600h to 061Ch). The camera can either be setup to continuously output video frames, output a single frame, or output several frames.
The camera controller must know the size of the isochronous packets that will be transmitted so that 1394 isochronous bandwidth can be allocated before instructing the camera to output data. In formats 0, 1 and 2 the packet size can be determined based on the mode and frame rate by consulting the appropriate table in the IIDC specification.
The packet size for format 7 can be determined from the format 7 control registers. These registers will also provide the number of bytes per frame and the number of packets per frame. Note that the packet size times the number of packets per frame may be greater than the number of bytes per frame, the extra bytes may be used for padding in the last packet of a frame and should be ignored.
The following list includes standard IIDC registers as well as PixeLINK extended registers:
Status and Control Registers
CUR_V_FRM_RATE
CUR_V_MODE
CUR_V_FORMAT
ISO_SPEED
Feature Status and Control Registers
FRAME_RATE
TRIGGER
Format 7 Registers
IMAGE_SIZE
COLOR_CODING_ID
BYTE_PER_PACKET
Extended Registers
PIXEL ADDRESSING
DESCRIPTOR
When any of these registers are written to, ISO_EN, ONE_SHOT and MULTI_SHOT should all be set to 0. Otherwise the written values will be ignored and an error will be returned.