HP SVA V2.0 Parallel Compositing Reference Guide

hostName
This is an ASCII name that is usually associated with the system where the host
executes. For the HP Library, the value of the environment variable $HOSTNAME
is used to name a system.
hostId
If an application uses more than one thread of execution running on a given system,
the program must distinguish those hosts using the hostId. HostIds are integers.
Typically the threads of execution are numbered 0..n. However, the only
requirement of the Library is that multiple hosts have unique HostIds if they are
part of the same context and running on the same system.
1.3.5 Context
A context is a Library entity that connects all the hosts that work together to produce a sequence
of images. Once a program creates a session, it can create as many hosts as it needs. The hosts
that produce or consume a sequence of frames create a context. The context helps the hosts
coordinate the creation and consumption of the sequence of frames.
The context holds the shared state among the hosts. This includes the size of the frame being
produced and whether the frame is ready to be consumed or not.
A session can have one or more contexts based on the needs of the application. A specific host
can be a member of one or more contexts. See Section 2.4 for more details.
1.3.6 Frame
A frame is a rectangular area of pixels produced and consumed by the hosts in a context. The
size of the frame and the data maintained for each pixel is documented in the context. The size
of the frame can change; however, it needs to change in a coordinated way that is understood
by all the hosts. The Library provides functions to coordinate these changes as described in
Section 2.6.
The data maintained for each pixel in a frame varies based on the type of pixels being used and
the operator used to combine the pixels. The Library exposes this data through the pixel format
property of the context. An application can describe the format of the pixels it wants to composite.
The format describes the pixels that a program gives to and receive from the Library. RGBA
(byte of red color, byte of green color, byte of blue, byte of alpha) is an example for a pixel format.
1.3.7 Framelet
A framelet is a sub-rectangle of a frame. Because the Library supports a Sort-last rendering model,
typically a frame is produced by compositing a set of pieces. Each of these pieces is called a
framelet. A host can contribute 0 or more framelets to a frame. At the start of the production of
a frame, the host declares the dimensions, location on the frame, and number of the framelets it
contributes.
1.3.8 Output
An output is a subrectangle of a frame that a host needs to retrieve once the frame has been
produced. A host declares at most one output that it needs to retrieve. The dimension and location
of this output on the frame are stored in the context. Two different hosts can declare the same
or different outputs.
1.3.9 Result
A result is a sub-rectangle of an output. The host can retrieve its output either as a whole or in
pieces. Each rectangle of pixels retrieved from the output is called a result. Based on the specific
operator being used, a result has one or more channels of data. For example, a result associated
with the depth operator has two channels:
Color channel: composited pixels.
Depth channel: corresponding depth value of each pixel.
1.3 Library Entities 13