}
fclose(jpeg_stream);
- gray** pixels = malloc(sizeof(gray*) * cinfo->output_height);
+ xel** pixels = malloc(sizeof(xel*) * cinfo->output_height);
for (int i = 0; i < cinfo->output_height; i++) {
- pixels[i] = malloc(sizeof(gray) * cinfo->output_width);
+ pixels[i] = malloc(sizeof(xel) * cinfo->output_width);
}
int currwidth = 0;
int currheight = 0;
for (int i = 0; i < decompress_size; i += GRAY) {
- pixels[currheight][currwidth] = decompress_data[i];
+ pixels[currheight][currwidth].r = 0;
+ pixels[currheight][currwidth].g = 0;
+ pixels[currheight][currwidth].b = decompress_data[i];
currwidth++;
if (currwidth >= cinfo->output_width) {
currwidth = 0;
}
}
- pgm_writepgm(pnm_stream, pixels, cinfo->output_width, cinfo->output_height, PNM_MAXMAXVAL, 0);
+ pnm_writepnm(pnm_stream, pixels, cinfo->output_width, cinfo->output_height, PGM_MAXMAXVAL, PGM_FORMAT, 0);
for (int i = 0; i < cinfo->output_height; i++) {
free(pixels[i]);