ApraPipes
1.0
Loading...
Searching...
No Matches
MotionVectorExtractor.h
1
#pragma once
2
#include "Module.h"
3
4
using namespace
std;
5
class
MvExtractDetailAbs
;
6
class
DetailFfmpeg
;
7
class
DetailOpenH264
;
8
9
class
MotionVectorExtractorProps
:
public
ModuleProps
10
{
11
public
:
12
enum
MVExtractMethod
13
{
14
FFMPEG
,
15
OPENH264
16
};
17
18
MotionVectorExtractorProps
(
MVExtractMethod
_MVExtractMethod =
MVExtractMethod::FFMPEG
,
bool
_sendDecodedFrame =
false
,
int
_motionVectorThreshold = 2) :
MVExtract
(_MVExtractMethod),
sendDecodedFrame
(_sendDecodedFrame),
motionVectorThreshold
(_motionVectorThreshold)
19
{
20
}
21
22
size_t
getSerializeSize
()
23
{
24
return
ModuleProps::getSerializeSize
() +
sizeof
(
sendDecodedFrame
) +
sizeof
(
motionVectorThreshold
);
25
}
26
bool
sendDecodedFrame
=
false
;
27
int
motionVectorThreshold
;
28
MVExtractMethod
MVExtract
=
MVExtractMethod::FFMPEG
;
29
private
:
30
friend
class
boost::serialization::access
;
31
32
template
<
class
Archive>
33
void
serialize
(Archive& ar,
const
unsigned
int
version)
34
{
35
ar& boost::serialization::base_object<ModuleProps>(*
this
);
36
ar&
sendDecodedFrame
;
37
ar&
motionVectorThreshold
;
38
}
39
};
40
41
class
MotionVectorExtractor
:
public
Module
42
{
43
public
:
44
MotionVectorExtractor
(
MotionVectorExtractorProps
_props);
45
virtual
~MotionVectorExtractor
() {};
46
bool
init
();
47
bool
term
();
48
void
setProps
(
MotionVectorExtractorProps
& props);
49
protected
:
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);
57
private
:
58
boost::shared_ptr<MvExtractDetailAbs>
mDetail
;
59
framemetadata_sp
rawOutputMetadata
;
60
bool
mShouldTriggerSOS
=
true
;
61
};
DetailFfmpeg
Definition
MotionVectorExtractor.cpp:49
DetailOpenH264
Definition
MotionVectorExtractor.cpp:64
ModuleProps::ModuleProps
ModuleProps()
Definition
Module.h:40
ModuleProps::getSerializeSize
virtual size_t getSerializeSize()
Definition
Module.h:101
Module::Module
Module(Kind nature, string name, ModuleProps _props)
Definition
Module.cpp:144
MotionVectorExtractorProps
Definition
MotionVectorExtractor.h:10
MotionVectorExtractorProps::sendDecodedFrame
bool sendDecodedFrame
Definition
MotionVectorExtractor.h:26
MotionVectorExtractorProps::MVExtract
MVExtractMethod MVExtract
Definition
MotionVectorExtractor.h:28
MotionVectorExtractorProps::motionVectorThreshold
int motionVectorThreshold
Definition
MotionVectorExtractor.h:27
MotionVectorExtractorProps::getSerializeSize
size_t getSerializeSize()
Definition
MotionVectorExtractor.h:22
MotionVectorExtractorProps::serialize
void serialize(Archive &ar, const unsigned int version)
Definition
MotionVectorExtractor.h:33
MotionVectorExtractorProps::MotionVectorExtractorProps
MotionVectorExtractorProps(MVExtractMethod _MVExtractMethod=MVExtractMethod::FFMPEG, bool _sendDecodedFrame=false, int _motionVectorThreshold=2)
Definition
MotionVectorExtractor.h:18
MotionVectorExtractorProps::MVExtractMethod
MVExtractMethod
Definition
MotionVectorExtractor.h:13
MotionVectorExtractorProps::OPENH264
@ OPENH264
Definition
MotionVectorExtractor.h:15
MotionVectorExtractorProps::FFMPEG
@ FFMPEG
Definition
MotionVectorExtractor.h:14
MotionVectorExtractorProps::access
friend class boost::serialization::access
Definition
MotionVectorExtractor.h:30
MotionVectorExtractor::mDetail
boost::shared_ptr< MvExtractDetailAbs > mDetail
Definition
MotionVectorExtractor.h:58
MotionVectorExtractor::setProps
void setProps(MotionVectorExtractorProps &props)
Definition
MotionVectorExtractor.cpp:417
MotionVectorExtractor::validateInputPins
bool validateInputPins()
Definition
MotionVectorExtractor.cpp:339
MotionVectorExtractor::MotionVectorExtractor
MotionVectorExtractor(MotionVectorExtractorProps _props)
Definition
MotionVectorExtractor.cpp:315
MotionVectorExtractor::mShouldTriggerSOS
bool mShouldTriggerSOS
Definition
MotionVectorExtractor.h:60
MotionVectorExtractor::process
bool process(frame_container &frame)
Definition
MotionVectorExtractor.cpp:380
MotionVectorExtractor::init
bool init()
Definition
MotionVectorExtractor.cpp:330
MotionVectorExtractor::setMetadata
void setMetadata(frame_sp metadata)
Definition
MotionVectorExtractor.cpp:388
MotionVectorExtractor::handlePropsChange
bool handlePropsChange(frame_sp &frame)
Definition
MotionVectorExtractor.cpp:410
MotionVectorExtractor::processSOS
bool processSOS(frame_sp &frame)
Definition
MotionVectorExtractor.cpp:404
MotionVectorExtractor::rawOutputMetadata
framemetadata_sp rawOutputMetadata
Definition
MotionVectorExtractor.h:59
MotionVectorExtractor::term
bool term()
Definition
MotionVectorExtractor.cpp:335
MotionVectorExtractor::validateOutputPins
bool validateOutputPins()
Definition
MotionVectorExtractor.cpp:355
MotionVectorExtractor::shouldTriggerSOS
bool shouldTriggerSOS()
Definition
MotionVectorExtractor.cpp:376
MotionVectorExtractor::~MotionVectorExtractor
virtual ~MotionVectorExtractor()
Definition
MotionVectorExtractor.h:45
MvExtractDetailAbs
Definition
MotionVectorExtractor.cpp:19
base
include
MotionVectorExtractor.h
Source Commit: ea96e35