summaryrefslogtreecommitdiff
path: root/src/camera/veyeimx287m.cpp
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-03-01 01:19:51 +0100
committerNikita Kostovsky <nikita@kostovsky.me>2025-03-01 01:19:51 +0100
commita9af2d69c0a4d46dc98b6e0adaf13a7f23a24bce (patch)
tree5eb50679833feb3a67a39fb4c64a47e8d264c503 /src/camera/veyeimx287m.cpp
parentfe81095bf011786ee5303549abc8debb22cddcf8 (diff)
got 370 fps with pixels calc (previous was for pixels / 4)
Diffstat (limited to 'src/camera/veyeimx287m.cpp')
-rw-r--r--src/camera/veyeimx287m.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/camera/veyeimx287m.cpp b/src/camera/veyeimx287m.cpp
index c821997..dee3c6a 100644
--- a/src/camera/veyeimx287m.cpp
+++ b/src/camera/veyeimx287m.cpp
@@ -33,6 +33,7 @@ extern uint64_t corr_elapsed_ns;
extern uint64_t max_elapsed_ns;
extern uint64_t value_elapsed_ns;
extern uint64_t rot_elapsed_ns;
+extern uint64_t pix_elapsed_ns;
extern uint64_t dropped_count;
// constexpr char videoDevice[] = "/dev/video0";
@@ -356,6 +357,8 @@ void VeyeIMX287m::dequeueFrameLoop(std::stop_token stopToken)
void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken)
{
+ QElapsedTimer t;
+
while (!stopToken.stop_requested()) {
size_t bufferIdx{};
@@ -368,7 +371,6 @@ void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken)
auto &image = m_images[bufferIdx];
{
- QElapsedTimer t;
t.start();
// std::lock_guard buffer_lock{m_bufferMutexes[bufferIdx]};
memcpy(&image.data, m_videoBuffers[bufferIdx], img_size);
@@ -378,7 +380,7 @@ void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken)
image.rotate();
image.pixels();
- setCamParam(V4L2_CID_EXPOSURE, 18);
+ // setCamParam(V4L2_CID_EXPOSURE, 18);
}
}
@@ -396,14 +398,16 @@ bool VeyeIMX287m::dequeueImageBuffer(size_t &imageIndex)
if (elapsedTime > 1000.) {
fprintf(stderr,
- "fps: %d\tdropped: %d\tsec: %d\tdq: %d\tget: %d\trot: %d\tsum: %d,\tcorr: "
- "%d,\tval: %d\n",
+ "fps: %d\tdropped: %d sec: %d "
+ "dq: %d get: %d rot: %d pix: %d sum: %d corr: "
+ "%d val: %d\n",
counter,
dropped_count,
curr.tv_sec % 1000,
dq_elapsed_ns / 1000 / counter,
get_elapsed_ns / 1000 / counter,
rot_elapsed_ns / 1000 / counter,
+ pix_elapsed_ns / 1000 / counter,
sum_elapsed_ns / 1000 / counter,
corr_elapsed_ns / 1000 / counter,
// max_elapsed_ns / 1000 / counter,
@@ -416,6 +420,7 @@ bool VeyeIMX287m::dequeueImageBuffer(size_t &imageIndex)
max_elapsed_ns = 0;
value_elapsed_ns = 0;
rot_elapsed_ns = 0;
+ pix_elapsed_ns = 0;
dropped_count = 0;
counter = 0;