Commit Graph

59 Commits

Author SHA1 Message Date
Michael Jumper
c604777622 GUAC-240: Remove unused macros. 2015-08-17 16:04:07 -07:00
Michael Jumper
62572073b0 GUAC-240: Dynamically allocate heat map. Throw away heat map during resize. 2015-08-17 16:02:19 -07:00
Michael Jumper
cc21092ac2 GUAC-240: Remove unnecessary change to PNG function. 2015-08-17 11:11:30 -07:00
Michael Jumper
2d66ae87f9 GUAC-240: Improve PNG optimality approximation algorithm (count average run length). 2015-08-17 11:02:18 -07:00
Michael Jumper
b6a2de8a97 GUAC-240: Remove whitespace changes. 2015-08-17 08:37:43 -07:00
Michael Jumper
adcb887efb GUAC-240: Correct PNG optimality calculations. 2015-08-17 08:30:23 -07:00
Michael Jumper
b56afd8bb8 GUAC-240: Approximate whether images will compress well with JPEG vs. PNG. 2015-08-17 06:29:30 -07:00
Michael Jumper
f7cb3d56e9 GUAC-240: Update function documentation. Remove unused macros. 2015-08-17 01:51:03 -07:00
Michael Jumper
dd2e020351 GUAC-240: Move JPEG optimality test into own function. 2015-08-17 01:44:31 -07:00
Michael Jumper
baf01d5524 GUAC-240: Flush to JPEG if dirty rect is hot. 2015-08-17 01:34:32 -07:00
Michael Jumper
26f9070d99 GUAC-240: Restore flush to PNG. Simplify handling of flush. Remove lossy pipeline. 2015-08-17 01:27:09 -07:00
Michael Jumper
807e3a39a5 GUAC-240: Simplify and clarify update history tracking. Remove lossless refresh of previously-lossy updates for now. 2015-08-17 01:13:59 -07:00
Michael Jumper
254a0dded0 GUAC-240: Remove need for forward declarations of static functions. 2015-08-14 10:54:59 -07:00
Frode Langelo
379c4462ca GUAC-240: Implement adaptive encoding. Build a heat map of the screen, and use lossy image compression for areas refreshing frequently. Once refresh frequency is reduced the lossy area is repainted with a lossless image. 2015-08-14 10:54:59 -07:00
Michael Jumper
9c2d7f56ce GUAC-240: Add function for streaming PNG images via img instruction. Use for surface. 2015-08-13 16:38:54 -07:00
Michael Jumper
859f7d9340 GUAC-240: Associate Guacamole client with surface. 2015-08-13 16:38:53 -07:00
Frode Langelo
9c8756556a GUAC-1247: Fix case where 1x1 pixel surface put with non-dirty data was not ignored 2015-07-08 11:12:34 -07:00
Michael Jumper
732adf9063 GUAC-1090: Clip operation by surface size when no clipping rectangle is present. 2015-02-20 16:53:24 -08:00
Michael Jumper
67ed8c5791 GUAC-1008: Properly init clipping rectangle. 2015-01-15 17:03:26 -08:00
Michael Jumper
75f0fc7807 GUAC-996: Do not reset clip upon resize. Fix copy of surface data. 2015-01-09 16:00:03 -08:00
Michael Jumper
374a43b27a GUAC-923: Rename bounds_rect to clip_rect. Add function which restricts rects to surface bounds, distinct from the previous badly-named function which restricted rects to the clipping rect. 2014-11-10 10:26:00 -08:00
Michael Jumper
5f308c9f31 GUAC-891: Ensure updates are clipped within surface bounds. 2014-10-16 18:55:43 -07:00
Michael Jumper
ea765ba602 GUAC-730: Fix headers for src/common. 2014-06-10 17:20:49 -07:00
Michael Jumper
dbaca11d68 GUAC-688: Fix segfault on resize. 2014-05-13 10:41:06 -07:00
Michael Jumper
51093201f5 GUAC-675: Document return value of __guac_common_surface_transfer_int(). 2014-05-12 21:46:36 -07:00
Michael Jumper
cad60299e1 GUAC-687: Only update backing surface first if the destination rect cannot intersect the source rect. 2014-05-12 14:43:50 -07:00
Michael Jumper
3e0828d6da GUAC-687: Initialize newly-allocated buffer space to transparent black. 2014-05-12 13:50:51 -07:00
Michael Jumper
9746ea68a4 GUAC-687: Use correct rect when checking for fully clipped updates. 2014-05-12 13:44:51 -07:00
Michael Jumper
89b0a452a5 GUAC-687: Do not allow empty updates to the dirty rect. 2014-05-12 13:27:33 -07:00
Michael Jumper
584ca5f35c GUAC-675: Update comments reflecting new use of guac_common_rect. 2014-05-12 09:20:22 -07:00
Michael Jumper
2bbbda3ca9 GUAC-675: Source coordinates must be updated along with rect. 2014-05-12 02:26:04 -07:00
Michael Jumper
07f6712591 GUAC-675: Optimize copy. 2014-05-12 02:01:09 -07:00
Michael Jumper
573f524dee GUAC-675: Optimize output of rect. 2014-05-12 01:45:55 -07:00
Michael Jumper
c0b955fab0 GUAC-675: Add rect struct. Migrate surface to new rect struct. 2014-05-12 01:39:52 -07:00
Michael Jumper
a9ba417891 GUAC-675: Narrow update rect to contain only different pixels. 2014-05-11 12:28:19 -07:00
Michael Jumper
442a520150 GUAC-674: Fix typo in comment. Make __guac_common_surface_flush_to_png() static. 2014-05-11 12:28:07 -07:00
Michael Jumper
0da9df3620 GUAC-674: Add comments for all static functions. 2014-05-09 18:56:16 -07:00
Michael Jumper
78d7c3e9ab GUAC-674: Inspect and re-inspect queue when combining. 2014-05-09 18:45:10 -07:00
Michael Jumper
7fc3fe1fdc GUAC-674: Queue and combine png updates. Lengthen RDP frame timeout to 10ms. 2014-05-09 15:39:00 -07:00
Michael Jumper
f1b75335ae GUAC-669: Remove include which was intended for debugging only. 2014-05-05 11:21:00 -07:00
Michael Jumper
014e245baa GUAC-669: Limit how high the fill pattern heuristic is allowed to increase update cost. 2014-05-05 11:17:38 -07:00
Michael Jumper
3554e88efa GUAC-667: Add masked paint operation. 2014-05-05 00:27:48 -07:00
Michael Jumper
1047c6192c GUAC-667: Implement clipping within common surface. 2014-05-04 23:39:02 -07:00
Michael Jumper
b2d74c92a2 GUAC-667: Remove unnecessary use of Cairo surface within common - just update buffer. 2014-05-04 16:35:09 -07:00
Michael Jumper
dbec5a5957 GUAC-666: Detect left-to-right fill pattern. 2014-05-03 21:11:42 -07:00
Michael Jumper
84fb0d8681 GUAC-665: Narrow cost estimation algorithm. 2014-05-01 19:22:47 -07:00
Michael Jumper
5b2f824097 GUAC-660: Do not send initial size unless layer is visible. Do not dispose unless layer was created. 2014-05-01 12:23:37 -07:00
Michael Jumper
25ab9a0134 GUAC-662: Implement resize for guac_common_surface. 2014-05-01 11:27:10 -07:00
Michael Jumper
d4aed54ca4 GUAC-662: Updates to backing surface should happen AFTER possible flushes. 2014-05-01 10:25:54 -07:00
Michael Jumper
25784acc6f GUAC-656: Remove old debug log. 2014-04-30 20:46:26 -07:00