From fac69ff02f36e45d49da832c6bf246167d1025a6 Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Tue, 11 Nov 2025 14:55:09 +0100 Subject: works on radxa zero 3e, 420 fps --- src/camera/veyeimx287m.h | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/camera/veyeimx287m.h') diff --git a/src/camera/veyeimx287m.h b/src/camera/veyeimx287m.h index 37da5b0..e1eb76d 100644 --- a/src/camera/veyeimx287m.h +++ b/src/camera/veyeimx287m.h @@ -1,7 +1,7 @@ #pragma once #include - +#include #include #include @@ -57,17 +57,30 @@ private: private: int m_cam_fd{-1}; - static constexpr uint8_t BUFFER_COUNT{8}; + static constexpr uint8_t BUFFER_COUNT{16}; + struct v4l2_plane planes[VIDEO_MAX_PLANES]; std::array m_imageMutexes; std::array m_images; std::array m_bufferMutexes; std::array m_videoBuffers; + struct buffer + { + unsigned int idx; + unsigned int padding[VIDEO_MAX_PLANES]; + unsigned int size[VIDEO_MAX_PLANES]; + void *mem[VIDEO_MAX_PLANES]; + }; + std::vector buffers; + // std::mutex m_queueMtx; std::mutex m_camMtx; std::queue m_buffersQueue; std::jthread m_streamThread; + // std::jthread m_calcThreads[1]; std::jthread m_calcThreads[4]; + + uint32_t processedCounter{0}; }; -- cgit v1.2.3-70-g09d2