Video Subsystem Software Guidelines - 1.0 English

AXI4-Stream Video IP and System Design Guide (UG934)

Document ID
UG934
Release Date
2022-11-16
Version
1.0 English

Each video subsystem comprises one or more video pipelines. A video pipeline is any chain of video IP cores that starts from a Video-In or AXI VDMA (MM2S Channel) core and terminates on a Video-Out or AXI VDMA (S2MM channel) core.

Each pipeline must be reset, configured, reconfigured, enabled, or disabled starting from the output (back-end) moving toward the input (front-end). The following is a list of typical video pipeline operations that must be performed from back-end to front-end:

Video pipeline reset: Resetting all cores within a pipeline

Video pipeline configuration: Configuring all cores after reset. Do not Enable the cores during this step

Video pipeline dynamic reconfiguration: Configuring all cores without resetting, such as a frame size change

Video pipeline enable: Enabling all cores within a pipeline

Video pipeline disable: Disabling all cores within a pipeline

In general, to initialize a video pipe, the following operations should be performed in this order:

1. Initialize all video IP drivers.

2. Reset all cores starting from the back-end first, moving forward in the pipe.

3. Configure without enabling all cores starting from the back-end first, moving forward in the pipe.

4. Enable all cores starting from the back-end first, moving forward in the pipe.

Note: Step one only needs to be done once after boot time. Drivers do not need to be reinitialized if the video pipeline needs to be reconfigured.

If a video subsystem contains more than one video pipeline, then each pipeline can be operated upon individually. However, in most applications the input (front-end) pipelines should be operated upon first, before back-end pipelines to avoid invalid data to be processed and/or displayed.

Note: Pipelines are operated upon from front-end to back-end. Cores within a pipeline are operated upon from back-end to front-end.