Lines Matching full:w

76                                          int x, int y, int w, int h);
115 int x, int y, int w, int h, VncPalette *palette);
117 static bool tight_can_send_png_rect(VncState *vs, VncTight *tight, int w, int h) in tight_can_send_png_rect() argument
138 tight_detect_smooth_image24(VncState *vs, VncTight *tight, int w, int h) in tight_detect_smooth_image24() argument
157 for (y = 0, x = 0; y < h && x < w;) { in tight_detect_smooth_image24()
158 for (d = 0; d < h - y && d < w - x - VNC_TIGHT_DETECT_SUBROW_WIDTH; in tight_detect_smooth_image24()
161 left[c] = buf[((y+d)*w+x+d)*4+off+c] & 0xFF; in tight_detect_smooth_image24()
165 pix = buf[((y+d)*w+x+d+dx)*4+off+c] & 0xFF; in tight_detect_smooth_image24()
172 if (w > h) { in tight_detect_smooth_image24()
177 y += w; in tight_detect_smooth_image24()
209 int w, int h) { \
234 while (y < h && x < w) { \
236 d < w - x - VNC_TIGHT_DETECT_SUBROW_WIDTH; d++) { \
237 pix = ((uint##bpp##_t *)buf)[(y+d)*w+x+d]; \
246 pix = ((uint##bpp##_t *)buf)[(y+d)*w+x+d+dx]; \
263 if (w > h) { \
268 y += w; \
297 tight_detect_smooth_image(VncState *vs, VncTight *tight, int w, int h) in tight_detect_smooth_image() argument
309 w < VNC_TIGHT_DETECT_MIN_WIDTH || h < VNC_TIGHT_DETECT_MIN_HEIGHT) { in tight_detect_smooth_image()
314 if (w * h < VNC_TIGHT_JPEG_MIN_RECT_SIZE) { in tight_detect_smooth_image()
318 if (w * h < tight_conf[compression].gradient_min_rect_size) { in tight_detect_smooth_image()
325 errors = tight_detect_smooth_image24(vs, tight, w, h); in tight_detect_smooth_image()
331 errors = tight_detect_smooth_image32(vs, tight, w, h); in tight_detect_smooth_image()
334 errors = tight_detect_smooth_image16(vs, tight, w, h); in tight_detect_smooth_image()
495 tight_encode_mono_rect##bpp(uint8_t *buf, int w, int h, \
503 aligned_width = w - w % 8; \
529 if (x >= w) { \
533 for (; x < w; x++) { \
555 int w, int h) in tight_filter_gradient24() argument
566 memset(tight->gradient.buffer, 0, w * 3 * sizeof(int)); in tight_filter_gradient24()
584 for (x = 0; x < w; x++) { in tight_filter_gradient24()
614 uint##bpp##_t *buf, int w, int h) { \
623 memset(tight->gradient.buffer, 0, w * 3 * sizeof(int)); \
640 for (x = 0; x < w; x++) { \
681 check_solid_tile32(VncState *vs, int x, int y, int w, int h, in check_solid_tile32() argument
697 for (dx = 0; dx < w; dx++) { in check_solid_tile32()
710 static bool check_solid_tile(VncState *vs, int x, int y, int w, int h, in check_solid_tile() argument
714 return check_solid_tile32(vs, x, y, w, h, color, samecolor); in check_solid_tile()
717 static void find_best_solid_area(VncState *vs, int x, int y, int w, int h, in find_best_solid_area() argument
724 w_prev = w; in find_best_solid_area()
755 static void extend_solid_area(VncState *vs, int x, int y, int w, int h, in extend_solid_area() argument
784 cx < x + w && in extend_solid_area()
923 int x, int y, int w, int h) in send_full_color_rect() argument
931 if (tight_can_send_png_rect(vs, tight, w, h)) { in send_full_color_rect()
932 return send_png_rect(vs, worker, x, y, w, h, NULL); in send_full_color_rect()
939 tight_pack24(vs, tight->tight.buffer, w * h, &tight->tight.offset); in send_full_color_rect()
945 bytes = tight_compress_data(vs, tight, stream, w * h * bytes, level, in send_full_color_rect()
970 int w, int h, uint32_t bg, uint32_t fg) in send_mono_rect() argument
977 if (tight_can_send_png_rect(vs, &worker->tight, w, h)) { in send_mono_rect()
984 ret = send_png_rect(vs, worker, x, y, w, h, palette); in send_mono_rect()
990 bytes = DIV_ROUND_UP(w, 8) * h; in send_mono_rect()
1007 tight_encode_mono_rect32(worker->tight.tight.buffer, w, h, bg, fg); in send_mono_rect()
1016 tight_encode_mono_rect16(worker->tight.tight.buffer, w, h, bg, fg); in send_mono_rect()
1025 tight_encode_mono_rect8(worker->tight.tight.buffer, w, h, bg, fg); in send_mono_rect()
1059 int x, int y, int w, int h) in send_gradient_rect() argument
1067 return send_full_color_rect(vs, worker, x, y, w, h); in send_gradient_rect()
1073 buffer_reserve(&tight->gradient, w * 3 * sizeof(int)); in send_gradient_rect()
1076 tight_filter_gradient24(vs, tight, tight->tight.buffer, w, h); in send_gradient_rect()
1080 w, h); in send_gradient_rect()
1084 w, h); in send_gradient_rect()
1090 bytes = w * h * bytes; in send_gradient_rect()
1099 int w, int h, VncPalette *palette) in send_palette_rect() argument
1108 if (tight_can_send_png_rect(vs, tight, w, h)) { in send_palette_rect()
1109 return send_png_rect(vs, worker, x, y, w, h, palette); in send_palette_rect()
1135 tight_encode_indexed_rect32(tight->tight.buffer, w * h, palette); in send_palette_rect()
1146 tight_encode_indexed_rect16(tight->tight.buffer, w * h, palette); in send_palette_rect()
1152 bytes = w * h; in send_palette_rect()
1200 int x, int y, int w, int h, int quality) in send_jpeg_rect() argument
1211 return send_full_color_rect(vs, worker, x, y, w, h); in send_jpeg_rect()
1220 cinfo.image_width = w; in send_jpeg_rect()
1235 linebuf = qemu_pixman_linebuf_create(PIXMAN_BE_r8g8b8, w); in send_jpeg_rect()
1239 qemu_pixman_linebuf_fill(linebuf, vs->vd->server, w, x, y + dy); in send_jpeg_rect()
1315 int x, int y, int w, int h, VncPalette *palette) in send_png_rect() argument
1350 png_set_IHDR(png_ptr, info_ptr, w, h, in send_png_rect()
1368 tight_encode_indexed_rect32(worker->tight.tight.buffer, w * h, in send_png_rect()
1371 tight_encode_indexed_rect16(worker->tight.tight.buffer, w * h, in send_png_rect()
1379 linebuf = qemu_pixman_linebuf_create(PIXMAN_BE_r8g8b8, w); in send_png_rect()
1384 memcpy(buf, worker->tight.tight.buffer + (dy * w), w); in send_png_rect()
1386 qemu_pixman_linebuf_fill(linebuf, vs->vd->server, w, x, y + dy); in send_png_rect()
1426 int x, int y, int w, int h, in send_sub_rect_nojpeg() argument
1432 if (tight_detect_smooth_image(vs, &worker->tight, w, h)) { in send_sub_rect_nojpeg()
1433 ret = send_gradient_rect(vs, worker, x, y, w, h); in send_sub_rect_nojpeg()
1435 ret = send_full_color_rect(vs, worker, x, y, w, h); in send_sub_rect_nojpeg()
1440 ret = send_mono_rect(vs, worker, x, y, w, h, bg, fg); in send_sub_rect_nojpeg()
1442 ret = send_palette_rect(vs, worker, x, y, w, h, palette); in send_sub_rect_nojpeg()
1451 int x, int y, int w, int h, in send_sub_rect_jpeg() argument
1459 tight_detect_smooth_image(vs, &worker->tight, w, h))) { in send_sub_rect_jpeg()
1462 ret = send_jpeg_rect(vs, worker, x, y, w, h, quality); in send_sub_rect_jpeg()
1464 ret = send_full_color_rect(vs, worker, x, y, w, h); in send_sub_rect_jpeg()
1469 ret = send_mono_rect(vs, worker, x, y, w, h, bg, fg); in send_sub_rect_jpeg()
1473 tight_detect_smooth_image(vs, &worker->tight, w, h))) { in send_sub_rect_jpeg()
1476 ret = send_jpeg_rect(vs, worker, x, y, w, h, quality); in send_sub_rect_jpeg()
1478 ret = send_palette_rect(vs, worker, x, y, w, h, palette); in send_sub_rect_jpeg()
1497 int x, int y, int w, int h) in send_sub_rect() argument
1514 vnc_framebuffer_update(vs, x, y, w, h, tight->type); in send_sub_rect()
1517 vnc_raw_send_framebuffer_update(vs, x, y, w, h); in send_sub_rect()
1522 double freq = vnc_update_freq(vs, x, y, w, h); in send_sub_rect()
1529 vnc_sent_lossy_rect(worker, x, y, w, h); in send_sub_rect()
1534 colors = tight_fill_palette(vs, tight, x, y, w * h, &bg, &fg, in send_sub_rect()
1539 ret = send_sub_rect_jpeg(vs, worker, x, y, w, h, bg, fg, colors, in send_sub_rect()
1542 ret = send_sub_rect_nojpeg(vs, worker, x, y, w, h, bg, fg, in send_sub_rect()
1546 ret = send_sub_rect_nojpeg(vs, worker, x, y, w, h, bg, fg, colors, in send_sub_rect()
1554 int x, int y, int w, int h) in send_sub_rect_solid() argument
1556 vnc_framebuffer_update(vs, x, y, w, h, worker->tight.type); in send_sub_rect_solid()
1559 vnc_raw_send_framebuffer_update(vs, x, y, w, h); in send_sub_rect_solid()
1566 int x, int y, int w, int h, bool split) in send_rect_simple() argument
1577 if (split && (w > max_width || w * h > max_size)) { in send_rect_simple()
1578 max_sub_width = (w > max_width) ? max_width : w; in send_rect_simple()
1582 for (dx = 0; dx < w; dx += max_width) { in send_rect_simple()
1583 rw = MIN(max_sub_width, w - dx); in send_rect_simple()
1589 n += send_sub_rect(vs, worker, x, y, w, h); in send_rect_simple()
1596 int x, int y, int w, int h, int max_rows) in find_large_solid_color_rect() argument
1608 n += send_rect_simple(vs, worker, x, y, w, max_rows, true); in find_large_solid_color_rect()
1615 for (dx = x; dx < x + w; dx += VNC_TIGHT_MAX_SPLIT_TILE_SIZE) { in find_large_solid_color_rect()
1619 dw = MIN(VNC_TIGHT_MAX_SPLIT_TILE_SIZE, (x + w - dx)); in find_large_solid_color_rect()
1627 find_best_solid_area(vs, dx, dy, w - (dx - x), h - (dy - y), in find_large_solid_color_rect()
1633 if (w_best * h_best != w * h && in find_large_solid_color_rect()
1641 extend_solid_area(vs, x, y, w, h, color_value, in find_large_solid_color_rect()
1647 n += send_rect_simple(vs, worker, x, y, w, y_best - y, true); in find_large_solid_color_rect()
1660 if (x_best + w_best != x + w) { in find_large_solid_color_rect()
1663 w-(x_best-x)-w_best, in find_large_solid_color_rect()
1669 w, h-(y_best-y)-h_best); in find_large_solid_color_rect()
1676 return n + send_rect_simple(vs, worker, x, y, w, h, true); in find_large_solid_color_rect()
1680 int x, int y, int w, int h) in tight_send_framebuffer_update() argument
1693 double freq = vnc_update_freq(vs, x, y, w, h); in tight_send_framebuffer_update()
1696 return send_rect_simple(vs, worker, x, y, w, h, false); in tight_send_framebuffer_update()
1701 if (w * h < VNC_TIGHT_MIN_SPLIT_RECT_SIZE) { in tight_send_framebuffer_update()
1702 return send_rect_simple(vs, worker, x, y, w, h, true); in tight_send_framebuffer_update()
1708 max_rows /= MIN(tight_conf[worker->tight.compression].max_rect_width, w); in tight_send_framebuffer_update()
1710 return find_large_solid_color_rect(vs, worker, x, y, w, h, max_rows); in tight_send_framebuffer_update()
1714 int x, int y, int w, int h) in vnc_tight_send_framebuffer_update() argument
1717 return tight_send_framebuffer_update(vs, worker, x, y, w, h); in vnc_tight_send_framebuffer_update()
1721 int x, int y, int w, int h) in vnc_tight_png_send_framebuffer_update() argument
1724 return tight_send_framebuffer_update(vs, worker, x, y, w, h); in vnc_tight_png_send_framebuffer_update()