Implemented CAFF stuff

This commit is contained in:
2020-11-06 02:24:05 +01:00
parent b42f8fe4ef
commit cbb8da45ce
4 changed files with 274 additions and 9 deletions

View File

@@ -6,33 +6,44 @@
#include "magic_memory.h"
#include "pixeldata_utils.h"
#include "ciff_tools.h"
#include "caff_tools.h"
#include "utils.h"
int main() {
magic_memory_context_t *context = magic_memory_begin();
uint8_t *ciff_file;
uint64_t ciff_size;
uint8_t result = read_file_to_mem(context, "/home/marcsello/Documents/etyetem/szamitobiztonsag/caff/1.ciff",
67108864, &ciff_file, &ciff_size);
uint8_t *caff_file;
uint64_t caff_size;
uint8_t result = read_file_to_mem(context, "/home/marcsello/Documents/etyetem/szamitobiztonsag/caff/2.caff",
67108864, &caff_file, &caff_size);
if (result != FILE_READ_SUCCESS) {
printf("File read failure: %d", result);
return 1;
}
uint8_t* ciff_ptr;
uint64_t ciff_size;
result = parse_caff_get_first_ciff(caff_file,caff_size,&ciff_ptr, &ciff_size);
if (result != CAFF_PARSE_SUCCESS) {
printf("CAFF Parse failure: %d", result);
return 1;
}
uint64_t width;
uint64_t height;
uint64_t pixel_data_starts;
result = get_pixel_data_from_ciff(ciff_file, ciff_size, &width, &height, &pixel_data_starts);
result = get_pixel_data_from_ciff(ciff_ptr, ciff_size, &width, &height, &pixel_data_starts);
uint64_t pixel_data_size = width * height * 3;
if (result == CIFF_PARSE_SUCCESS) {
uint8_t *flipped_image = (uint8_t *) magic_malloc(context, ciff_size - pixel_data_starts);
if (flip_image(ciff_file + pixel_data_starts, flipped_image, pixel_data_size, width, height) !=
uint8_t *flipped_image = (uint8_t *) magic_malloc(context, caff_size - pixel_data_starts);
if (flip_image(ciff_ptr + pixel_data_starts, flipped_image, pixel_data_size, width, height) !=
IMAGE_FLIP_SUCCESS) {
printf("Literally failed to flip the image");
} else {
@@ -43,7 +54,7 @@ int main() {
} else {
printf("%d", result);
printf("Failed to get pixel data: %d", result);
}