From c81e60b1f5d62b74a2ebc269348b36bf91df5015 Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Sun, 9 Nov 2025 08:53:54 +0100 Subject: fix memcpy_neon --- src/camera/veyeimx287m.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src/camera') diff --git a/src/camera/veyeimx287m.cpp b/src/camera/veyeimx287m.cpp index d4c19fe..e89442c 100644 --- a/src/camera/veyeimx287m.cpp +++ b/src/camera/veyeimx287m.cpp @@ -81,8 +81,7 @@ std::vector > VeyeIMX287m::search() if (!cam->init()) return {}; - // if (!cam->setExposureTimeUs(30)) - if (!cam->setExposureTimeUs(250)) + if (!cam->setExposureTimeUs(30)) return {}; if (!cam->setLaserLevel(1)) @@ -379,12 +378,25 @@ void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken) t.start(); // std::lock_guard buffer_lock{m_bufferMutexes[bufferIdx]}; // get: 4100-4500 - // memcpy(&image.data, m_videoBuffers[bufferIdx], img_size); + memcpy(&image.data, m_videoBuffers[bufferIdx], img_size); // get: 5000-5100 + // memcpy_1by1((ARRAY_TYPE *) &image.data, + // (ARRAY_TYPE *) m_videoBuffers[bufferIdx]); // memcpy_1by1((std::byte *) &image.data, // (std::byte *) m_videoBuffers[bufferIdx]); - memcpy_neon((ARRAY_TYPE *) &image.data, - (ARRAY_TYPE *) m_videoBuffers[bufferIdx]); + + // memcpy_neon((ARRAY_TYPE *) &image.data, + // (ARRAY_TYPE *) m_videoBuffers[bufferIdx]); + // std::cerr << "size: " << img_size / sizeof(ARRAY_TYPE) << std::endl; + // Image::data_t native; + // Image::data_t neon; + // memcpy(&native, m_videoBuffers[bufferIdx], img_size); + // memcpy_neon((ARRAY_TYPE *) &neon, + // (ARRAY_TYPE *) m_videoBuffers[bufferIdx]); + + // if (memcmp(&native, &neon, img_size) != 0) { + // std::cerr << "different: " << img_size / sizeof(ARRAY_TYPE) << std::endl; + // } get_elapsed_ns += t.nsecsElapsed(); } -- cgit v1.2.3-70-g09d2