summaryrefslogtreecommitdiffhomepage
path: root/tracker-pt/pt-settings.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'tracker-pt/pt-settings.hpp')
-rw-r--r--tracker-pt/pt-settings.hpp48
1 files changed, 39 insertions, 9 deletions
diff --git a/tracker-pt/pt-settings.hpp b/tracker-pt/pt-settings.hpp
index 471bb941..5d16d973 100644
--- a/tracker-pt/pt-settings.hpp
+++ b/tracker-pt/pt-settings.hpp
@@ -1,6 +1,5 @@
#pragma once
-#include "export.hpp"
#include "options/options.hpp"
#include <QString>
@@ -9,19 +8,32 @@ enum pt_color_type
{
// explicit values, gotta preserve the numbering in .ini
// don't reuse when removing some of the modes
- pt_color_natural = 2,
+ pt_color_bt709 = 2,
+ pt_color_hardware = 14,
pt_color_red_only = 3,
- pt_color_average = 5,
pt_color_blue_only = 6,
+ pt_color_green_only = 7,
+ pt_color_red_chromakey = 8,
+ pt_color_green_chromakey = 9,
+ pt_color_blue_chromakey = 10,
+ pt_color_cyan_chromakey = 11,
+ pt_color_yellow_chromakey = 12,
+ pt_color_magenta_chromakey = 13,
};
+namespace pt_impl {
+
+using namespace options;
+
+#ifdef __clang__
+# pragma clang diagnostic push
+# pragma clang diagnostic ignored "-Wweak-vtables"
+#endif
+
struct pt_settings final : options::opts
{
using slider_value = options::slider_value;
- pt_settings(const QString& name) : opts(name) {}
- ~pt_settings() {}
-
value<QString> camera_name { b, "camera-name", "" };
value<int> cam_res_x { b, "camera-res-width", 640 },
cam_res_y { b, "camera-res-height", 480 },
@@ -48,10 +60,28 @@ struct pt_settings final : options::opts
value<int> fov { b, "camera-fov", 56 };
- value<bool> dynamic_pose { b, "dynamic-pose-resolution", true };
+ value<bool> dynamic_pose { b, "dynamic-pose-resolution", false };
value<int> init_phase_timeout { b, "init-phase-timeout", 250 };
value<bool> auto_threshold { b, "automatic-threshold", true };
- value<pt_color_type> blob_color { b, "blob-color", pt_color_natural };
+ value<pt_color_type> blob_color { b, "blob-color", pt_color_bt709 };
+ value<bool> use_mjpeg { b, "use-mjpeg", false };
+ value<slider_value> chroma_key_strength{ b, "chroma-key-strength", { 1.0, 0.5, 4. } };
+ value<bool> chroma_key_overexposed{ b, "chroma-key-overexposed", false };
+
+ value<slider_value> threshold_slider { b, "threshold-slider", { 128, 0, 255 } };
- value<slider_value> threshold_slider { b, "threshold-slider", slider_value(128, 0, 255) };
+ value<bool> enable_point_filter{ b, "enable-point-filter", false };
+ value<slider_value> point_filter_coefficient { b, "point-filter-coefficient", { 1.0, 0, 4 } };
+ value<slider_value> point_filter_limit { b, "point-filter-limit", { 0.1, 0.01, 1 }};
+ value<slider_value> point_filter_deadzone { b, "point-filter-deadzone", {0, 0, 1} };
+
+ explicit pt_settings(const QString& name) : opts(name) {}
};
+
+#ifdef __clang__
+# pragma clang diagnostic pop
+#endif
+
+} // ns pt_impl
+
+using pt_settings = pt_impl::pt_settings;