diff options
Diffstat (limited to 'video-opencv')
-rw-r--r-- | video-opencv/CMakeLists.txt | 5 | ||||
-rw-r--r-- | video-opencv/impl-camera.cpp | 7 | ||||
-rw-r--r-- | video-opencv/impl-metadata.cpp | 6 | ||||
-rw-r--r-- | video-opencv/impl.hpp | 5 | ||||
-rw-r--r-- | video-opencv/lang/de_DE.ts | 4 | ||||
-rw-r--r-- | video-opencv/lang/nl_NL.ts | 2 | ||||
-rw-r--r-- | video-opencv/lang/ru_RU.ts | 2 | ||||
-rw-r--r-- | video-opencv/lang/zh_CN.ts | 2 | ||||
-rw-r--r-- | video-opencv/video-property-page.cpp | 2 |
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" |