The Video Codec Unit (VCU) software stack has a layered architecture programmable at several levels of abstraction available to software developers, as shown in the following figure. The application interfaces from high level to low level are:
- OpenMAX Integration Layer
- VCU Control Software
The GStreamer is a cross‑platform open source multimedia framework. GStreamer provides the infrastructure to integrate multiple multimedia components and create pipelines. The GStreamer framework is implemented on the OpenMAX Integration Layer API-supported GStreamer version is 1.14.4.
The OpenMAX Integration Layer API defines a royalty‑free standardized media component interface to enable developers and platform providers to integrate and communicate with multimedia codecs implemented in hardware or software.
The VCU Control Software is the lowest level software visible to VCU application developers. All VCU applications must use an AMD provided VCU Control Software, directly or indirectly. The VCU Control Software includes custom kernel modules, custom user space library, and the ctrlsw_encoder and ctrlsw_decoder applications. The OpenMAX IL (OMX) layer is integrated on top of the VCU Control Software.
User applications can use the layer or layers of the VCU software stack that are most appropriate to their requirements.