genesys: Simplify dpiset calculation on gl847

fix-build-obselete-jpeg
Povilas Kanapickas 2020-03-21 00:11:29 +02:00
rodzic a43d362b7b
commit 989782bd72
2 zmienionych plików z 8 dodań i 18 usunięć

Wyświetl plik

@ -528,10 +528,6 @@ static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time);
GenesysRegister *r;
// resolution is divided according to ccd_pixels_per_system_pixel()
unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel();
DBG(DBG_io2, "%s: ccd_pixels_per_system_pixel=%d\n", __func__, ccd_pixels_per_system_pixel);
gl847_setup_sensor(dev, sensor, reg);
dev->cmd_set->set_fe(dev, sensor, AFE_SET);
@ -625,10 +621,7 @@ static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
*/
}
unsigned dpiset = session.params.xres * ccd_pixels_per_system_pixel;
reg->set16(REG_DPISET, dpiset);
DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset);
reg->set16(REG_DPISET, sensor.dpiset_override);
reg->set16(REG_STRPIXEL, session.pixel_startx);
reg->set16(REG_ENDPIXEL, session.pixel_endx);

Wyświetl plik

@ -1163,6 +1163,7 @@ void genesys_init_sensor_tables()
for (const auto& setting : custom_settings) {
sensor.resolutions = setting.resolutions;
sensor.register_dpihw = setting.register_dpihw;
sensor.dpiset_override = setting.resolutions.values()[0];
sensor.shading_resolution = setting.register_dpihw;
sensor.exposure_lperiod = setting.exposure_lperiod;
sensor.exposure = setting.exposure;
@ -1298,6 +1299,7 @@ void genesys_init_sensor_tables()
for (const auto& setting : custom_settings) {
sensor.resolutions = setting.resolutions;
sensor.register_dpihw = setting.register_dpihw;
sensor.dpiset_override = setting.resolutions.values()[0];
sensor.shading_resolution = setting.register_dpihw;
sensor.exposure_lperiod = setting.exposure_lperiod;
sensor.exposure = setting.exposure;
@ -1422,6 +1424,7 @@ void genesys_init_sensor_tables()
for (const auto& setting : custom_settings) {
sensor.resolutions = setting.resolutions;
sensor.register_dpihw = setting.register_dpihw;
sensor.dpiset_override = setting.resolutions.values()[0];
sensor.shading_resolution = setting.register_dpihw;
sensor.exposure_lperiod = setting.exposure_lperiod;
sensor.exposure = setting.exposure;
@ -2254,6 +2257,7 @@ void genesys_init_sensor_tables()
auto base_custom_regs = sensor.custom_regs;
for (const CustomSensorSettings& setting : custom_settings) {
sensor.resolutions = setting.resolutions;
sensor.dpiset_override = setting.resolutions.values()[0];
sensor.register_dpihw = setting.register_dpihw;
sensor.shading_resolution = setting.register_dpihw;
sensor.shading_factor = setting.shading_factor;
@ -3442,19 +3446,12 @@ void verify_sensor_tables()
if (sensor.register_dpihw == 0) {
throw SaneException("register_dpihw is not defined");
}
if (sensor.shading_resolution == 0) {
throw SaneException("shading_resolution is not defined");
}
}
if (asic_type == AsicType::GL124 ||
asic_type == AsicType::GL841 ||
asic_type == AsicType::GL843 ||
asic_type == AsicType::GL845 ||
asic_type == AsicType::GL846)
{
if (sensor.dpiset_override == 0) {
throw SaneException("dpiset_override is not defined");
}
if (sensor.shading_resolution == 0) {
throw SaneException("shading_resolution is not defined");
}
}
}
}