9#include <mediapipe/framework/port/opencv_video_inc.h>
10#include <absl/status/status.h>
12#include <smartspectra/video_source/video_source.hpp>
13#include <smartspectra/video_source/settings.hpp>
16namespace presage::smartspectra::video_source::capture {
21 bool SupportsExactFrameTimestamp()
const override;
23 int GetWidth()
override;
24 int GetHeight()
override;
26 void ProducePreTransformFrame(cv::Mat& frame)
override;
27 cv::VideoCapture capture;
34 bool SupportsExactFrameTimestamp()
const override;
36 std::vector<int64_t> ReadTimestampsFromFile(
const std::string& filename);
37 std::vector<int64_t> timestamps;
44 bool SupportsExactFrameTimestamp()
const override;
56 void UseNoTimestampConversion();
57 void UseUptimeTimestampConversion();
59 int GetWidth()
override;
60 int GetHeight()
override;
63 void ProducePreTransformFrame(cv::Mat& frame)
override;
65 std::function<int64_t (int64_t input_timestamp_ms)> convert_timestamp_ms =
66 [](int64_t input_timestamp_ms) {
return input_timestamp_ms; };
68 absl::Status ModifyExposure(
int by);
69 cv::VideoCapture capture;
71 bool capture_supports_timestamp =
false;
72 int exposure_step = 10;
Abstract interface for camera/video input sources.
Definition video_source.hpp:30
virtual absl::StatusOr< double > GetExposure()
Get current exposure as a normalized value.
Definition video_source.cpp:44
Definition capture_video_source.hpp:40
int64_t GetFrameTimestamp() const override
Definition capture_video_source.cpp:205
absl::Status ToggleAutoExposure() override
Toggle between automatic and manual exposure modes.
Definition capture_video_source.cpp:249
bool SupportsExposureControls() override
Check if this video source supports exposure controls.
Definition capture_video_source.cpp:325
absl::StatusOr< bool > IsAutoExposureOn() override
Check if automatic exposure is currently enabled.
Definition capture_video_source.cpp:270
absl::Status TurnOnAutoExposure() override
Enable automatic exposure mode.
Definition capture_video_source.cpp:220
absl::Status IncreaseExposure() override
Increase exposure by a fixed hardware-specific step.
Definition capture_video_source.cpp:280
absl::Status TurnOffAutoExposure() override
Disable automatic exposure and switch to manual mode.
Definition capture_video_source.cpp:233
absl::Status DecreaseExposure() override
Decrease exposure by a fixed hardware-specific step.
Definition capture_video_source.cpp:284
absl::Status Initialize(const VideoSourceSettings &settings) override
Definition capture_video_source.cpp:99
Definition capture_video_source.hpp:30
absl::Status Initialize(const VideoSourceSettings &settings) override
Definition capture_video_source.cpp:77
int64_t GetFrameTimestamp() const override
Definition capture_video_source.cpp:82
Definition capture_video_source.hpp:18
absl::Status Initialize(const VideoSourceSettings &settings) override
Definition capture_video_source.cpp:34
int64_t GetFrameTimestamp() const override
Definition capture_video_source.cpp:30
InputTransformMode
Transformation applied to frames prior to processing.
Definition input_transform.hpp:19
Configuration options for constructing a VideoSource.
Definition settings.hpp:23