summaryrefslogtreecommitdiff
path: root/src/image.cpp
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-11-12 12:07:14 +0100
committerNikita Kostovsky <nikita@kostovsky.me>2025-11-12 12:07:14 +0100
commit40ca7f75b233425b33c4db537783d32f1b1ab7fe (patch)
treea912aecc376a461d977741fe86c4416821a137a4 /src/image.cpp
parent56694326fcbc98624eb316a85a9d9186e3ac84f3 (diff)
radxa: copy only first img_width bytes for each row; cleanup
Diffstat (limited to 'src/image.cpp')
-rw-r--r--src/image.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/image.cpp b/src/image.cpp
index e1f7731..2962947 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -16,6 +16,7 @@ uint64_t corr_elapsed_ns = 0;
uint64_t max_elapsed_ns = 0;
uint64_t value_elapsed_ns = 0;
uint64_t rot_elapsed_ns = 0;
+// time spent for conversion of image to pixels
uint64_t pix_elapsed_ns = 0;
uint64_t dropped_count = 0;
@@ -178,8 +179,10 @@ void Image::rotate()
#ifdef RADXA_ZERO_3E
for (size_t i = 0; i < img_height; ++i) {
+ // const Image::row_t row = data[img_height - i - 1];
for (size_t j = 0; j < img_width; ++j) {
rotated_cw[j][i] = data[img_height - i - 1][j];
+ // rotated_cw[j][i] = row[j];
}
}
#else
@@ -212,10 +215,10 @@ std::shared_ptr<Pixels> Image::sharedPixels()
t.start();
static auto result = std::make_shared<Pixels>();
- pix_elapsed_ns += t.nsecsElapsed();
result->counters = counters;
std::transform(rotated_cw.cbegin(), rotated_cw.cend(), result->pixels.begin(), process_column);
+ pix_elapsed_ns += t.nsecsElapsed();
return result;
}
@@ -255,3 +258,10 @@ void Image::copyFromData(const void *src, size_t size)
break;
}
}
+
+void Image::copy(data_t &dst, const radxa_data_t &src)
+{
+ for (size_t i = 0; i < img_height; ++i) {
+ memcpy(dst[i].data(), src[i].data(), img_width);
+ }
+}