34 lines
941 B
C
34 lines
941 B
C
#include "encode.h"
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
|
|
int encode_main(int argc, char* argv[])
|
|
{
|
|
FILE *input_file = fopen(argv[2], "rb");
|
|
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) {
|
|
fprintf(stderr, "Error opening output file: %s\n", argv[3]);
|
|
fclose(input_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]);
|
|
}
|
|
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;
|
|
}
|