This commit is contained in:
Pin
2021-10-15 21:17:47 -04:00
parent 6166af2b41
commit 3c6c08429d
5 changed files with 109 additions and 86 deletions

View File

@@ -37,65 +37,22 @@ void populate_idat_png(unsigned char *addr, struct PNG_IDAT_FILE_STRUCT *png_dat
cur_idat_length += (png_data->idat_length[i] << (24-(8*i)));
}
printf("\n%ld\n", cur_idat_length);
for(int i = 0; i < 4; i++){
png_data->idat_header[i] = addr[i+offset+4];
}
}
void populate_start_png(unsigned char *addr, struct PNG_START_FILE_STRUCT *png_data) {
for(int i = 0; i < 8; i++) {
png_data->file_sig[i] = addr[i];
printf("%02X ", png_data->file_sig[i]);
union{
unsigned char *data;
struct PNG_START_FILE_STRUCT *png_data;
}png;
png.png_data = png_data;
for(int i = 0; i < sizeof(struct PNG_START_FILE_STRUCT); i++) {
png.data[i] = addr[i];
}
printf("\n");
for(int i = 0; i < 4; i++) {
png_data->ihdr_length[i] = addr[i+8];
printf("%02X ", png_data->ihdr_length[i]);
}
printf("\n");
for(int i = 0; i < 4; i++) {
png_data->ihdr_header[i] = addr[i+12];
printf("%02X ", png_data->ihdr_header[i]);
}
printf("\n");
for(int i = 0; i < 4; i++) {
png_data->file_width[i] = addr[i+16];
printf("%02X ", png_data->file_width[i]);
}
printf("\n");
for(int i = 0; i < 4; i++) {
png_data->file_height[i] = addr[i+20];
printf("%02X ", png_data->file_height[i]);
}
printf("\n");
for(int i = 0; i < 1; i++) {
png_data->bit_depth[i] = addr[i+24];
printf("%02X ", png_data->bit_depth[i]);
}
printf("\n");
for(int i = 0; i < 1; i++) {
png_data->color_type[i] = addr[i+25];
printf("%02X ", png_data->color_type[i]);
}
printf("\n");
for(int i = 0; i < 1; i++) {
png_data->compression_method[i] = addr[i+26];
printf("%02X ", png_data->compression_method[i]);
}
printf("\n");
for(int i = 0; i < 1; i++) {
png_data->filter_method[i] = addr[i+27];
printf("%02X ", png_data->filter_method[i]);
}
printf("\n");
for(int i = 0; i < 1; i++) {
png_data->interlace_method[i] = addr[i+28];
printf("%02X ", png_data->interlace_method[i]);
}
printf("\n");
for(int i = 0; i < 4; i++) {
png_data->ihdr_crc[i] = addr[i+29];
printf("%02X ", png_data->ihdr_crc[i]);
}
printf("\n");
}
int create_cc_file(unsigned char *addr, unsigned long file_length) {