I want to decode video streams using the Amphion VPU on the i.MX 8QuadMax.
I do not want to use GStreamer, but instead use the decoding API directly.
According to the i.MX VPU Application Programming Interface Linux Reference Manual, there is the following content:
1.3 Amphion VPU RPC
The Amphion VPU hardware block on the i.MX 8QuadMax and i.MX 8QuadXPlus platforms uses dedicated Arm Cortex-M cores reserved for the VPU hardware decoder and encoder, and is controlled by the firmware running on the Arm Cortex-M cores. All APIs are exported to Arm cores through the RPC protocol, which is implemented through the shared memory and MU interrupt. The kernel VPU driver resides in the folder drivers/media/platform/amphion and shows how to use the RPC interface to the firmware.
All RPC communication protocols are defined through some configuration parameters, commands, and callback events (such as message). Applications on Arm cores are responsible for sending commands to the decoder on the Cortex-M cores, such as start and stop. The decoder sends callback events to respond to the application, such as start done, request frame buffers, and frame ready. All input and output parameters are transferred through the RPC shared memory. The decoder and encoder state machine should be maintained through one event handler implemented on the Arm.
Based on this, it says that the decoder can be controlled via the Amphion VPU RPC protocol.
I would like to know how to use this and if there are examples related to it.
Hello,
Amphion can be used as decoder, but the example NXP use the gstreamer protocol, So far there is no a demo or example to show you.
regards