diff options
| author | Nikita Kostovsky <nikita@kostovsky.me> | 2025-11-09 08:53:54 +0100 |
|---|---|---|
| committer | Nikita Kostovsky <nikita@kostovsky.me> | 2025-11-09 08:55:23 +0100 |
| commit | c81e60b1f5d62b74a2ebc269348b36bf91df5015 (patch) | |
| tree | 8589c151556a8d4755ebfa5520d076ae0b902387 /src/camera/veyeimx287m.cpp | |
| parent | 69c5e9c07941212ac77368effd1c60db3140d4a3 (diff) | |
fix memcpy_neon
Diffstat (limited to 'src/camera/veyeimx287m.cpp')
| -rw-r--r-- | src/camera/veyeimx287m.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
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<std::shared_ptr<ICamera> > 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<img_size / sizeof(ARRAY_TYPE)>((ARRAY_TYPE *) &image.data, + // (ARRAY_TYPE *) m_videoBuffers[bufferIdx]); // memcpy_1by1<img_size>((std::byte *) &image.data, // (std::byte *) m_videoBuffers[bufferIdx]); - memcpy_neon<img_size / sizeof(ARRAY_TYPE)>((ARRAY_TYPE *) &image.data, - (ARRAY_TYPE *) m_videoBuffers[bufferIdx]); + + // memcpy_neon<img_size / sizeof(ARRAY_TYPE)>((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<img_size / sizeof(ARRAY_TYPE)>((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(); } |
