summaryrefslogtreecommitdiffstats
path: root/libxrdp
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2013-08-19 10:48:38 -0700
committerJay Sorg <jay.sorg@gmail.com>2013-08-19 10:48:38 -0700
commit4a66be133f4e2dad7246baeb020f64dda4ce2d8c (patch)
tree998fd0acb750f927a7edcc51f237c4e55336b0e0 /libxrdp
parentf17692adaacc234f90db845e295946b5a68e511a (diff)
downloadxrdp-proprietary-4a66be133f4e2dad7246baeb020f64dda4ce2d8c.tar.gz
xrdp-proprietary-4a66be133f4e2dad7246baeb020f64dda4ce2d8c.zip
CRC optimize
Diffstat (limited to 'libxrdp')
-rw-r--r--libxrdp/xrdp_orders.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/libxrdp/xrdp_orders.c b/libxrdp/xrdp_orders.c
index 29234173..b8e1c31e 100644
--- a/libxrdp/xrdp_orders.c
+++ b/libxrdp/xrdp_orders.c
@@ -2091,6 +2091,25 @@ xrdp_orders_send_raw_bitmap2(struct xrdp_orders *self,
i = cache_idx & 0xff;
out_uint8(self->out_s, i);
+ if (1 && Bpp == 3)
+ {
+ for (i = height - 1; i >= 0; i--)
+ {
+ for (j = 0; j < width; j++)
+ {
+ pixel = GETPIXEL32(data, j, i, width);
+ out_uint8(self->out_s, pixel);
+ out_uint8(self->out_s, pixel >> 8);
+ out_uint8(self->out_s, pixel >> 16);
+ }
+ for (j = 0; j < e; j++)
+ {
+ out_uint8s(self->out_s, Bpp);
+ }
+ }
+ }
+ else
+ {
for (i = height - 1; i >= 0; i--)
{
for (j = 0; j < width; j++)
@@ -2120,6 +2139,7 @@ xrdp_orders_send_raw_bitmap2(struct xrdp_orders *self,
out_uint8s(self->out_s, Bpp);
}
}
+ }
return 0;
}