C6 adidas done

This commit is contained in:
Rens Pastoor
2025-06-16 11:22:40 +02:00
parent 3d69c8b93d
commit 04072d831e
4 changed files with 45 additions and 79 deletions

View File

@@ -1,46 +1,33 @@
#include "encode.h"
#include <stdbool.h>
#include <stdio.h>
#include <stdint.h>
int encode_main(int argc, char* argv[])
{
bool encoding = true;
FILE *input_file = fopen(argv[2], "rb");
if (input_file == NULL) {
if (!input_file) {
fprintf(stderr, "Error opening input file: %s\n", argv[2]);
return 1;
}
FILE *output_file = fopen(argv[3], "wb");
if (output_file == NULL) {
if (!output_file) {
fprintf(stderr, "Error opening output file: %s\n", argv[3]);
fclose(input_file);
return 1;
}
while (encoding)
{
// Read data
unsigned char buffer[512];
size_t bytes_read = fread(buffer, 1, sizeof(buffer), input_file);
if (bytes_read == 0) {
if (feof(input_file)) {
encoding = false; // eof reached
} else {
fprintf(stderr, "Error reading from input file\n");
fclose(input_file);
fclose(output_file);
return 1;
}
uint8_t buffer[1024], high[1024], low[1024];
size_t bytes_read;
while ((bytes_read = fread(buffer, 1, sizeof(buffer), input_file)) > 0) {
for (size_t i = 0; i < bytes_read; i++) {
encode_value(buffer[i], &high[i], &low[i]);
}
// Encode data
unsigned char encoded_data_high[sizeof(buffer)];
unsigned char encoded_data_low[sizeof(buffer)];
encode_value(buffer, encoded_data_high, encoded_data_low);
// Write data
fwrite(encoded_data_high, 1, bytes_read, output_file);
fwrite(encoded_data_low, 1, bytes_read, output_file);
fwrite(high, 1, bytes_read, output_file);
fwrite(low, 1, bytes_read, output_file);
}
fclose(input_file);
fclose(output_file);
printf("Encoding completed successfully.\n");
return 0;
}