summaryrefslogtreecommitdiff
path: root/src/image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/image.cpp')
-rw-r--r--src/image.cpp42
1 files changed, 10 insertions, 32 deletions
diff --git a/src/image.cpp b/src/image.cpp
index c2ee5b4..e22c9bb 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -111,36 +111,21 @@ void Image::rotate()
{
QElapsedTimer t;
t.start();
- // start_timer(rotate);
- using namespace std;
-
- // Image::data_t &d = *data;
-#pragma omp parallel
-#pragma omp for
- for (size_t i = 0; i < img_height; ++i) {
- for (size_t j = 0; j < img_width; ++j) {
- // for (size_t j = 0; j < img_width; j += 4) {
+ for (size_t j = 0; j < img_width; ++j) {
+ for (size_t i = 0; i < img_height; ++i) {
rotated_cw[j][i] = data[img_height - i - 1][j];
- // rotated_cw[j][i] = d[img_height - i - 1][j];
-
- // rotated_cw[j + 0][i] = data[img_height - i - 1][j + 0];
- // rotated_cw[j + 1][i] = data[img_height - i - 1][j + 1];
- // rotated_cw[j + 2][i] = data[img_height - i - 1][j + 2];
- // rotated_cw[j + 3][i] = data[img_height - i - 1][j + 3];
-
- // rotated_cw[j][i] = dataAt(img_height - i - 1, j);
}
}
- // stop_timer(rotate);
rot_elapsed_ns += t.nsecsElapsed();
}
-std::shared_ptr<Pixels> Image::pixels() const
+Pixels Image::pixels() const
{
- auto result = std::make_shared<Pixels>();
- result->counters = counters;
+ // auto result = std::make_shared<Pixels>();
+ Pixels result;
+ result.counters = counters;
start_timer(process_columns);
// std::transform(std::execution::par_unseq,
@@ -149,19 +134,12 @@ std::shared_ptr<Pixels> Image::pixels() const
// result->pixels.begin(),
// [](const auto &column) -> float { return process_column(column); });
-#pragma omp chunk
-#pragma omp parallel for
- for (size_t i = 0; i < img_width; i++) {
- result->pixels[i] = process_column(rotated_cw[i]);
+ // #pragma omp chunk
+ // #pragma omp parallel for
+ for (size_t i = 0; i < img_width / 4; i++) {
+ result.pixels[i] = process_column(rotated_cw[i]);
}
- // for (size_t i = 640 - 5; i < 640 + 5; ++i) {
- // std::cout << result->pixels[i] << ' ';
- // }
- // std::cout << std::endl;
-
- stop_timer(process_columns);
-
return result;
}