VPU和主机进行交互主要是通过Host interface register
VPU处理视频数据是 以frame为单位,这样对主机的依赖很小,减轻主机的负担。
主机端可以处理下一帧数据直到收到来自VPU处理完上一帧数据的中断。
VPU里有35KB的缓冲区。
VPU动态的调用不同编码的固件到编码区,所以使编码区大小变小。
VPU支持多路处理,内部处理器使用内部的上下文参数集来对应每一个编码实例。因为有这个内部的上下文管理策略,主机端的多个不同的解码任务就可以独立的控制VPU通过它们自己在VPU上实例化的ID,当要关闭一个解码的任务在VPU上的时候,也变得简单了。
VPU 通过一个共享内存来和主机进行数据交互,这块空间可以通过ABMA主机总线访问。数据流和帧流都是通过这段共享内存来交换。
所有的传输,例如像素数据和流数据会通过ddr上的共享内存来实现在主机端和VPU端传输。另外在传输的过程中需要一个读指针和写指针;