Pipelines process data in a series of stages. In a pipeline, the stages can operate simultaneously but they do not process the same data. A pipeline typically has a relatively small number of stages.
An example of a pipeline is a video recorder application that must execute
- Capture image
data from an image sensor and measure light levels.
- Modify the image data to correct for lens effects.
- Modify the contrast, color balance, and exposure
of the image data.
- Compress the image.
- Add the data to the video file.
- Write the video file to storage.
These stages must be executed in order, but they can all execute on data from
different video frames at the same time.
The figure shows parts of a video capture application that can operate
simultaneously as a pipeline.
Figure 2-2 Pipeline processing