Qualcomm Camera HAL3: Add a PipeLine

I. Overview

Add a PipeLine to realize two Raw inputs and one Raw output.

2. Introduction

PipeLine to add: SWMFMergeRawTwo2One

  • Contains 1 memcpy node,
  • This node is used to convert 2 raw buffer input inputs into 1 raw buffer output output

3. Add 

3.1 Add a pipeline xml under the corresponding Usecase


Place the pipline file in the vendor\qcom\proprietary\chi-cdk\oem\qcom\topology\usecase\components\usecases\UsecaseZSL\pipelines\ directory: camxSWMFMergeRawTwo2One.xml

3.2 Fill the pipeline xml file

Populate camxSWMFMergeRawTwo2One.xml

  • (1).SWMFMergeRawTwo2One //PipelineName is unique
  • (2). Link all Nodes that need to be linked in NodesList //List all nodes required by the pipeline in

3.3 Modify NodesList:

  • NodeId: External customized Node uses NodeId 255 (such as the algorithm Node added by yourself)
  • NodePropertyId: 1 is customized Lib
  • NodePropertyValue: fill in chi node lib name

The relevant definitions of NodeProperty can be found in vendor\qcom\proprietary\chi-cdk\api\common\chi.h

3.4 Modify PortLinkages

PortLinkages: link list of input target, chi/camx Node and output target

  • SourceBuffer:NodeId 4
  • SinkBuffer:NodeId 2

The definitions of all software software and hardware NodeId can be found in the vendor\qcom\proprietary\camx\src\core\Camxhwdefs.h file

Source Target:

  • TARGET_BUFFER_RAW_IN0
  • TARGET_BUFFER_RAW_IN1

Different NodeInstanceId needs to be filled in 

3.5 CamxInclude adds a reference to pipeline

In the corresponding Usecase xml file, use CamxInclude to add a reference to the pipeline

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

3.6 Add a new target (TARGET_BUFFER_RAW_OUT2) to the pipeline

Add a new target definition for the pipeline in camxUsecaseZSL.xml

3.7  Update TargetStreamMap in the vendor\qcom\proprietary\chi\cdk\core\chifeature2\Chifeature2utils.h file

3.8  Add pipeline ID to ChiUseCase

This pipeline ID must be consistent with the pipeline name

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

3.9 Add pipeline id 

3.10 Add pipeline type

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

4. Use

4.1 Using pipeline in Feature of Feature2 architecture

Add pipeline in ChiFeature2PipelineDescriptor array

The target name of the feature target descriptor must be consistent with the target name in the pipeline xml file

5. End

Guess you like

Origin blog.csdn.net/geyichongchujianghu/article/details/131033444