Implemented image flipper

This commit is contained in:
Pünkösd Marcell 2020-11-03 19:52:20 +01:00
parent efb8fb1703
commit 3acdd717b1
2 changed files with 37 additions and 0 deletions

22
src/pixeldata_utils.c Normal file
View File

@ -0,0 +1,22 @@
//
// Created by marcsello on 03/11/2020.
//
#include "pixeldata_utils.h"
uint8_t flip_image(const uint8_t *source, uint8_t *destination, uint64_t data_length, uint64_t width, uint64_t height) {
if ((width*height*3) != data_length) {
return IMAGE_FLIP_FAIL;
}
for (uint64_t i = 0; i < height; i++) {
for (uint64_t j = 0; j < width; j++) {
destination[(i * width + j) * 3] = source[((height - i - 1) * width + j) * 3];
destination[(i * width + j) * 3 + 1] = source[((height - i - 1) * width + j) * 3 + 1];
destination[(i * width + j) * 3 + 2] = source[((height - i - 1) * width + j) * 3 + 2];
}
}
return IMAGE_FLIP_SUCCESS;
}

15
src/pixeldata_utils.h Normal file
View File

@ -0,0 +1,15 @@
//
// Created by marcsello on 03/11/2020.
//
#ifndef CAFF_PREVIEWER_PIXELDATA_UTILS_H
#define CAFF_PREVIEWER_PIXELDATA_UTILS_H
#include <stdint.h>
#define IMAGE_FLIP_SUCCESS 0
#define IMAGE_FLIP_FAIL 0
uint8_t flip_image(const uint8_t* source, uint8_t* destination, uint64_t data_length, uint64_t width, uint64_t height);
#endif //CAFF_PREVIEWER_PIXELDATA_UTILS_H