]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change mirrored bits in one step
authorBastian Dehn <hhaalo@arcor.de>
Sat, 15 Feb 2025 09:56:27 +0000 (10:56 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 15 Feb 2025 09:57:10 +0000 (10:57 +0100)
src/kds_s2000w_image_converter_netpbm.c

index f8b4b9fad21afd2a5dd50ced0dcd0b3d751729ca..1ec6a962920f8d252ab345e87da119b1a760bf96 100644 (file)
@@ -172,23 +172,12 @@ void _kds_s2000w_image_converter_jpeg_metadata(blobdata* image, image_metadata*
        jpeg_destroy_decompress(&cinfo);
 }
 
-uint8_t _kds_s2000w_image_converter_mirror_bits(uint8_t data)
-{
-       uint8_t mirrored = 0;
-
-       for (uint32_t i = 0; i < BYTE_BITS; i++) {
-               mirrored <<= 1;
-               mirrored += data >> i & 1;
-       }
-
-       return mirrored;
-}
-
 void _kds_s2000w_image_converter_set_pixels(uint8_t data_byte, xel* pixels)
 {
        uint8_t bit = 0;
+       int32_t last_idx = BYTE_BITS - 1;
        for (uint32_t i = 0; i < BYTE_BITS; i++) {
-               bit = data_byte >> i & 1;
+               bit = data_byte >> last_idx - i & 1;
                if (bit == 0)
                        pixels[i].b = PNM_MAXMAXVAL;
        }
@@ -212,8 +201,6 @@ void _kds_s2000w_image_converter_write_bw_pnm(uint8_t* data,
        uint32_t currwidth = 0;
        uint32_t currheight = 0;
        for (uint32_t i = 0; i < size; i++) {
-               data[i] = _kds_s2000w_image_converter_mirror_bits(data[i]);
-
                _kds_s2000w_image_converter_set_pixels(data[i], &pixels[currheight][currwidth]);
                currwidth += BYTE_BITS;