Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
MotionVectorExtractor.h
1#pragma once
2#include "Module.h"
3
4using namespace std;
6class DetailFfmpeg;
8
10{
11public:
17
18 MotionVectorExtractorProps(MVExtractMethod _MVExtractMethod = MVExtractMethod::FFMPEG, bool _sendDecodedFrame = false, int _motionVectorThreshold = 2) : MVExtract(_MVExtractMethod), sendDecodedFrame(_sendDecodedFrame), motionVectorThreshold(_motionVectorThreshold)
19 {
20 }
21
23 {
25 }
26 bool sendDecodedFrame = false;
29private:
31
32 template <class Archive>
33 void serialize(Archive& ar, const unsigned int version)
34 {
35 ar& boost::serialization::base_object<ModuleProps>(*this);
38 }
39};
40
42{
43public:
46 bool init();
47 bool term();
49protected:
50 bool process(frame_container& frame);
51 bool validateInputPins();
52 bool validateOutputPins();
53 bool shouldTriggerSOS();
54 bool processSOS(frame_sp& frame);
55 void setMetadata(frame_sp metadata);
56 bool handlePropsChange(frame_sp& frame);
57private:
58 boost::shared_ptr<MvExtractDetailAbs> mDetail;
59 framemetadata_sp rawOutputMetadata;
60 bool mShouldTriggerSOS = true;
61};
Definition MotionVectorExtractor.cpp:49
Definition MotionVectorExtractor.cpp:64
Definition Module.h:33
virtual size_t getSerializeSize()
Definition Module.h:101
Definition Module.h:151
Definition MotionVectorExtractor.h:10
bool sendDecodedFrame
Definition MotionVectorExtractor.h:26
MVExtractMethod MVExtract
Definition MotionVectorExtractor.h:28
int motionVectorThreshold
Definition MotionVectorExtractor.h:27
size_t getSerializeSize()
Definition MotionVectorExtractor.h:22
void serialize(Archive &ar, const unsigned int version)
Definition MotionVectorExtractor.h:33
MotionVectorExtractorProps(MVExtractMethod _MVExtractMethod=MVExtractMethod::FFMPEG, bool _sendDecodedFrame=false, int _motionVectorThreshold=2)
Definition MotionVectorExtractor.h:18
MVExtractMethod
Definition MotionVectorExtractor.h:13
@ OPENH264
Definition MotionVectorExtractor.h:15
@ FFMPEG
Definition MotionVectorExtractor.h:14
friend class boost::serialization::access
Definition MotionVectorExtractor.h:30
Definition MotionVectorExtractor.h:42
boost::shared_ptr< MvExtractDetailAbs > mDetail
Definition MotionVectorExtractor.h:58
void setProps(MotionVectorExtractorProps &props)
Definition MotionVectorExtractor.cpp:417
bool validateInputPins()
Definition MotionVectorExtractor.cpp:339
MotionVectorExtractor(MotionVectorExtractorProps _props)
Definition MotionVectorExtractor.cpp:315
bool mShouldTriggerSOS
Definition MotionVectorExtractor.h:60
bool process(frame_container &frame)
Definition MotionVectorExtractor.cpp:380
bool init()
Definition MotionVectorExtractor.cpp:330
void setMetadata(frame_sp metadata)
Definition MotionVectorExtractor.cpp:388
bool handlePropsChange(frame_sp &frame)
Definition MotionVectorExtractor.cpp:410
bool processSOS(frame_sp &frame)
Definition MotionVectorExtractor.cpp:404
framemetadata_sp rawOutputMetadata
Definition MotionVectorExtractor.h:59
bool term()
Definition MotionVectorExtractor.cpp:335
bool validateOutputPins()
Definition MotionVectorExtractor.cpp:355
bool shouldTriggerSOS()
Definition MotionVectorExtractor.cpp:376
virtual ~MotionVectorExtractor()
Definition MotionVectorExtractor.h:45
Definition MotionVectorExtractor.cpp:19