jpeg_destroy_decompress(&cinfo);
}
-void _kds_s2000w_image_converter_set_pixels(uint8_t data_byte, xel* pixels)
+void _kds_s2000w_image_converter_set_pixels(uint8_t data_byte, bit* pixels)
{
- uint8_t bit = 0;
int32_t last_idx = BYTE_BITS - 1;
for (uint32_t i = 0; i < BYTE_BITS; i++) {
- bit = data_byte >> (last_idx - i) & 1;
- if (bit == 0)
- pixels[i].b = PNM_MAXMAXVAL;
+ pixels[i] = data_byte >> (last_idx - i) & 1;
}
}
{
kds_s2000w_debug_printf(ALL, "kds_s2000w_image_converter_write_bw_pnm");
- uint32_t bit_witdth = width * BYTE_BITS;
- xel** pixels = pnm_allocarray(bit_witdth, height);
+ size_t bit_width = width * BYTE_BITS;
+ bit** pixels = pbm_allocarray(bit_width, height);
for (uint32_t i = 0; i < height; i++) {
- memset(pixels[i], 0, sizeof(xel) * bit_witdth);
+ memset(pixels[i], 0, sizeof(bit) * bit_width);
}
- uint32_t currwidth = 0;
- uint32_t currheight = 0;
- for (uint32_t i = 0; i < size; i++) {
- _kds_s2000w_image_converter_set_pixels(data[i], &pixels[currheight][currwidth]);
- currwidth += BYTE_BITS;
+ uint32_t curr_width = 0;
+ uint32_t curr_height = 0;
+ for (int i = 0; i < size; i++) {
+ _kds_s2000w_image_converter_set_pixels(data[i], &pixels[curr_height][curr_width]);
+ curr_width += 8;
- if (currwidth >= bit_witdth) {
- currwidth = 0;
- currheight++;
+ if (curr_width >= bit_width) {
+ curr_width = 0;
+ curr_height++;
}
}
- pnm_writepnm(pnm_stream, pixels, width, height, PNM_MAXMAXVAL, PBM_FORMAT, 0);
+ pbm_writepbm(pnm_stream, pixels, width, height, 0);
- pnm_freearray(pixels, height);
+ pbm_freearray(pixels, height);
pixels = NULL;
}