Skip to main content

PCIeSrc.h File

PCIeSrc Node — receives samples from a PCIe-connected host (Modalix as PCIe target). More...

Included Headers

#include "builder/Node.h" #include "builder/OutputSpec.h" #include <memory> #include <string> #include <vector>

Namespaces Index

namespacesimaai
namespaceneat
namespacenodes

Classes Index

structPCIeSrcOptions

Construction options for a PCIeSrc Node. More...

classPCIeSrc

Source-role Node that receives samples from a PCIe-connected host. More...

Description

PCIeSrc Node — receives samples from a PCIe-connected host (Modalix as PCIe target).

Wraps the legacy simaaipciesrc GStreamer element which uses standard GStreamer buffer allocation (no SiMa DMA allocator), keeping memory usage low and compatible with all board configurations. Use as the source in pipelines where the host pushes frames into the Modalix board over PCIe.

File Listing

The file content with the documentation metadata removed is:

1
11#pragma once
12
13#include "builder/Node.h"
14#include "builder/OutputSpec.h"
15
16#include <memory>
17#include <string>
18#include <vector>
19
20namespace simaai::neat {
21
30 int buffer_size = 4194304;
31
34 std::string format;
35 int width = -1;
36 int height = -1;
37 int fps_n = 0;
38 int fps_d = 1;
39};
40
46class PCIeSrc final : public Node, public OutputSpecProvider {
47public:
49 explicit PCIeSrc(PCIeSrcOptions opt = {});
50
52 std::string kind() const override {
53 return "PCIeSrc";
54 }
56 std::string user_label() const override {
57 return "pciesrc";
58 }
60 InputRole input_role() const override {
61 return InputRole::Source;
62 }
64 NodeCapsBehavior caps_behavior() const override {
65 return NodeCapsBehavior::Dynamic;
66 }
67
69 std::string backend_fragment(int node_index) const override;
71 std::vector<std::string> element_names(int node_index) const override;
73 OutputSpec output_spec(const OutputSpec& input) const override;
74
76 const PCIeSrcOptions& options() const {
77 return opt_;
78 }
79
80private:
82};
83
84} // namespace simaai::neat
85
86namespace simaai::neat::nodes {
88std::shared_ptr<simaai::neat::Node> PCIeSrc(PCIeSrcOptions opt = {});
89} // namespace simaai::neat::nodes

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.