【06 Plugin】

时间:2022-01-02 01:18:53

HAL3主要的客制化位置是SettingPolicy(请参考02 Pipeline — 04 SettingPolicy的内容)以及PipelinePlugin,本节会主要介绍PipelinePlugin。

1. PipelinePlugin Overview

PipelinePlugin是HAL3统一的三方算法挂载界面,无论是Streaming/Capture/DualCam,还是RAW/YUV算法,都是在PipelinePlugin里面挂载并运行。

PipelinePlugin主要有2个部分:

IInterface部分:提供三方算法的接入,会用selection详细描述可以提供的buffer & metadata形式;

IProvider部分:提供三方算法的挂载(将三方算法能力提供出来),同样也会用selection来声明可以使用什么buffer & metadata形式;

举例如下:

【06 Plugin】

其中REGISTER_PLUGIN_INTERFACE与REGISTER_PLUGIN_PROVIDER分别为IInterface与IProvider注册。

2. PipelinePlugin ClassDiagram