xref: /OK3568_Linux_fs/external/rockit/README.md (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# README
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun## 前言
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun**概述**
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunRockchip多媒体处理平台(rockit)对外应用接口说明。
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun---
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun## 目录
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun[TOC]
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun---
16*4882a593Smuzhiyun## Rockit对外接口说明
17*4882a593SmuzhiyunRockit对外提供TGI(TaskGraph Interface)和MPI(Media Process Interface)两套接口,用于应用程序开发,两套接口可单独使用,也可结合使用。
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun### TGI
20*4882a593Smuzhiyun- 基于TGI接口可以通过配置文件方式构建应用Pipeline,详见tgi/doc/目录文档说明。
21*4882a593Smuzhiyun- 适用于UVC、UAC等较为固定Pipeline应用场景。
22*4882a593Smuzhiyun- 已应用于RV1109/1126 RK356X UVC、UAC类产品。
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun### MPI
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun- MPI接口是模块化接口,包括VI/VO/VDEC/VENC/VPSS/VGS/TDE/SYS/MB/AI/AO/ADEC/AENC等模块,详见mpi/doc/目录文档说明。
27*4882a593Smuzhiyun- MPI支持单模块使用,也支持多模块组合使用,可采用模块间绑定或者手动取/送流方式,灵活构建应用Pipeline。
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun- 已应用于RV1109/1126 IPC、RK356X NVR类产品,并在后续RK3588等新芯片上持续支持。
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun## Rockit对外接口特点
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun|          | TGI                    | MPI                  |
34*4882a593Smuzhiyun| -------- | ---------------------- | -------------------- |
35*4882a593Smuzhiyun| 灵活性   | Pipeline构建后较为固定 | 灵活,模块可灵活拼接 |
36*4882a593Smuzhiyun| 使用场景 | UVC、UAC               | NVR、IPC             |
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun## Rockit接口编译配置
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunSDK默认仅开启TGI接口头文件、动态库安装,可根据产品应用需求,通过修改external/rockit目录下CMakeLists.txt,将USE_ROCKIT_MPI置为ON,打开MPI接口编译安装。
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun```c
43*4882a593Smuzhiyunoption(USE_ROCKIT_TGI  "enable rockit tgi" ON)
44*4882a593Smuzhiyunif (${USE_ROCKIT_TGI})
45*4882a593Smuzhiyun    message("Build rockit tgi")
46*4882a593Smuzhiyun    add_subdirectory(tgi)
47*4882a593Smuzhiyunendif()
48*4882a593Smuzhiyun
49*4882a593Smuzhiyunoption(USE_ROCKIT_MPI  "enable rockit mpi" OFF)
50*4882a593Smuzhiyunif (${USE_ROCKIT_MPI})
51*4882a593Smuzhiyun    message("Build rockit mpi")
52*4882a593Smuzhiyun    add_subdirectory(mpi)
53*4882a593Smuzhiyunendif()
54*4882a593Smuzhiyun```
55*4882a593Smuzhiyun
56