summaryrefslogtreecommitdiffhomepage
path: root/video-opencv
diff options
context:
space:
mode:
Diffstat (limited to 'video-opencv')
-rw-r--r--video-opencv/CMakeLists.txt5
-rw-r--r--video-opencv/impl-camera.cpp7
-rw-r--r--video-opencv/impl-metadata.cpp6
-rw-r--r--video-opencv/impl.hpp5
-rw-r--r--video-opencv/lang/de_DE.ts4
-rw-r--r--video-opencv/lang/nl_NL.ts2
-rw-r--r--video-opencv/lang/ru_RU.ts2
-rw-r--r--video-opencv/lang/zh_CN.ts2
-rw-r--r--video-opencv/video-property-page.cpp2
9 files changed, 23 insertions, 12 deletions
diff --git a/video-opencv/CMakeLists.txt b/video-opencv/CMakeLists.txt
index c56e65d4..0b2460a4 100644
--- a/video-opencv/CMakeLists.txt
+++ b/video-opencv/CMakeLists.txt
@@ -2,8 +2,11 @@ include(opentrack-opencv)
find_package(OpenCV QUIET)
if(OpenCV_FOUND)
+ foreach(k core videoio imgcodecs imgproc)
+ otr_install_lib("opencv_${k}" "${opentrack-libexec}")
+ endforeach()
otr_module(video-opencv)
- target_link_libraries(${self} opencv_core opencv_videoio opentrack-video)
+ target_link_libraries(${self} opencv_core opencv_imgcodecs opencv_videoio opentrack-video)
if(WIN32)
target_link_libraries(${self} strmiids)
endif()
diff --git a/video-opencv/impl-camera.cpp b/video-opencv/impl-camera.cpp
index 3f2a1b1a..96081399 100644
--- a/video-opencv/impl-camera.cpp
+++ b/video-opencv/impl-camera.cpp
@@ -1,6 +1,7 @@
#include "impl.hpp"
#include "compat/sleep.hpp"
#include "video-property-page.hpp"
+#include <opencv2/core/utils/logger.hpp>
namespace opencv_camera_impl {
@@ -33,7 +34,8 @@ bool cam::is_open()
bool cam::start(info& args)
{
stop();
- cap.emplace(idx + video_capture_backend);
+ cv::utils::logging::setLogLevel(cv::utils::logging::LogLevel::LOG_LEVEL_WARNING);
+ cap.emplace(idx, video_capture_backend);
if (args.width > 0 && args.height > 0)
{
@@ -43,6 +45,9 @@ bool cam::start(info& args)
if (args.fps > 0)
cap->set(cv::CAP_PROP_FPS, args.fps);
+ if (args.use_mjpeg)
+ cap->set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M', 'J', 'P', 'G'));
+
if (!cap->isOpened())
goto fail;
diff --git a/video-opencv/impl-metadata.cpp b/video-opencv/impl-metadata.cpp
index 48a2e693..7642c017 100644
--- a/video-opencv/impl-metadata.cpp
+++ b/video-opencv/impl-metadata.cpp
@@ -17,7 +17,11 @@ std::unique_ptr<camera> metadata::make_camera(const QString& name)
std::vector<QString> metadata::camera_names() const
{
- return get_camera_names();
+ std::vector<std::tuple<QString, int>> names = get_camera_names();
+ std::vector<QString> ret;
+ for (const auto& [str, idx] : names)
+ ret.push_back(str);
+ return ret;
}
bool metadata::can_show_dialog(const QString& camera_name)
diff --git a/video-opencv/impl.hpp b/video-opencv/impl.hpp
index db569823..ed5499b0 100644
--- a/video-opencv/impl.hpp
+++ b/video-opencv/impl.hpp
@@ -8,18 +8,13 @@
#pragma once
#include "video/camera.hpp"
-
#include <optional>
-
-#include <opencv2/core.hpp>
#include <opencv2/videoio.hpp>
namespace opencv_camera_impl {
using namespace video::impl;
-struct cam;
-
struct metadata : camera_
{
metadata();
diff --git a/video-opencv/lang/de_DE.ts b/video-opencv/lang/de_DE.ts
new file mode 100644
index 00000000..1552582e
--- /dev/null
+++ b/video-opencv/lang/de_DE.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="de_DE">
+</TS>
diff --git a/video-opencv/lang/nl_NL.ts b/video-opencv/lang/nl_NL.ts
index 6401616d..9e739505 100644
--- a/video-opencv/lang/nl_NL.ts
+++ b/video-opencv/lang/nl_NL.ts
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="nl_NL">
</TS>
diff --git a/video-opencv/lang/ru_RU.ts b/video-opencv/lang/ru_RU.ts
index 6401616d..f62cf2e1 100644
--- a/video-opencv/lang/ru_RU.ts
+++ b/video-opencv/lang/ru_RU.ts
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="ru_RU">
</TS>
diff --git a/video-opencv/lang/zh_CN.ts b/video-opencv/lang/zh_CN.ts
index 6401616d..e5ca8aa9 100644
--- a/video-opencv/lang/zh_CN.ts
+++ b/video-opencv/lang/zh_CN.ts
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="zh_CN">
</TS>
diff --git a/video-opencv/video-property-page.cpp b/video-opencv/video-property-page.cpp
index 8057bf9e..d56d4b91 100644
--- a/video-opencv/video-property-page.cpp
+++ b/video-opencv/video-property-page.cpp
@@ -147,7 +147,7 @@ bool video_property_page::show(int idx)
return true;
}
-#elif defined(__linux)
+#elif defined(__linux__)
# include <QProcess>
# include "compat/camera-names.hpp"