Lines Matching defs:avdimen

1845 				 Avision_Dimensions* avdimen)
1848 func, avdimen->hw_xres, avdimen->hw_yres, avdimen->line_difference);
1851 func, avdimen->tlx, avdimen->tly,
1852 avdimen->brx, avdimen->bry);
1855 func, avdimen->hw_pixels_per_line, avdimen->hw_lines, avdimen->hw_bytes_per_line);
1858 func, avdimen->xres, avdimen->yres);
2913 s->avdimen.interlaced_duplex = s->source_mode == AV_ADF_DUPLEX &&
2919 s->avdimen.interlaced_duplex = 1;
2951 s->avdimen.xres = s->val[OPT_RESOLUTION].w;
2952 s->avdimen.yres = s->val[OPT_RESOLUTION].w;
2961 for (hw_res = hw_res_list; *hw_res && *hw_res < s->avdimen.xres; ++hw_res)
2963 s->avdimen.hw_xres = *hw_res;
2965 for (hw_res = hw_res_list; *hw_res && *hw_res < s->avdimen.yres; ++hw_res)
2967 s->avdimen.hw_yres = *hw_res;
2970 s->avdimen.hw_xres,
2971 s->avdimen.hw_yres);
2973 if (!s->avdimen.hw_xres || ! s->avdimen.hw_yres) {
2975 s->avdimen.xres,
2976 s->avdimen.yres);
2981 s->avdimen.hw_xres = s->val[OPT_RESOLUTION].w;
2982 s->avdimen.hw_yres = s->val[OPT_RESOLUTION].w;
2990 s->avdimen.tlx = (long int) (s->avdimen.hw_xres * SANE_UNFIX (s->val[OPT_TL_X].w)
2992 s->avdimen.tly = (long int) (s->avdimen.hw_yres * SANE_UNFIX (s->val[OPT_TL_Y].w)
2994 s->avdimen.brx = (long int) (s->avdimen.hw_xres * SANE_UNFIX (s->val[OPT_BR_X].w)
2996 s->avdimen.bry = (long int) (s->avdimen.hw_yres * SANE_UNFIX (s->val[OPT_BR_Y].w)
3004 s->avdimen.line_difference =
3005 (dev->inquiry_line_difference * s->avdimen.hw_yres) / dev->inquiry_optical_res;
3007 s->avdimen.bry += 2 * s->avdimen.line_difference;
3012 s->avdimen.hw_yres / MM_PER_INCH);
3014 y_max, s->avdimen.bry, s->avdimen.line_difference);
3016 if (s->avdimen.bry + 2 * s->avdimen.line_difference > y_max) {
3018 s->avdimen.bry = y_max - 2 * s->avdimen.line_difference;
3024 s->avdimen.line_difference = 0;
3030 int overscan = (int) ((s->avdimen.hw_yres *
3035 s->avdimen.bry += overscan;
3042 if (dev->adf_offset_compensation && s->avdimen.interlaced_duplex) {
3106 s->avdimen.offset.front.top = (int) ( offsets.front.top * s->avdimen.yres / MM_PER_INCH );
3107 s->avdimen.offset.front.bottom = (int) ( offsets.front.bottom * s->avdimen.yres / MM_PER_INCH );
3108 s->avdimen.offset.rear.top = (int) ( offsets.rear.top * s->avdimen.yres / MM_PER_INCH );
3109 s->avdimen.offset.rear.bottom = (int) ( offsets.rear.bottom * s->avdimen.yres / MM_PER_INCH );
3112 s->avdimen.bry += (long) ( bry_offset * s->avdimen.hw_yres / MM_PER_INCH );
3115 s->avdimen.offset.front.top);
3117 s->avdimen.offset.front.bottom);
3119 s->avdimen.offset.rear.top);
3121 s->avdimen.offset.rear.bottom);
3172 s->avdimen.offset.front.top = (int) ( offsets.top * s->avdimen.yres / MM_PER_INCH );
3173 s->avdimen.offset.front.bottom = (int) ( offsets.bottom * s->avdimen.yres / MM_PER_INCH );
3176 s->avdimen.bry += (long) ( bry_offset * s->avdimen.hw_yres / MM_PER_INCH );
3179 s->avdimen.offset.front.top);
3181 s->avdimen.offset.front.bottom);
3184 s->avdimen.offset.front.top = 0;
3185 s->avdimen.offset.front.bottom = 0;
3186 s->avdimen.offset.rear.top = 0;
3187 s->avdimen.offset.rear.bottom = 0;
3192 s->avdimen.hw_pixels_per_line = (int) (s->avdimen.brx - s->avdimen.tlx);
3193 s->avdimen.hw_pixels_per_line -= s->avdimen.hw_pixels_per_line % boundary;
3195 s->avdimen.hw_lines = (int) (s->avdimen.bry - s->avdimen.tly -
3196 2 * s->avdimen.line_difference);
3198 if (s->avdimen.interlaced_duplex && dev->scanner_type != AV_FILM)
3199 s->avdimen.hw_lines -= s->avdimen.hw_lines % dev->read_stripe_size;
3201 s->params.pixels_per_line = s->avdimen.hw_pixels_per_line * s->avdimen.xres / s->avdimen.hw_xres;
3202 s->params.lines = s->avdimen.hw_lines * s->avdimen.xres / s->avdimen.hw_xres;
3209 debug_print_avdimen (1, "sane_compute_parameters", &s->avdimen);
3215 s->avdimen.hw_bytes_per_line = s->avdimen.hw_pixels_per_line / 8;
3221 s->avdimen.hw_bytes_per_line = s->avdimen.hw_pixels_per_line / 8;
3227 s->avdimen.hw_bytes_per_line = s->avdimen.hw_pixels_per_line;
3234 s->avdimen.hw_bytes_per_line = s->avdimen.hw_pixels_per_line * 2;
3240 s->avdimen.hw_bytes_per_line = s->avdimen.hw_pixels_per_line * 3;
3247 s->avdimen.hw_bytes_per_line = s->avdimen.hw_pixels_per_line * 3 * 2;
5002 if (s->avdimen.interlaced_duplex)
5040 if (s->avdimen.interlaced_duplex)
6234 base_dpi_rel = s->avdimen.hw_xres - s->avdimen.hw_xres % 300;
6237 else if (s->avdimen.hw_xres <= 150)
6279 set_double (cmd.window.descriptor.xres, s->avdimen.hw_xres);
6280 set_double (cmd.window.descriptor.yres, s->avdimen.hw_yres);
6283 - avdimen are world pixels */
6284 set_quad (cmd.window.descriptor.ulx, s->avdimen.tlx * base_dpi_abs / s->avdimen.hw_xres);
6285 set_quad (cmd.window.descriptor.uly, s->avdimen.tly * base_dpi_abs / s->avdimen.hw_yres);
6288 s->avdimen.hw_pixels_per_line * base_dpi_rel / s->avdimen.hw_xres + 1);
6289 line_count = s->avdimen.hw_lines + 2 * s->avdimen.line_difference;
6291 line_count * base_dpi_rel / s->avdimen.hw_yres + 1);
6294 if (s->avdimen.interlaced_duplex && dev->scanner_type != AV_FILM) {
6299 bytes_per_line = s->avdimen.hw_bytes_per_line;
6491 const int lines = s->val[OPT_BACKGROUND].w * (s->avdimen.interlaced_duplex ? 2 : 1);
6504 s->avdimen.hw_xres / dev->inquiry_optical_res;
6605 if (s->avdimen.interlaced_duplex && (dev->hw->feature_type & AV_2ND_LINE_INTERLACED))
6618 if ((dev->hw->feature_type & AV_BACKGROUND_QUIRK) && (s->avdimen.hw_xres >= 150))
6633 for (i = 0; debug && i < (s->avdimen.interlaced_duplex ? 2 : 1); ++i)
6656 src_ptr = background + s->avdimen.tlx * bpp;
6659 memmove (dst_ptr, src_ptr, (size_t) s->avdimen.hw_bytes_per_line);
6660 dst_ptr += s->avdimen.hw_bytes_per_line;
6666 if (s->avdimen.hw_xres != s->avdimen.xres)
6674 const int hwbpl = s->avdimen.hw_bytes_per_line;
6680 const double bx = (-1.0 + s->avdimen.hw_pixels_per_line) * x / s->params.pixels_per_line;
6716 for (i = 0; i < (s->avdimen.interlaced_duplex ? 2 : 1); ++i)
6866 if (s->avdimen.interlaced_duplex ||
7484 if (s->avdimen.interlaced_duplex) {
7488 (s->avdimen.hw_xres <= 300 && s->avdimen.hw_yres <= 300) )
7585 if (s->avdimen.line_difference)
7586 lines_per_stripe += (2 * (unsigned int) s->avdimen.line_difference);
7588 stripe_size = (unsigned int) s->avdimen.hw_bytes_per_line * lines_per_stripe;
7589 lines_per_output = lines_per_stripe - 2 * (unsigned int) s->avdimen.line_difference;
7598 out_size = (unsigned int) s->avdimen.hw_bytes_per_line * lines_per_output;
7604 s->avdimen.hw_bytes_per_line, s->avdimen.hw_pixels_per_line);
7615 if (s->avdimen.hw_xres != s->avdimen.xres ||
7616 s->avdimen.hw_yres != s->avdimen.yres)
7619 ip_history = malloc ((size_t) s->avdimen.hw_bytes_per_line + out_size);
7620 out_data = ip_history + s->avdimen.hw_bytes_per_line;
7629 total_size = (size_t) s->avdimen.hw_bytes_per_line *
7630 ((size_t) s->avdimen.hw_lines + 2 * (size_t) s->avdimen.line_difference);
7642 s->avdimen.hw_pixels_per_line, (int) (total_size / (size_t) s->avdimen.hw_bytes_per_line));
7679 max_bytes_per_read % (unsigned int) s->avdimen.hw_bytes_per_line);
7770 useful_bytes -= (unsigned int) (2 * s->avdimen.line_difference * s->avdimen.hw_bytes_per_line);
7780 unsigned int absline = (unsigned int) ((processed_bytes - stripe_fill) / (size_t) s->avdimen.hw_bytes_per_line);
7781 unsigned int abslines = absline + useful_bytes / (unsigned int) s->avdimen.hw_bytes_per_line;
7788 (deinterlace == HALF && absline >= total_size / (size_t) s->avdimen.hw_bytes_per_line / 2) ||
7792 fwrite (ptr, (size_t) s->avdimen.hw_bytes_per_line, 1, rear_fp);
7794 memmove (ptr, ptr+s->avdimen.hw_bytes_per_line,
7795 (size_t) (stripe_data + stripe_fill - ptr - s->avdimen.hw_bytes_per_line));
7797 ptr += s->avdimen.hw_bytes_per_line;
7798 useful_bytes -= (unsigned int) s->avdimen.hw_bytes_per_line;
7799 stripe_fill -= (unsigned int) s->avdimen.hw_bytes_per_line;
7802 ptr += s->avdimen.hw_bytes_per_line;
7809 unsigned int absline = (unsigned int) ((processed_bytes - stripe_fill) / (size_t) s->avdimen.hw_bytes_per_line);
7810 unsigned int abslines = absline + useful_bytes / (unsigned int) s->avdimen.hw_bytes_per_line;
7813 fseek (rear_fp, ((0 - s->params.lines) - (SANE_Int) absline - 2) * s->avdimen.hw_bytes_per_line, SEEK_SET);
7814 fwrite (ptr, (size_t) s->avdimen.hw_bytes_per_line, 1, rear_fp);
7815 useful_bytes -= (unsigned int) s->avdimen.hw_bytes_per_line;
7816 stripe_fill -= (unsigned int) s->avdimen.hw_bytes_per_line;
7817 ptr += s->avdimen.hw_bytes_per_line;
7837 if (s->avdimen.line_difference > 0) /* color-pack */
7841 int c_offset = s->avdimen.line_difference * s->avdimen.hw_bytes_per_line;
7857 const unsigned int lines = useful_bytes / (unsigned int) s->avdimen.hw_bytes_per_line;
7861 uint8_t* r_ptr = stripe_data + ((unsigned int) s->avdimen.hw_bytes_per_line * l);
7862 uint8_t* g_ptr = r_ptr + s->avdimen.hw_pixels_per_line;
7863 uint8_t* b_ptr = g_ptr + s->avdimen.hw_pixels_per_line;
7865 for (p = 0; p < (unsigned int) s->avdimen.hw_pixels_per_line; ++p) {
7890 unsigned int lines = useful_bytes / (unsigned int) s->avdimen.hw_bytes_per_line;
7894 uint8_t* begin_ptr = out_data + (l * (unsigned int) s->avdimen.hw_bytes_per_line);
7895 uint8_t* end_ptr = begin_ptr + s->avdimen.hw_bytes_per_line;
7910 unsigned int lines = useful_bytes / (unsigned int) s->avdimen.hw_bytes_per_line;
7914 uint8_t* begin_ptr = out_data + (l * (unsigned int) s->avdimen.hw_bytes_per_line);
7915 uint8_t* end_ptr = begin_ptr + s->avdimen.hw_bytes_per_line - 3;
7948 unsigned int lines = useful_bytes / (unsigned int) s->avdimen.hw_bytes_per_line;
7954 uint8_t* end_ptr = begin_ptr + s->avdimen.hw_bytes_per_line;
7984 line_ptr += s->avdimen.hw_bytes_per_line;
7997 if (s->avdimen.hw_xres != s->avdimen.xres ||
7998 s->avdimen.hw_yres != s->avdimen.yres) /* Software scaling */
8004 const int hw_line_end = hw_line + (int) useful_bytes / s->avdimen.hw_bytes_per_line;
8008 double by = (-1.0 + s->avdimen.hw_lines) * line / (s->avdimen.hw_lines * s->avdimen.xres / s->avdimen.hw_xres + s->val[OPT_BACKGROUND].w);
8013 const int hwbpl = s->avdimen.hw_bytes_per_line;
8021 if (deinterlace != NONE && !s->duplex_rear_valid && syy >= s->avdimen.hw_lines) {
8044 const double bx = (-1.0 + s->avdimen.hw_pixels_per_line) * x / s->params.pixels_per_line;
8144 out_data + useful_bytes - s->avdimen.hw_bytes_per_line,
8145 (size_t) s->avdimen.hw_bytes_per_line);
8150 line += (int) useful_bytes / s->avdimen.hw_bytes_per_line;
8159 hw_line += (int) useful_bytes / s->avdimen.hw_bytes_per_line;
8197 if ( (!s->duplex_rear_valid && (line < s->avdimen.offset.front.top)) ||
8198 (s->duplex_rear_valid && (line < s->avdimen.offset.rear.top)) ) {
8203 if ( (!s->duplex_rear_valid && (line > (lines - s->avdimen.offset.front.bottom))) ||
8204 (s->duplex_rear_valid && (line > (lines - s->avdimen.offset.rear.bottom))) ) {