The following figure shows the encoding software stack.
Application refers to any OpenMAX based or standalone application that uses the underlying encoder capabilities of the VCU.
The encoder library provides the entry points for configuring the encoder and sending frames to the encoder.
The encoder driver passes control information and buffer pointers of the video bit stream on which VCU encoder has to operate to the MCU firmware. The encoder driver uses mailbox communication technique to pass this information to MCU firmware.
The firmware receives control and buffer information through mailbox. Appropriate action is taken and status is communicated back to encoder driver.
The scheduler directs the activity of the hardware, handles interrupts, and manages the multi-channel and multi-slice aspects of the encoding.