summaryrefslogtreecommitdiff
path: root/source/l/mlt/mlt-opencv.patch
blob: bd486a73bb899d4a70d7aa53faaac10776b49097 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
diff -aurN mlt-6.24.1/src/modules/opencv/filter_opencv_tracker.cpp mlt-6.24.1.mod/src/modules/opencv/filter_opencv_tracker.cpp
--- mlt-6.24.1/src/modules/opencv/filter_opencv_tracker.cpp	2021-01-05 19:15:52.000000000 +0100
+++ mlt-6.24.1.mod/src/modules/opencv/filter_opencv_tracker.cpp	2021-01-13 10:29:26.314403046 +0100
@@ -25,7 +25,11 @@
 typedef struct
 {
 	cv::Ptr<cv::Tracker> tracker;
-	cv::Rect2d boundingBox;
+#if CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5
+    cv::Rect2d boundingBox;
+#else
+    cv::Rect boundingBox;
+#endif
 	char * algo;
 	mlt_rect startRect;
 	bool initialized;
@@ -138,7 +142,7 @@
 		{
 			data->tracker = cv::TrackerKCF::create();
 		}
-#if CV_VERSION_MAJOR > 3 || (CV_VERSION_MAJOR == 3 && CV_VERSION_MINOR >= 4 && CV_VERSION_REVISION >= 2)
+#if (CV_VERSION_MAJOR > 3 && CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5) || (CV_VERSION_MAJOR == 3 && CV_VERSION_MINOR >= 4 && CV_VERSION_REVISION >= 2)
 		else if ( !strcmp(data->algo, "CSRT" ) )
 		{
 			data->tracker = cv::TrackerCSRT::create();
@@ -152,6 +156,7 @@
 		{
 			data->tracker = cv::TrackerMIL::create();
 		}
+#if CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5
 		else if ( !strcmp(data->algo, "TLD" ) )
 		{
 			data->tracker = cv::TrackerTLD::create();
@@ -160,6 +165,7 @@
 		{
 			data->tracker = cv::TrackerBoosting::create();
 		}
+#endif // CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5
 #else
 		if ( data->algo == NULL || !strcmp(data->algo, "" ) )
 		{
@@ -224,7 +230,12 @@
 			if ( data->boundingBox.height <1 ) {
 				data->boundingBox.height = 50;
 			}
-			if ( data->tracker->init( cvFrame, data->boundingBox ) ) {
+#if CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5
+            if ( data->tracker->init( cvFrame, data->boundingBox ) ) {
+#else
+               {
+            	data->tracker->init( cvFrame, data->boundingBox );
+#endif
 				data->initialized = true;
 				data->analyze = true;
 				data->last_position = position - 1;