MPI 接口使用的主要数据结构:
瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的
通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理,其目的是为了屏蔽不
同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写 MPI)
- MppMem 为 C 库 malloc 内存的封装。
- MppBuffer 为硬件用的 dmabuf 内存的封装。
- MppPacket 为一维缓存封装,可以从 MppMem 和 MppBuffer 生成,主要用于表示码流数据。
- MppFrame 为二维帧数据封装,可以从 MppMem 和 MppBuffer 生成,主要用于表示图像数据。
使用 MppPacket 和 MppFrame 就可以简单有效的完成一般的视频编解码工作。
以视频解码为例,码流输入端把地址和大小赋值给 MppPacket,通过 put_packet 接口输入,在输出
端通过 get_frame 接口得到输入图像 MppFrame,即可完成最简单的视频解码过程。 - MppMeta 和 MppTask 为输入输出用任务的高级组合接口,可以支持指定输入输出方式等复杂使用方
式,较少使用
这些接口都是使用void *句柄来进行引用。