genesys: Simplify physical pixel count computation on gl124

fix-build-obselete-jpeg
Povilas Kanapickas 2020-03-20 23:29:03 +02:00
rodzic e2fc129b56
commit 576d1fcdba
2 zmienionych plików z 27 dodań i 20 usunięć

Wyświetl plik

@ -895,9 +895,6 @@ void compute_session_pixel_offsets(const Genesys_Device* dev, ScanSession& s,
// FIXME: should we add sensor.dummy_pxel to pixel_startx at this point?
s.pixel_endx = s.pixel_startx + s.optical_pixels;
s.pixel_startx /= s.hwdpi_divisor * s.segment_count * ccd_pixels_per_system_pixel;
s.pixel_endx /= s.hwdpi_divisor * s.segment_count * ccd_pixels_per_system_pixel;
}
s.pixel_count_ratio = sensor.pixel_count_ratio;

Wyświetl plik

@ -1958,12 +1958,13 @@ void genesys_init_sensor_tables()
ValueFilterAny<unsigned> resolutions;
int exposure_lperiod;
SensorExposure exposure;
Ratio pixel_count_ratio;
std::vector<unsigned> segment_order;
GenesysRegisterSettingSet custom_regs;
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150 }, 4608, { 462, 609, 453 }, std::vector<unsigned>{}, {
{ { 75, 100, 150 }, 4608, { 462, 609, 453 }, Ratio{1, 4}, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0c },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
@ -1980,7 +1981,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
}
},
{ { 300 }, 4608, { 462, 609, 453 }, std::vector<unsigned>{}, {
{ { 300 }, 4608, { 462, 609, 453 }, Ratio{1, 4}, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x0c },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
@ -1997,7 +1998,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
}
},
{ { 600 }, 5360, { 823, 1117, 805 }, std::vector<unsigned>{}, {
{ { 600 }, 5360, { 823, 1117, 805 }, Ratio{1, 4}, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x0a },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
@ -2014,7 +2015,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 1200 }, 10528, { 6071, 6670, 6042 }, { 0, 1 }, {
{ { 1200 }, 10528, { 6071, 6670, 6042 }, Ratio{1, 4}, { 0, 1 }, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 },{ 0x20, 0x08 },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
@ -2031,7 +2032,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x22 },
}
},
{ { 2400 }, 20864, { 7451, 8661, 7405 }, { 0, 2, 1, 3 }, {
{ { 2400 }, 20864, { 7451, 8661, 7405 }, Ratio{1, 4}, { 0, 2, 1, 3 }, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x06 },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
@ -2054,6 +2055,7 @@ void genesys_init_sensor_tables()
sensor.resolutions = setting.resolutions;
sensor.exposure_lperiod = setting.exposure_lperiod;
sensor.exposure = setting.exposure;
sensor.pixel_count_ratio = setting.pixel_count_ratio;
sensor.segment_order = setting.segment_order;
sensor.custom_regs = setting.custom_regs;
s_sensors->push_back(sensor);
@ -2080,12 +2082,14 @@ void genesys_init_sensor_tables()
ValueFilterAny<unsigned> resolutions;
int exposure_lperiod;
SensorExposure exposure;
Ratio pixel_count_ratio;
std::vector<unsigned> segment_order;
GenesysRegisterSettingSet custom_regs;
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150, 300 }, 4608, { 1244, 1294, 1144 }, std::vector<unsigned>{}, {
{ { 75, 100, 150, 300 },
4608, { 1244, 1294, 1144 }, Ratio{1, 4}, std::vector<unsigned>{}, {
{ 0x16, 0x15 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
@ -2102,7 +2106,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 600 }, 5360, { 2394, 2444, 2144 }, std::vector<unsigned>{}, {
{ { 600 }, 5360, { 2394, 2444, 2144 }, Ratio{1, 4}, std::vector<unsigned>{}, {
{ 0x16, 0x11 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
@ -2119,7 +2123,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 1200 }, 10528, { 4694, 4644, 4094 }, std::vector<unsigned>{}, {
{ { 1200 }, 10528, { 4694, 4644, 4094 }, Ratio{1, 2}, std::vector<unsigned>{}, {
{ 0x16, 0x15 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
@ -2136,7 +2140,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 2400 }, 20864, { 8944, 8144, 7994 }, std::vector<unsigned>{}, {
{ { 2400 }, 20864, { 8944, 8144, 7994 }, Ratio{1, 1}, std::vector<unsigned>{}, {
{ 0x16, 0x11 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
@ -2159,6 +2163,7 @@ void genesys_init_sensor_tables()
sensor.resolutions = setting.resolutions;
sensor.exposure_lperiod = setting.exposure_lperiod;
sensor.exposure = setting.exposure;
sensor.pixel_count_ratio = setting.pixel_count_ratio;
sensor.segment_order = setting.segment_order;
sensor.custom_regs = setting.custom_regs;
s_sensors->push_back(sensor);
@ -2185,12 +2190,13 @@ void genesys_init_sensor_tables()
ValueFilterAny<unsigned> resolutions;
int exposure_lperiod;
SensorExposure exposure;
Ratio pixel_count_ratio;
std::vector<unsigned> segment_order;
GenesysRegisterSettingSet custom_regs;
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150, 300 }, 2768, { 388, 574, 393 }, std::vector<unsigned>{}, {
{ { 75, 100, 150, 300 }, 2768, { 388, 574, 393 }, Ratio{1, 4}, std::vector<unsigned>{}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0c },
@ -2208,7 +2214,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
}
},
{ { 600 }, 5360, { 388, 574, 393 }, std::vector<unsigned>{}, {
{ { 600 }, 5360, { 388, 574, 393 }, Ratio{1, 4}, std::vector<unsigned>{}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0a },
@ -2226,7 +2232,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
}
},
{ { 1200 }, 10528, { 388, 574, 393 }, {0, 1}, {
{ { 1200 }, 10528, { 388, 574, 393 }, Ratio{1, 4}, {0, 1}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x08 },
@ -2244,7 +2250,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x22 },
},
},
{ { 2400 }, 20864, { 6839, 8401, 6859 }, {0, 2, 1, 3}, {
{ { 2400 }, 20864, { 6839, 8401, 6859 }, Ratio{1, 4}, {0, 2, 1, 3}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x06 },
@ -2268,6 +2274,7 @@ void genesys_init_sensor_tables()
sensor.resolutions = setting.resolutions;
sensor.exposure_lperiod = setting.exposure_lperiod;
sensor.exposure = setting.exposure;
sensor.pixel_count_ratio = setting.pixel_count_ratio;
sensor.segment_order = setting.segment_order;
sensor.custom_regs = setting.custom_regs;
s_sensors->push_back(sensor);
@ -2294,12 +2301,14 @@ void genesys_init_sensor_tables()
ValueFilterAny<unsigned> resolutions;
int exposure_lperiod;
SensorExposure exposure;
Ratio pixel_count_ratio;
std::vector<unsigned> segment_order;
GenesysRegisterSettingSet custom_regs;
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150, 300 }, 2768, { 388, 574, 393 }, std::vector<unsigned>{}, {
{ { 75, 100, 150, 300 },
2768, { 388, 574, 393 }, Ratio{1, 4}, std::vector<unsigned>{}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0c },
@ -2317,7 +2326,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
}
},
{ { 600 }, 5360, { 388, 574, 393 }, std::vector<unsigned>{}, {
{ { 600 }, 5360, { 388, 574, 393 }, Ratio{1, 4}, std::vector<unsigned>{}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0a },
@ -2335,7 +2344,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
}
},
{ { 1200 }, 10528, { 388, 574, 393 }, {0, 1}, {
{ { 1200 }, 10528, { 388, 574, 393 }, Ratio{1, 4}, {0, 1}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x08 },
@ -2353,7 +2362,7 @@ void genesys_init_sensor_tables()
{ 0x98, 0x22 },
}
},
{ { 2400 }, 20864, { 6839, 8401, 6859 }, {0, 2, 1, 3}, {
{ { 2400 }, 20864, { 6839, 8401, 6859 },Ratio{1, 4}, {0, 2, 1, 3}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x06 },
@ -2377,6 +2386,7 @@ void genesys_init_sensor_tables()
sensor.resolutions = setting.resolutions;
sensor.exposure_lperiod = setting.exposure_lperiod;
sensor.exposure = setting.exposure;
sensor.pixel_count_ratio = setting.pixel_count_ratio;
sensor.segment_order = setting.segment_order;
sensor.custom_regs = setting.custom_regs;
s_sensors->push_back(sensor);