12#include <nlohmann/json.hpp>
13#include "declarative/PipelineDescription.h"
14#include "declarative/ModuleRegistry.h"
15#include "FrameMetadata.h"
16#include "ImageMetadata.h"
176 const std::string& pinName
182 const std::string& pinName
200 const std::string& fromModule,
201 const std::string& toModule,
Definition ModuleRegistry.h:123
Definition PipelineAnalyzer.h:127
PipelineAnalyzer()=default
const ModuleInfo::PinInfo * findInputPin(const ModuleInfo *info, const std::string &pinName) const
Definition PipelineAnalyzer.cpp:391
std::string selectFormatBridgeModule(FrameMetadata::MemType memType, ImageMetadata::ImageType fromFormat, ImageMetadata::ImageType toFormat) const
Definition PipelineAnalyzer.cpp:462
const ModuleInfo::PinInfo * findOutputPin(const ModuleInfo *info, const std::string &pinName) const
Definition PipelineAnalyzer.cpp:371
std::vector< ConnectionInfo > buildConnectionInfoList(const PipelineDescription &pipeline, const ModuleRegistry ®istry) const
Definition PipelineAnalyzer.cpp:72
bool checkFrameTypeCompatibility(const ConnectionInfo &conn, AnalysisResult &result) const
Definition PipelineAnalyzer.cpp:125
std::string selectMemoryBridgeModule(FrameMetadata::MemType from, FrameMetadata::MemType to) const
Definition PipelineAnalyzer.cpp:411
void checkForSuboptimalPatterns(const PipelineDescription &pipeline, const ModuleRegistry ®istry, AnalysisResult &result) const
Definition PipelineAnalyzer.cpp:304
void checkMemoryTypeCompatibility(const ConnectionInfo &conn, AnalysisResult &result) const
Definition PipelineAnalyzer.cpp:178
std::string generateBridgeId(const std::string &fromModule, const std::string &toModule, BridgeType type) const
Definition PipelineAnalyzer.cpp:482
AnalysisResult analyze(const PipelineDescription &pipeline) const
Definition PipelineAnalyzer.cpp:17
void checkFormatCompatibility(const ConnectionInfo &conn, FrameMetadata::MemType effectiveMemType, AnalysisResult &result) const
Definition PipelineAnalyzer.cpp:246
Definition FrameTypeRegistrations.h:10
MemoryDirection
Definition PipelineAnalyzer.h:31
BridgeType
Definition PipelineAnalyzer.h:23
Definition PipelineAnalyzer.h:79
std::string details
Definition PipelineAnalyzer.h:84
std::string toModule
Definition PipelineAnalyzer.h:83
std::string code
Definition PipelineAnalyzer.h:80
std::string fromModule
Definition PipelineAnalyzer.h:82
std::string message
Definition PipelineAnalyzer.h:81
Definition PipelineAnalyzer.h:90
size_t formatBridgeCount
Definition PipelineAnalyzer.h:99
std::vector< BridgeSpec > bridges
Definition PipelineAnalyzer.h:93
std::vector< Suggestion > suggestions
Definition PipelineAnalyzer.h:94
std::vector< Warning > warnings
Definition PipelineAnalyzer.h:95
bool hasErrors
Definition PipelineAnalyzer.h:91
size_t memoryBridgeCount
Definition PipelineAnalyzer.h:98
std::vector< AnalysisError > errors
Definition PipelineAnalyzer.h:92
Definition PipelineAnalyzer.h:39
std::string fromPin
Definition PipelineAnalyzer.h:42
MemoryDirection memoryDirection
Definition PipelineAnalyzer.h:49
nlohmann::json props
Definition PipelineAnalyzer.h:46
BridgeType type
Definition PipelineAnalyzer.h:44
std::string fromModule
Definition PipelineAnalyzer.h:40
std::string toModule
Definition PipelineAnalyzer.h:41
ImageMetadata::ImageType toFormat
Definition PipelineAnalyzer.h:53
ImageMetadata::ImageType fromFormat
Definition PipelineAnalyzer.h:52
std::string toPin
Definition PipelineAnalyzer.h:43
std::string bridgeModule
Definition PipelineAnalyzer.h:45
Definition PipelineAnalyzer.h:105
std::string toModuleId
Definition PipelineAnalyzer.h:107
std::string fromModuleType
Definition PipelineAnalyzer.h:112
std::string fromModuleId
Definition PipelineAnalyzer.h:106
std::string toPin
Definition PipelineAnalyzer.h:109
FrameMetadata::MemType fromMemType
Definition PipelineAnalyzer.h:113
std::string fromPin
Definition PipelineAnalyzer.h:108
std::vector< std::string > toFrameTypes
Definition PipelineAnalyzer.h:120
FrameMetadata::MemType toMemType
Definition PipelineAnalyzer.h:119
std::vector< ImageMetadata::ImageType > toImageTypes
Definition PipelineAnalyzer.h:121
std::vector< std::string > fromFrameTypes
Definition PipelineAnalyzer.h:114
std::vector< ImageMetadata::ImageType > fromImageTypes
Definition PipelineAnalyzer.h:115
std::string toModuleType
Definition PipelineAnalyzer.h:118
Definition ModuleRegistry.h:48
Definition ModuleRegistry.h:41
Definition PipelineDescription.h:90
Definition PipelineAnalyzer.h:69
std::string suggestedModule
Definition PipelineAnalyzer.h:71
std::string reason
Definition PipelineAnalyzer.h:72
std::string currentModule
Definition PipelineAnalyzer.h:70
std::string moduleId
Definition PipelineAnalyzer.h:73
Definition PipelineAnalyzer.h:59
std::string moduleId
Definition PipelineAnalyzer.h:62
std::string message
Definition PipelineAnalyzer.h:61
std::string suggestion
Definition PipelineAnalyzer.h:63
std::string code
Definition PipelineAnalyzer.h:60