return scanner_image;
}
+uint32_t _kds_s2000w_handler_calc_bytes_per_line(const metadata_t* params)
+{
+ uint8_t channels = 1;
+ if (params->format == 1)
+ channels = 3;
+
+ if (params->depth == 1)
+ return channels * (params->pixels_per_line + 7) >> 3;
+
+ return channels * params->pixels_per_line * params->depth >> 3;
+}
+
void _kds_s2000w_handler_set_default_metadata(metadata_t* params)
{
params->format = 0;
params->depth = mdata->depth;
params->pixels_per_line = mdata->width;
params->lines = mdata->height;
- params->bytes_per_line = 0;
+ params->bytes_per_line = _kds_s2000w_handler_calc_bytes_per_line(params);
free(mdata);
mdata = NULL;
assert_int_equal(status, SANE_STATUS_GOOD);
assert_int_equal(params->format, 1);
assert_int_equal(params->last_frame, 1);
- assert_int_equal(params->bytes_per_line, 0);
+ assert_int_equal(params->bytes_per_line, 6);
assert_int_equal(params->pixels_per_line, 2);
assert_int_equal(params->lines, 1);
assert_int_equal(params->depth, 8);
assert_int_equal(status, SANE_STATUS_GOOD);
assert_int_equal(params->format, 0);
assert_int_equal(params->last_frame, 1);
- assert_int_equal(params->bytes_per_line, 0);
+ assert_int_equal(params->bytes_per_line, 1);
assert_int_equal(params->pixels_per_line, 2);
assert_int_equal(params->lines, 1);
assert_int_equal(params->depth, 1);