The following figure shows the decoder software stack.
The application can either be test pattern generator or an OpenMAX-based application that uses the VCU decoder.
The decoder library enables applications to communicate with the MCU firmware through the decoder driver.
The decoder driver passes control information as well as buffer pointers of the video to the MCU firmware. The decoder driver uses a mailbox communication technique to pass this information to the MCU firmware.
The firmware receives control and buffer information through mailbox. Appropriate action is taken and status is communicated back to decoder driver.
The scheduler, which is part of MCU firmware, programs the hardware IP, handles interrupts and manages the multi-channel and multi-slice aspects of the decoding.