]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change calc bytes per line extra method
authorBastian Dehn <hhaalo@arcor.de>
Mon, 20 Oct 2025 17:27:47 +0000 (19:27 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 20 Oct 2025 17:27:47 +0000 (19:27 +0200)
src/kds_s2000w_handler.c

index 30ab6b58d24ce392b54b97bebb36477037a219a0..d7b383594164a8b7287cdf1aafc250f88c77b0ff 100644 (file)
@@ -114,6 +114,18 @@ blobdata_t* _kds_s2000w_handler_move_image(handler_t* h)
        return scanner_image;
 }
 
+uint32_t _kds_s2000w_handler_calc_bytes_per_line(metadata_t* params)
+{
+       uint8_t channels = 1;
+       if (params->format == 1)
+               channels = 3;
+
+       if (params->depth == 1)
+               return channels * floor((params->pixels_per_line + 7) / 8);
+
+       return channels * params->pixels_per_line * params->depth / 8;
+}
+
 handler_t* kds_s2000w_handler_init()
 {
        kds_s2000w_debug_printf(ALL, "init handler");
@@ -349,15 +361,7 @@ void kds_s2000w_handler_get_current_metadata(handler_t* h, metadata_t* params)
        params->depth = mdata->depth;
        params->pixels_per_line = mdata->width;
        params->lines = mdata->height;
-
-       uint8_t channels = 1;
-       if (params->format == 1)
-               channels = 3;
-
-       if (params->depth == 1)
-               params->bytes_per_line = channels * floor((params->pixels_per_line + 7) / 8);
-       else
-               params->bytes_per_line = channels * params->pixels_per_line * params->depth / 8;
+       params->bytes_per_line = _kds_s2000w_handler_calc_bytes_per_line(params);
 
        free(mdata);
        mdata = NULL;