Architecture - 2.4 English

Video Processing Subsystem Product Guide (PG231)

Document ID
PG231
Release Date
2024-02-21
Version
2.4 English

The subsystem driver provides an easy-to-use, well-defined API to help integrate the subsystem in an application without having to understand the underlying complexity of configuring each and every subcore.

Subsystem driver consists of the following:

  • Subsystem layer: Controls the data/control flow of AXI4-Stream through the processing cores. It uses support functions to examine the input and output stream properties and make appropriate decision to implement the determined use case.
  • Subcore drivers: Every included subcore has a driver associated with it and provides 2 layers of abstraction
    • Layer-1: Implements API's to peek/poke IP registers at HW level.
    • Layer-2: Implements feature set to abstract core functionality.

For example, the color space conversion IP at the core level contains a 3 x 3 coefficient matrix which must be manipulated to do the required conversion, for example RGB to YUV.

  • Layer-1 provides APIs to read/write these 3 x 3 coefficient registers. You are responsible for computing the required coefficient values and program the specific registers.
  • Layer-2 implements the feature set that can be built upon layer-1 and is much easier to use:
    • API to convert RGB to YUV or vice-versa.
    • API to set/get brightness, contrast, saturation, and gain.
    • Auto translation between user setting of 0-100 to IP offered range.

The following figure shows the Video Processing Subsystem architecture.

Figure 1. Subsystem Driver Architecture