高通 Camera HAL3:添加一条PipeLine

news/2024/10/27 22:25:28/

一.概述

添加一条PipeLine实现两路Raw进,一路Raw出

二.简介

要添加的PipeLine:SWMFMergeRawTwo2One

  • 包含1个memcpy node,
  • 这个node用于将2个raw buffer input输入 变为 1个raw buffer output输出

三.添加 

3.1 在相应的Usecase下添加一个pipeline xml

vendor\qcom\proprietary\chi-cdk\oem\qcom\topology\usecase\components\usecases\UsecaseZSL\pipelines\
目录下放置pipline文件:camxSWMFMergeRawTwo2One.xml

3.2 填充pipline xml文件

填充camxSWMFMergeRawTwo2One.xml

  • (1).SWMFMergeRawTwo2One //PipelineName 是唯一的
  • (2).在NodesList里链接所有需要链接的Node //List all nodes required by the pipeline in

3.3 修改NodesList:

 

  • NodeId:外部定制的Node使用 NodeId 255 (例如自己加的算法Node)
  • NodePropertyId:1是定制的Lib
  • NodePropertyValue:填入chi node lib name

关于 NodeProperty 的相关定义可以在 vendor\qcom\proprietary\chi-cdk\api\common\chi.h 中查到

3.4 修改PortLinkages

PortLinkages:input target,chi/camx Node 和 output target 的链接链表

  • SourceBuffer:NodeId 4
  • SinkBuffer:NodeId 2

所有软件softeware和硬件hardware NodeId的定义可以在 vendor\qcom\proprietary\camx\src\core\Camxhwdefs.h文件中查阅到

Source Target:

  • TARGET_BUFFER_RAW_IN0
  • TARGET_BUFFER_RAW_IN1

需要被填写不同的 NodeInstanceId 

3.5 CamxInclude添加对 pipeline 的引用

在相应的Usecase xml文件中,使用CamxInclude添加对 pipeline 的引用

vendor\qcom\proprietary\chi-cdk\oem\qcom\topology\usecase\components\usecases\usecasezsl\camxUsecaseZSL.xml

3.6 为pipeline添加一个新的target(TARGET_BUFFER_RAW_OUT2)

在camxUsecaseZSL.xml中为 pipeline 添加一个新的 target 定义

3.7 更新vendor\qcom\proprietary\chi\cdk\core\chifeature2\Chifeature2utils.h 文件中的 TargetStreamMap

3.8 为ChiUseCase添加pipeline Id

这个pipeline Id必须和pipeline name一致

\chi-cdk\core\chiusecase\chxadvancedcamerausecase.cpp

3.9 对pipeline id进行添加 

3.10 添加pipeline type

添加pipeline type:\chi-cdk\core\chiframework\chxfeature.h

四.使用

4.1 在Feature2架构的Feature中使用pipeline

在ChiFeature2PipelineDescriptor数组中添加 pipeline

feature target descriptor的target name 必须和pipeline xml文件中的target name保持一致

五.结束


http://www.ppmy.cn/news/216198.html

相关文章

ThinkPad E540入手记

E540入手一周,买的型号是:20C60019CD 先上几张图: 买回来自带的是Linux系统,不用多说,干掉,换成Windows,以下是步骤 1、 准备一个U盘启动盘,可以随意选择,我用的是老毛桃…

6. JVM调优工具详解及调优实战

JVM性能调优 1. 前置启动程序1.1 Jmap1.1.1 Jmap查询内存信息1.1.2 Jmap查询堆信息1.1.3 jmap查询堆内存dump 1.2 Jstack1.3 远程连接jvisualvm 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容&am…

spring注解驱动开发(BEAN注册方式与生命周期)

目录 容器中注册BEAN的方式 BEAN生命周期 容器中注册BEAN的方式 包扫描组件标注注解 ComponentScan(basePackages {"com.an.spring.condition"}) Service Component Controller RepositoryBEan方式【导入第三方包里面的组件】 ComponentScan(basePackages {&quo…

php获取文件的权限信息(获取权限信息、返回字符串涵义、二进制的转换方式、权限修改)

php获取文件的权限信息 说明1.获取文件的权限信息2.返回文件权限字符的解读3.转为二进制权限4.修改权限 说明 (图片来源于网络) 文件权限是指文件或目录对用户和其他进程的访问许可。在 Unix 和 Linux 系统中,文件和目录都有三个权限&#x…

【Web】云安全之元数据服务

前言 最近再挖SRC的时候,遇到了一处疑似SSRF的接口,并且尝试访问元数据服务,通的,但由于之前接触的较少,暂时没有思路,所以有了如下的文章。 本文详细介绍了元数据相关的一些知识点,以及如何通…

法规标准-UN R158标准解读

UN R158是做什么的? UN R158全名为针对驾驶员识别车辆后方弱势道路使用者,联合国对倒车系统和机动车的统一规定,该法规涉及批准倒车和机动车辆的装置,主要为保证倒车时避免碰撞,方便驾驶员观察了解车辆后部人员和物体…

完美解决小米笔记本风扇乱转的问题

在平衡模式下更改高级电源设置--->处理器电源管理--->最大出来状态 改成88%,或者改成低于88%; 转载于:https://my.oschina.net/u/1385936/blog/1815100

笔记本风扇声音大(处理器电源管理)

首先打开控制面板,打开“电源选项”, 点击“更改计划设置”, 点击“更改高级电源设置”, 点击“处理器电源管理”前的号, 系统散热方式全部改为“被动”, 最大处理器状态改99%。 Tips:如果没有…