Povilas Kanapickas
2e10f4ac17
genesys: Report failures to produce full lines in pipeline
2019-09-16 09:34:09 +03:00
Povilas Kanapickas
f2b1b4449e
genesys: Add a way to use an image as a source for a pipeline
2019-09-16 09:34:08 +03:00
Povilas Kanapickas
ab62a1448c
genesys: Use session for pixel coordinates during calibration
2019-09-15 15:40:31 +03:00
Povilas Kanapickas
b9346f0f79
genesys: Add a way to multiply the pixel counts sent to the scanner
2019-09-15 15:14:18 +03:00
Povilas Kanapickas
00b8441dfa
genesys: Add a way to override logical HW dpi
2019-09-15 15:14:17 +03:00
Povilas Kanapickas
34c7a4cb29
genesys: Rename {dpihw => register_dpihw}_override
2019-09-15 15:14:16 +03:00
Povilas Kanapickas
050b0c1d8a
genesys: Invert meaning of GENESYS_FLAG_LAZY_INIT
2019-09-15 14:46:48 +03:00
Povilas Kanapickas
c7bb34c998
genesys: Simplify calibration calculations on GL843
2019-09-15 14:46:47 +03:00
Povilas Kanapickas
079fa25b0d
genesys: Allow full value range of the frontend registers to be set
2019-09-15 14:46:46 +03:00
Povilas Kanapickas
2bb31ed5d8
genesys: Remove duplicate logs of information included into session
2019-09-15 14:46:45 +03:00
Olaf Meeuwissen
345be52f9e
nec: Fix [-Werror=implicit-fallthrough] warning
...
The fallthrough would log a message that is probably misleading.
2019-09-28 20:33:26 +09:00
Povilas Kanapickas
29580b08b5
Merge branch 'genesys-deduplicate-shading-calibration' into 'master'
...
genesys: Deduplicate shading calibration
See merge request sane-project/backends!184
2019-09-28 05:49:11 +00:00
Povilas Kanapickas
bf3e170dba
Merge branch 'genesys-use-image-pipeline' into 'master'
...
genesys: Use new image operations pipeline for image data reading and conversion
See merge request sane-project/backends!183
2019-09-28 05:48:28 +00:00
Povilas Kanapickas
f3d0a7c17c
Merge branch 'genesys-fix-pow-ambiguity' into 'master'
...
genesys: Fix ambiguity of std::pow() on old compilers
See merge request sane-project/backends!182
2019-09-28 05:34:34 +00:00
Povilas Kanapickas
bee1179e0e
genesys: Print debug images of intermediate pipeline output
2019-09-28 07:33:28 +03:00
Povilas Kanapickas
41addb9730
genesys: Fix debug identifiers
2019-09-28 07:33:28 +03:00
Povilas Kanapickas
9cd1de5c52
genesys: Add a way to debug image pipelines
2019-09-28 07:33:28 +03:00
Povilas Kanapickas
cd712f9f99
genesys: Use new image pipeline for row scaling
2019-09-28 07:33:28 +03:00
Povilas Kanapickas
bf7e890fa4
genesys: Use new image pipeline for CCD line shifts and unstagger
2019-09-28 07:33:28 +03:00
Povilas Kanapickas
0b1bfa3f12
genesys: Swap 16-bit pixel endian on big endian machines
2019-09-28 07:33:27 +03:00
Povilas Kanapickas
cae3015b66
genesys: Use new image pipeline for format and CIS reordering
2019-09-28 07:33:27 +03:00
Povilas Kanapickas
8cf5735278
genesys: Fix ambiguity of std::pow() on old compilers
2019-09-28 07:31:22 +03:00
Olaf Meeuwissen
9eefac82ca
Merge branch '103-add-old-changelogs-to-source-tarball' into 'master'
...
Resolve "Source tarball does not include older ChangeLogs"
Closes #103
See merge request sane-project/backends!127
2019-09-28 03:09:07 +00:00
Povilas Kanapickas
a500f577c0
Merge branch 'genesys-calibration-variable-names' into 'master'
...
genesys: Improve clarity of calibration offset variable names
See merge request sane-project/backends!180
2019-09-27 22:43:07 +00:00
Povilas Kanapickas
c9e95999f3
Merge branch 'genesys-generic-register-set' into 'master'
...
genesys: Make GenesysRegisterSettingSet generic
See merge request sane-project/backends!179
2019-09-27 22:38:55 +00:00
Povilas Kanapickas
db36dd8103
genesys: Move pixel coordinate calculation to a single place
2019-09-15 10:36:58 +03:00
Povilas Kanapickas
be4c3c1f69
genesys: Reduce duplication of shading calculations
2019-09-14 13:49:23 +03:00
Povilas Kanapickas
580b9db562
genesys: Don't duplicate actions when DARK_CALIBRATION flag is off
2019-09-14 13:49:22 +03:00
Povilas Kanapickas
8790940cc3
genesys: Remove code that has no effects
2019-09-14 13:49:21 +03:00
Povilas Kanapickas
154ab4578b
genesys: Extract calculation of dummy dark shading
2019-09-14 13:49:20 +03:00
Povilas Kanapickas
6f29caef0d
genesys: Extract post-shading repark out of white calibration function
2019-09-14 13:49:19 +03:00
Povilas Kanapickas
802a62ee2c
genesys: Fix incorrect calculation of output_line_bytes_raw on gl646
2019-09-13 16:40:42 +03:00
Povilas Kanapickas
40b2d8928f
genesys: Fix definition of output_line_bytes_raw on gl841 CIS scanners
2019-09-13 16:40:41 +03:00
Povilas Kanapickas
434b03d498
genesys: Fix definition of output_line_bytes_raw on gl124
2019-09-13 16:40:40 +03:00
Povilas Kanapickas
efbfcb0a7f
genesys: Improve clarity of calibration offset variable names
2019-09-13 16:03:21 +03:00
Povilas Kanapickas
dc52dc84f0
Merge branch 'genesys-misc-cleanup' into 'master'
...
genesys: Miscellaneous cleanup
See merge request sane-project/backends!177
2019-09-27 21:56:17 +00:00
Povilas Kanapickas
7a8da5c40b
Merge branch 'genesys-analog-devices-adc-calibration' into 'master'
...
genesys: Implement gain calibration for Analog-Devices ADC
See merge request sane-project/backends!176
2019-09-27 21:32:02 +00:00
Povilas Kanapickas
0440123bdc
Merge branch 'genesys-gl843-segmented-sensors' into 'master'
...
genesys: Add support for segmented sensors on gl843
See merge request sane-project/backends!175
2019-09-27 21:21:09 +00:00
Povilas Kanapickas
4cd9dbb73d
Merge branch 'genesys-image-library' into 'master'
...
genesys: Implement a streaming image library
See merge request sane-project/backends!174
2019-09-27 21:06:44 +00:00
Povilas Kanapickas
c59f9a037b
Merge branch 'genesys-default-scan-method' into 'master'
...
genesys: Add a way to specify default scan method
See merge request sane-project/backends!173
2019-09-27 20:55:51 +00:00
Povilas Kanapickas
17dc1aee81
Merge branch 'genesys-desegmentation-refactor' into 'master'
...
genesys: Simplify desegmentation state (part 6)
See merge request sane-project/backends!172
2019-09-27 20:44:47 +00:00
Povilas Kanapickas
e0974ab74a
stv: Fix macro constant redefinition
2019-09-27 23:23:19 +03:00
Povilas Kanapickas
661aa3bcdb
genesys: Make GenesysRegisterSettingSet generic
2019-09-13 15:56:44 +03:00
Povilas Kanapickas
d4e4bf35c1
genesys: Fix a bug in segmented sensors when scanning 16-bit data
2019-09-13 15:37:33 +03:00
Povilas Kanapickas
af17797d3c
genesys: Use new image pipeline for handling segmented sensors
2019-09-13 15:37:32 +03:00
Povilas Kanapickas
7f852e0417
genesys: Fix depth calculation for segmented sensors in lineart mode
2019-09-13 15:37:31 +03:00
Povilas Kanapickas
e89c6a0aab
genesys: Remove accidental uses of C++14 APIs
2019-09-13 15:37:30 +03:00
Povilas Kanapickas
9a844e1ede
genesys: Compute what image processing will be needed in session
2019-09-13 11:36:56 +03:00
Povilas Kanapickas
a5efb96978
genesys: Replace uses of Genesys_Color_Order with ColorOrder
2019-09-13 11:36:55 +03:00
Povilas Kanapickas
05ed63fa34
genesys: Move setup of read buffer to a single function
2019-09-13 11:36:54 +03:00
Povilas Kanapickas
28d15784e4
genesys: Remove unused code
2019-09-13 11:36:53 +03:00
Povilas Kanapickas
8ed2cd991b
genesys: Initialize frontend state from the outset
2019-09-13 11:36:52 +03:00
Povilas Kanapickas
d73915ba19
genesys: Implement gain calibration for Analog-Devices ADC
2019-09-13 11:01:48 +03:00
Povilas Kanapickas
e45e668326
genesys: Extract gain computation into a separate function
2019-09-13 11:01:47 +03:00
Povilas Kanapickas
94c1cf1d5a
genesys: Add clamp() utility function
2019-09-13 11:01:46 +03:00
Povilas Kanapickas
ad1067ad03
genesys: Add support for segmented sensors on gl843
2019-09-13 10:52:35 +03:00
Povilas Kanapickas
1c7ef4b55e
genesys: Implement image data source that mimics current reading from USB
2019-09-13 10:38:05 +03:00
Povilas Kanapickas
7d7a395277
genesys: Implement library for image manipulation
2019-09-13 10:38:04 +03:00
Povilas Kanapickas
2f3d9e9d76
genesys: Don't crash when default scan method is not supported
2019-09-12 23:48:16 +03:00
Povilas Kanapickas
4c18ef27a2
genesys: Raise exception when device structs are not found
2019-09-12 23:48:15 +03:00
Povilas Kanapickas
c2115543db
genesys: Implement a way to set default scan method used internally
2019-09-12 23:48:14 +03:00
Povilas Kanapickas
c0010fcd9f
genesys: Fix incorrect scan method in move function on gl646
2019-09-12 23:48:13 +03:00
Povilas Kanapickas
9b7ab93727
genesys: Add unit test for genesys_fill_segmented_buffer()
2019-09-12 22:39:22 +03:00
Povilas Kanapickas
502478a40d
genesys: Reindent genesys_fill_segmented_buffer()
2019-09-12 22:39:21 +03:00
Povilas Kanapickas
c2c65f29c9
genesys: Simplify genesys_fill_segmented_buffer()
2019-09-12 22:39:20 +03:00
Povilas Kanapickas
0267eeeeae
genesys: Remove the desegmentation state struct
2019-09-12 22:22:00 +03:00
Povilas Kanapickas
3d023060a3
genesys: Move desegmentation skip_bytes to session struct
2019-09-12 22:21:59 +03:00
Povilas Kanapickas
192dd886cd
genesys: Use common code path to compute ..._segment_pixel_group_count
2019-09-12 22:21:58 +03:00
Povilas Kanapickas
4870a9f975
genesys: Properly set conseq_pixel_dist_bytes on gl124
2019-09-12 22:21:57 +03:00
Povilas Kanapickas
95eb6a72dd
genesys: Use single code path to compute session output_line_bytes_raw
2019-09-12 22:21:56 +03:00
Povilas Kanapickas
1f4a5311d7
genesys: Rename DesegmentationState::raw_{channel => line}_bytes
2019-09-12 22:21:55 +03:00
Povilas Kanapickas
61d4779402
genesys: Remove erroneously named raw_line_bytes
...
The raw_channel_bytes is what we store the line information to. Turns
out raw_line_bytes is unnecessary and only ever used by error.
2019-09-12 22:21:54 +03:00
Povilas Kanapickas
4df8872ab3
genesys: Simplify raw_channel_bytes computation more
...
On the chipsets in question, session.hwdpi_divisor == sensor.optical_res
/ sensor.get_register_hwdpi(...), so the divisor cancels out with the
rest of the expression.
2019-09-12 22:21:53 +03:00
Povilas Kanapickas
95a3836f1a
genesys: Simplify raw_channel_bytes calculation
2019-09-12 22:21:52 +03:00
Povilas Kanapickas
98320f5b81
genesys: Don't overflow in multiply_by_depth_ceil
2019-09-12 22:21:51 +03:00
Povilas Kanapickas
eb0882ecc4
genesys: Use common code path to compute session optical_pixels_raw
2019-09-12 22:11:20 +03:00
Povilas Kanapickas
3a323a751a
genesys: Use common code path to compute session conseq_pixel_dist_bytes
2019-09-12 22:11:19 +03:00
Povilas Kanapickas
693ff3e77a
genesys: Remove accidental use of C++14 features
2019-09-27 03:10:53 +03:00
Povilas Kanapickas
b856c2cb6f
genesys: Remove used_pixels to simplify segment setup
2019-09-12 21:24:32 +03:00
Povilas Kanapickas
0a10bcef59
genesys: Refactor the segment setup code to expose chip similarities
2019-09-12 21:24:31 +03:00
Povilas Kanapickas
41b5e5f5ff
genesys: Use common code path to compute session segment_count
2019-09-12 21:24:30 +03:00
Povilas Kanapickas
ae784d9927
genesys: Simplify segment count calculation
2019-09-12 21:24:29 +03:00
Povilas Kanapickas
a830fca943
genesys: Remove GL123 enum
2019-09-12 22:40:57 +03:00
Povilas Kanapickas
322a9a6810
genesys: Don't modify session in *_init_scan_regs()
2019-09-12 22:40:56 +03:00
Povilas Kanapickas
80d0129f44
genesys: Pass start pixel to *_init_optical_regs_scan() via session
2019-09-12 22:40:55 +03:00
Povilas Kanapickas
c0e465784e
genesys: Deduplicate different get_sensor_profile implementations
2019-09-12 22:40:54 +03:00
Povilas Kanapickas
52baae02dc
genesys: Use common code path to compute session hwdpi_divisor
2019-09-12 21:55:30 +03:00
Povilas Kanapickas
f480521a23
genesys: Pass sensor profile directly to *_setup_sensor() where possible
2019-09-12 21:55:29 +03:00
Povilas Kanapickas
676831dc7b
genesys: Move Genesys_Device::curr to DesegmentationState
2019-09-12 21:26:58 +03:00
Povilas Kanapickas
f92253adc8
genesys: Move Genesys_Device::segnb to DesegmentationState
2019-09-12 21:26:57 +03:00
Povilas Kanapickas
15996983ba
genesys: Rename SensorProfile::segment_{count => size}
2019-09-12 21:26:56 +03:00
Povilas Kanapickas
31820384de
genesys: Move Genesys_Device::skip to DesegmentationState
2019-09-12 21:26:55 +03:00
Povilas Kanapickas
9bd14f5350
genesys: Move Genesys_Device::len to DesegmentationState
2019-09-12 21:26:54 +03:00
Povilas Kanapickas
07d8db5423
genesys: Move Genesys_Device::dist to DesegmentationState
2019-09-12 21:26:53 +03:00
Povilas Kanapickas
dd70296827
genesys: Move desegmentation line width data to a separate struct
2019-09-12 21:26:52 +03:00
Povilas Kanapickas
827c3a049d
genesys: Rename ScanSession::output_{line_channel => channel}_bytes
2019-09-12 21:26:51 +03:00
Povilas Kanapickas
cbb7e95350
genesys: Use common code path to compute session buffer sizes
2019-09-12 20:28:46 +03:00
Povilas Kanapickas
a0cead1cd5
genesys: Pass asic type to sanei_genesys_get_bulk_max_size()
2019-09-12 20:28:45 +03:00
Povilas Kanapickas
88d6cdcc32
genesys: Rename read_bytes_left -> read_bytes_left_after_deseg
2019-09-12 20:06:38 +03:00
Povilas Kanapickas
96a893bb0d
genesys: Simplify words_per_line calculations
2019-09-12 20:06:37 +03:00