The following figure shows the encoding software stack.
Application
Application refers to any OpenMAX based or standalone application that uses the underlying encoder capabilities of the VCU.
Encoder Library
The encoder library provides the entry points for configuring the encoder and sending frames to the encoder.
Encoder Driver
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.
MCU Firmware
The firmware receives control and buffer information through mailbox. Appropriate action is taken and status is communicated back to encoder driver.
Scheduler
The scheduler directs the activity of the hardware, handles interrupts, and manages the multi-channel and multi-slice aspects of the encoding.