Skip to main content

PCIeSrc.h File

PCIe source node for receiving data from host via PCIe. 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
classPCIeSrc

Description

PCIe source node for receiving data from host via PCIe.

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.

File Listing

The file content with the documentation metadata removed is:

1
10#pragma once
11
12#include "builder/Node.h"
13#include "builder/OutputSpec.h"
14
15#include <memory>
16#include <string>
17#include <vector>
18
19namespace simaai::neat {
20
24 int buffer_size = 4194304;
25
28 std::string format;
29 int width = -1;
30 int height = -1;
31 int fps_n = 0;
32 int fps_d = 1;
33};
34
35class PCIeSrc final : public Node, public OutputSpecProvider {
36public:
37 explicit PCIeSrc(PCIeSrcOptions opt = {});
38
39 std::string kind() const override {
40 return "PCIeSrc";
41 }
42 std::string user_label() const override {
43 return "pciesrc";
44 }
45 InputRole input_role() const override {
46 return InputRole::Source;
47 }
48 NodeCapsBehavior caps_behavior() const override {
49 return NodeCapsBehavior::Dynamic;
50 }
51
52 std::string backend_fragment(int node_index) const override;
53 std::vector<std::string> element_names(int node_index) const override;
54 OutputSpec output_spec(const OutputSpec& input) const override;
55
56 const PCIeSrcOptions& options() const {
57 return opt_;
58 }
59
60private:
62};
63
64} // namespace simaai::neat
65
66namespace simaai::neat::nodes {
67std::shared_ptr<simaai::neat::Node> PCIeSrc(PCIeSrcOptions opt = {});
68} // namespace simaai::neat::nodes

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.1.