From: Bastian Dehn Date: Mon, 20 Oct 2025 17:27:47 +0000 (+0200) Subject: change calc bytes per line extra method X-Git-Tag: v1.1.15^2~13 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=24c99b5fcb5b903dbf9eb93d30ee5bc9a96d2a3f;p=sane-kds-s2000w-net.git change calc bytes per line extra method --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 30ab6b5..d7b3835 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -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;