Configuration Files for Profile Protocol
Profile Protocol implements Named Configuration Space (NCS) as a
mechanism to ease Profile configuration. Using NCS, an application
can send one command, Open Port (10.01), with a parameter
specifying a configuration file to use, and the Profile will handle
all the resource allocation and crosspoints specified in the
configuration file. This frees the application from the task of
allocating resources manually, but it does require proper
understanding of the configuration files. This application note
explains the format of the configuration files.
Overview of Configuration Files
Configuration files are simple text files, containing three
types of lines. The lines are parsed on a column basis as
follows:
Both resource allocation lines and crosspoint lines share a
similar format:
xx-yy[,][func1][func2]
NOTE: Although resource and crosspoint lines look
similar, they have very different meanings. This is a frequent
source of confusion and error. Make sure whether you are editing a
resource line or a crosspoint line!
Resource Lines
Resource lines allocate a resource for use by a port.
Below is the column by column layout of resource lines:
column 1-2 resource type
Must be one of the following:
column 3 separator (-)
column 4-5 resource number
This specifies which resource of the specified type is desired. Resources of a given type are numbered starting at 0. Thus, to select the 3rd timecode recorder, specify '02' in columns 4-5.
For inputs and outputs spread across multiple cards, you need to know Profile's scanning convention. Devices are scanned along the Profile EISA bus starting at slot 0. Viewed from the back of the Profile, numbering will rise from right to left. Thus, in a Profile with 2 Serial Digital I/O cards, video input '00' will represent the upper BNC on the rightmost Serial Digital card, while video input '03' will represent the 2nd BNC connector on the leftmost Serial Digital card.
In Profiles with a mix of video I/O cards, you will need to be aware of the following scanning orders. For video:
This means that in a Profile with 2 Serial Digital Component cards and 1 Analog Composite Input card, the Serial Digital inputs will be numbered '00'-'03' and the Composite input will be numberd '04', regardless of where the Composite card is placed.
column 6 optional separator (,)
This is mandatory if column 7 is meaningful, optional otherwise.
column 7 optional parameters
For inputs, this must be an S (for Shareable). In addition, certain resources may specify additional parameters, starting in column 7. These parameters are read and assigned in the order given below.
goalsize(bytes/field), minimum luminance Q, maximum luminance Q, minimum chrominance Q, and maximum chrominance Q.
input level, output level, window size
timecode format, timecode mode, time to seed, user bits to
seed.
The last thing to note about the resource allocation lines is
that each line is assigned an index number in sequential
order independent of comment lines or crosspoint lines. Thus, the
first resource line found in an NCS file is assigned index number
1, the second is assigned index number 2, etc. These index numbers
may be used by the crosspoint lines, to which we now turn.
Crosspoint lines
Crosspoint lines assign default and scheduled crosspoints
between resources. A basic understanding of these events is
included below. For a more detailed discussion of default and
scheduled crosspoint events, see the Profile SDK User's
Manual.
Below is the column by column layout of crosspoint lines:
column 1-2 source index number
column 3 separator (-)
column 4-5 destination index number
column 6 separator (,)
column 7 crosspoint indicator ('C' or 'c')
column 8 'D' or 'S' for default or schedule crosspoints
Scheduled crosspoint connections take precedence during playback, default crosspoints take effect at all other times (or in the absence of scheduled crosspoints). Typically, scheduled and default crosspoints are used in sets of three to define playback and E-to-E modes, as follows:
See the sample configuration file below for examples of the
above.
Also, note that under the PDR100 audio architecture, there are
no audio crosspoints; typically, a configuration file will only
have crosspoint lines for video and timecode.
Sample Configuration File
02-00,S // index 1 - video input 0 shared
03-00 // index 2 - video output 0
01-00 100000 // index 3 - video codec 0 at 100KB
01-02,CD // Default connect video input->video output)
01-03,CD // Default connect video input->video codec
03-02,CS // Schedule connect video
codec->video output
// now do the audio connections
1-4
00-00 // index 4 - audio codecs
00-01 // index 5 - audio codecs
00-02 // index 6 - audio codecs
00-03 // index 7 - audio codecs
10-00 // index 8 - audio outputs 1- 4
10-01 // index 9
10-02 // index 10
10-03 // index 11
// now do the LTC to recorder 1
04-00,S // index 12 - LTC input
07-00 // index 13 - LTC output
09-00 // index 14 - tcRecorder
12-13,CD
12-14,CD
14-13,CS
[an error occurred while processing this directive]