Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
ImageEncoderCV.h
1#pragma once
2#include "Module.h"
3#include "declarative/PropertyMacros.h"
4
6{
7public:
11
12 // ============================================================
13 // Property Binding for Declarative Pipeline
14 // ImageEncoderCV has no configurable properties
15 // ============================================================
16 template<typename PropsT>
17 static void applyProperties(
18 PropsT& props,
19 const std::map<std::string, apra::ScalarPropertyValue>& values,
20 std::vector<std::string>& missingRequired
21 ) {
22 // No properties to apply
23 }
24
25 apra::ScalarPropertyValue getProperty(const std::string& propName) const {
26 throw std::runtime_error("Unknown property: " + propName);
27 }
28
29 bool setProperty(const std::string& propName, const apra::ScalarPropertyValue& value) {
30 return false;
31 }
32
33 std::vector<std::string> dynamicPropertyNames() const {
34 return {};
35 }
36};
37
38class ImageEncoderCV : public Module
39{
40
41public:
43 virtual ~ImageEncoderCV();
44 bool init();
45 bool term();
46protected:
47 bool process(frame_container& frames);
48 bool processSOS(frame_sp& frame);
49 bool shouldTriggerSOS();
50 bool validateInputPins();
51 bool validateOutputPins();
52
53private:
56 class Detail;
57 boost::shared_ptr<Detail> mDetail;
58 framemetadata_sp mOutputMetadata;
59 std::string mOutputPinId;
60
61};
Definition ImageEncoderCV.h:6
apra::ScalarPropertyValue getProperty(const std::string &propName) const
Definition ImageEncoderCV.h:25
static void applyProperties(PropsT &props, const std::map< std::string, apra::ScalarPropertyValue > &values, std::vector< std::string > &missingRequired)
Definition ImageEncoderCV.h:17
std::vector< std::string > dynamicPropertyNames() const
Definition ImageEncoderCV.h:33
ImageEncoderCVProps()
Definition ImageEncoderCV.h:8
bool setProperty(const std::string &propName, const apra::ScalarPropertyValue &value)
Definition ImageEncoderCV.h:29
Definition ImageEncoderCV.cpp:17
Definition ImageEncoderCV.h:39
int mFrameType
Definition ImageEncoderCV.h:54
bool validateInputPins()
Definition ImageEncoderCV.cpp:79
bool term()
Definition ImageEncoderCV.cpp:133
bool validateOutputPins()
Definition ImageEncoderCV.cpp:98
ImageEncoderCVProps props
Definition ImageEncoderCV.h:55
std::string mOutputPinId
Definition ImageEncoderCV.h:59
framemetadata_sp mOutputMetadata
Definition ImageEncoderCV.h:58
bool processSOS(frame_sp &frame)
Definition ImageEncoderCV.cpp:170
ImageEncoderCV(ImageEncoderCVProps _props)
Definition ImageEncoderCV.cpp:69
bool process(frame_container &frames)
Definition ImageEncoderCV.cpp:138
virtual ~ImageEncoderCV()
Definition ImageEncoderCV.cpp:77
bool init()
Definition ImageEncoderCV.cpp:116
bool shouldTriggerSOS()
Definition ImageEncoderCV.cpp:157
boost::shared_ptr< Detail > mDetail
Definition ImageEncoderCV.h:57
Definition Module.h:33
Definition Module.h:151
std::variant< int64_t, double, bool, std::string > ScalarPropertyValue
Definition ModuleRegistry.h:30