Commit Graph

245 Commits

Author SHA1 Message Date
Marc-André Moreau
ad7ed25d30 libfreerdp-codec: reduce amount of MPPC context variables 2014-03-09 20:45:42 -04:00
Marc-André Moreau
6c89e3cff7 libfreerdp-codec: initial MPPC decompression support 2014-03-09 19:55:52 -04:00
Marc-André Moreau
c686d434b7 libfreerdp-codec: initial RDP4/RDP5 MPPC compression test case success 2014-03-09 17:32:49 -04:00
Marc-André Moreau
ccf71a1fa3 libfreerdp-codec: improve MPPC compressor consistency with Microsoft implementation 2014-03-09 16:02:46 -04:00
Marc-André Moreau
3530b83291 libfreerdp-codec: add annotated MPPC compression samples 2014-03-09 14:35:11 -04:00
Marc-André Moreau
11e0830884 libfreerdp-codec: start adding support for RDP4 MPPC 2014-03-09 13:37:46 -04:00
Marc-André Moreau
16c176dd5f libfreerdp-codec: decode LengthOfMatch 2014-03-08 19:10:30 -05:00
Marc-André Moreau
d9a2fb4ff9 libfreerdp-codec: start MPPC compressor 2014-03-08 17:38:47 -05:00
Marc-André Moreau
95127d5632 libfreerdp-codec: start testing MPPC against large buffer 2014-03-05 18:03:39 -05:00
Marc-André Moreau
a711132cd9 libfreerdp-codec: initial RDP5 MPPC LOM/CO encoding 2014-03-05 16:28:53 -05:00
Marc-André Moreau
cea902deb8 libfreerdp-codec: produce correct LOM/CO sequences 2014-03-05 15:29:04 -05:00
Maks Naumov
85853051f0 fix filing array of "messages"
sizeof(sizeof(struct) * struct_count) == sizeof(size_t)
2014-03-05 14:49:00 +02:00
Marc-André Moreau
35a289e14a libfreerdp-codec: start new MPPC compressor 2014-03-03 16:15:29 -05:00
Marc-André Moreau
c697941de2 libfreerdp-codec: add new freerdp_image_copy function with detailed parameters 2014-02-28 21:51:29 -05:00
Marc-André Moreau
004ad2123e libfreerdp-codec: fix typedef redefinitions 2014-02-28 16:17:36 -05:00
Marc-André Moreau
858923836c libfreerdp-codec: fix windows compilation for new region code 2014-02-15 21:57:33 -05:00
Marc-André Moreau
aca0b9996d Merge branch 'remoteFx_fix2' of https://github.com/hardening/FreeRDP into hardening-remoteFx_fix2
Conflicts:
	libfreerdp/codec/test/CMakeLists.txt
2014-02-15 11:06:09 -05:00
Marc-André Moreau
ea8c9956d2 libfreerdp-codec: add some RemoteFX test data 2014-02-11 13:30:33 -05:00
Marc-André Moreau
cdcd290c44 wfreerdp: fix most build warnings 2014-02-10 22:12:13 -05:00
Hardening
115a1e863d Fixes in intersection + checks
Fix a bug in the extents of an intersection.
Add some checks and assert that helps when using the remoteFx encoder.
A speedup for intersection when bands are above the target rect.
2014-02-07 17:10:29 +01:00
Hardening
0915060f40 Fixes before pullreq
Replaced zmalloc by calloc.
Moved region from utils to codec.
Fixed some typo and corner cases.
2014-02-05 16:24:46 +01:00
Marc-André Moreau
1ce1bcb5a3 libfreerdp-codec: add more checks in MPPC compression test 2014-02-05 08:54:10 -05:00
Marc-André Moreau
3bd5fda4a8 libfreerdp-codec: port MPPC unit tests 2014-02-05 08:37:13 -05:00
Hardening
4cc037d148 Some fixes after Norbert code review
There were a bug when the rectangles extents where not at the origin.
Some debugging statement have laso been removed.
2014-02-05 14:07:22 +01:00
Hardening
2d16d929b6 Fix remoteFx encoder with topleft and bottomright rectangle
This patch fixes the case where with a topleft and a bottomright
rectangle, the encoder would send the full screen instead of only the
intersected tiles.
2014-02-04 16:22:34 +01:00
Hardening
c1a6eda740 Improve performance for delta_encoder
This patch inline the case of the first line to drop the if() that was done
at each loop.
Some variable have been renamed for code clarity.
2014-01-14 09:44:38 +01:00
Marc-André Moreau
6dfaa8eefa libfreerdp-codec: got planar encoder to work 100% correctly 2014-01-13 22:16:10 -05:00
Marc-André Moreau
7c6be746a6 libfreerdp-codec: minor planar codec fix (undocumented behaviour for RLE) 2014-01-12 16:28:06 -05:00
Marc-André Moreau
eb8f34ffef libfreerdp-codec: reduce size of GDI bitmap encoder 2013-12-20 16:02:20 -05:00
Marc-André Moreau
4c6218e594 libfreerdp-codec: make planar encoder pass compression/decompression tests 2013-12-20 02:41:25 -05:00
Marc-André Moreau
74a3232707 libfreerdp-codec: add new planar codec test data 2013-12-19 19:56:58 -05:00
Marc-André Moreau
62199fc46a Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-12-10 11:54:03 -05:00
Marc-André Moreau
26f543cdf4 libfreerdp-codec: planar cleanup 2013-12-09 12:02:05 -05:00
Marc-André Moreau
718a0d0bbc libfreerdp-codec: avoid pixel overflow with planar codec RLE test cases 2013-12-08 23:17:24 -05:00
Marc-André Moreau
1add4e628f libfreerdp-codec: make planar codec encoder context reusable 2013-12-08 17:06:59 -05:00
Armin Novak
cf71df7881 Fixed include paths and linking for jpeg library. 2013-12-08 14:18:34 +01:00
Bernhard Miklautz
2b6b4a6685 updated file headers 2013-12-04 11:44:22 +01:00
Marc-André Moreau
2114fbb8f9 libfreerdp-codec: add new planar codec test case 2013-12-03 20:14:07 -05:00
Marc-André Moreau
9096bd3b61 libfreerdp-codec: make planar codec bitmap 01 pass the test 2013-12-03 18:50:22 -05:00
Marc-André Moreau
9d1c4c10a6 libfreerdp-codec: make planar decoder more robust 2013-11-29 04:12:59 -05:00
Marc-André Moreau
82b12621af libfreerdp-codec: refactor planar decompression 2013-11-29 03:06:39 -05:00
Marc-André Moreau
d9e1c0abaa libfreerdp-codec: add more planar unit tests 2013-11-29 02:16:16 -05:00
Marc-André Moreau
338d809e3a libfreerdp-codec: extend planar codec unit tests 2013-11-28 19:51:29 -05:00
Marc-André Moreau
cca020a711 libfreerdp-codec: reorganize planar RLE encoding logic 2013-11-28 15:49:22 -05:00
Marc-André Moreau
fcafbfe626 libfreerdp-codec: improve planar RLE compression 2013-11-27 18:21:05 -05:00
Marc-André Moreau
a5c1d0bbaa libfreerdp-codec: detect planar overflow per set of planes, not individual planes 2013-11-27 16:23:20 -05:00
Marc-André Moreau
7d3ce08e96 libfreerdp-codec: simply planar RLE code 2013-11-27 14:46:38 -05:00
Marc-André Moreau
5bcdab95ff libfreerdp-codec: partial planar RLE compression support 2013-11-26 22:16:31 -05:00
Marc-André Moreau
919b6c666a libfreerdp-codec: compress and output RDP6 RLE planes 2013-11-26 18:04:29 -05:00
Marc-André Moreau
c64e10444b libfreerdp-codec: get all steps of planar scanline delta encoding tested 2013-11-26 16:30:43 -05:00
Marc-André Moreau
52a1b328f2 libfreerdp-codec: start implementing delta-encoding of planar scanlines 2013-11-26 16:07:55 -05:00
Marc-André Moreau
021ef0533e libfreerdp-codec: implement planar codec RLE scanline encoding 2013-11-26 15:16:40 -05:00
Marc-André Moreau
c8c75fd4e0 libfreerdp-codec: implement working uncompressed RDP6 bitmap planar codec 2013-11-25 23:29:20 -05:00
Marc-André Moreau
d30656d441 libfreerdp-codec: start implementing uncompressed RDP6 planar codec 2013-11-25 22:26:08 -05:00
Marc-André Moreau
7446c6f02b libfreerdp-codec: start unit tests for RDP6 planar compressor 2013-11-25 18:58:01 -05:00
Marc-André Moreau
76c842285d channels/rdpsnd: initial attempt at adding GSM610 support 2013-11-22 12:11:39 -05:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
d30f66b1b7 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-10-23 14:18:40 -04:00
Bernhard Miklautz
8aacf094d0 mppc_dec: fixed typo in decompression
fixes #1478
2013-10-22 16:16:38 +02:00
Marc-André Moreau
a0c0d7b998 libfreerdp-core: added debug output for surface commands 2013-10-08 20:40:58 -04:00
Marc-André Moreau
ac2444ab50 libfreerdp-codec: start making use of WLog for RemoteFX 2013-10-08 20:17:57 -04:00
Marc-André Moreau
518995a05e freerdp: merge with master 2013-09-16 17:10:27 -04:00
Armin Novak
c986f30c4a Fixed smartcard related issues with double free. 2013-09-06 10:55:26 +02:00
Armin Novak
853bf40321 Fixed memory cleanup issue 2013-09-05 12:14:35 +02:00
Armin Novak
ddb664d6e7 Fixed memory leak. 2013-09-05 12:14:34 +02:00
Armin Novak
b190a16c5d Fixed argument checks, now NULL pointer are no longer dereferenced
in functions.
2013-09-05 12:14:34 +02:00
Armin Novak
e5c138a5b9 Fixed various memory leaks, allocation size issues and API misuse
warnings shown by clang as well as some compiler warnings.
2013-09-05 12:14:34 +02:00
Armin Novak
a3b531c036 Fixed issues found with clang-analyzer 2013-09-05 12:14:33 +02:00
Armin Novak
75c0ecb362 Fixed coverity issue 1047564 2013-09-05 12:14:33 +02:00
Armin Novak
bda6ede463 Fixed coverity issue 1047590 2013-09-05 12:14:33 +02:00
Armin Novak
c05daf9f74 Fixed coverity issue 1047621 2013-09-05 12:14:31 +02:00
Marc-André Moreau
ee36541fb7 freerdp: merge with master 2013-09-03 18:49:48 -04:00
Vic Lee
86e783e4fb libfreerdp-codec/rfx: fix memory corruptions. 2013-09-03 20:27:08 +08:00
Marc-André Moreau
f69f4285b1 libfreerdp-codec: use partitioned buffers for RemoteFX encoding/decoding 2013-08-19 18:39:19 -04:00
Marc-André Moreau
d7656ada48 libfreerdp-codec: fix NSCodec encoding and buffer pool usage 2013-08-19 18:21:34 -04:00
Marc-André Moreau
0fd705c6c7 channels/cliprdr: start server-side implementation 2013-08-16 16:46:47 -04:00
Marc-André Moreau
9f25c4fc25 libfreerdp-codec: initial working fragmented NSCodec encoder 2013-08-15 13:13:02 -04:00
Marc-André Moreau
1e5118116d libfreerdp-codec: start implementing split NSCodec encoder 2013-08-14 23:16:13 -04:00
Marc-André Moreau
e35dae462b libfreerdp-codec: refactor NSCodec code 2013-08-14 20:57:16 -04:00
Marc-André Moreau
08dce6e090 libfreerdp-codec: add support for passing pointer to beginning of buffer for RemoteFX encoding 2013-08-14 20:35:00 -04:00
Marc-André Moreau
2d3d5acf1e libfreerdp-codec: initial support for RemoteFX fragmented encoding 2013-08-14 13:19:01 -04:00
Marc-André Moreau
5e6325d62c libfreerdp-codec: start exporting split encode/write rfx api 2013-08-14 10:14:47 -04:00
Marc-André Moreau
dfbd4cb9fb libfreerdp-codec: refactor encoder to use message-centric interface 2013-08-13 17:50:05 -04:00
Marc-André Moreau
fe25303656 libfreerdp-codec: internal refactoring 2013-08-13 17:18:59 -04:00
Marc-André Moreau
c8b85e19a4 libfreerdp-codec: separate tile encoding from writing 2013-08-13 14:13:05 -04:00
Marc-André Moreau
4e6f1f5a4b libfreerdp-codec: use pooled buffers for channel encoding 2013-08-13 13:45:28 -04:00
Marc-André Moreau
482e836ad8 libfreerdp-codec: refactor internal rfx_compose_message_tile 2013-08-13 11:09:54 -04:00
Marc-André Moreau
916a4eee4b libfreerdp-codec: start making use of RFX_TILE structure for encoding 2013-08-13 10:30:22 -04:00
Marc-André Moreau
3e4dc73280 libfreerdp-codec: split stream parsing from tile decoding 2013-08-13 10:09:32 -04:00
Marc-André Moreau
b972830841 libfreerdp-codec: make use of ObjectPool for tiles 2013-08-13 09:34:15 -04:00
Marc-André Moreau
e91f2516e5 libfreerdp-codec: fix automatic growing of the encode stream size 2013-08-12 13:13:27 -04:00
Norbert Federa
ccc5d1b279 codec/rfx: fix multithreaded encoder
Some component of the encoder chain (I suspect the rlgr encoder) expects
the output buffer to be zeroed. The multithreaded RemoteFX encoder uses
wStreams from the StreamPool which are reused and not zeroed out of
course. For now, in order to prevent data corruption we clear the stream.
2013-08-10 00:28:35 +02:00
Marc-André Moreau
34f9985add freerdp: merge with master 2013-08-07 15:48:57 -04:00
Norbert Federa
0d916527bc codec/rfx: added multithreaded encoder 2013-08-07 18:22:42 +02:00
Marc-André Moreau
ecc543d87d Merge branch 'master' of github.com:FreeRDP/FreeRDP into multitouch 2013-08-03 16:22:09 -04:00
Norbert Federa
938a0890a3 codec/rfx: removed unnecessary WaitForSingleObject
The WaitForSingleObject call on TilePool's event is called with a zero time-out
interval and the event is a manual reset event ... thus no locking or waiting
is involved anyways and Queue_Dequeue may very well return NULL independently
of calling WaitForSingleObject which is already correctly handled.
2013-07-30 13:02:43 +02:00
Marc-André Moreau
3e884984f2 libfreerdp-codec: added RDP6 bitmap compression test data 2013-07-28 21:07:28 -04:00
Norbert Federa
1d384ce863 codec/rfx: removed unused queue TileQueue
Declared, created, deleted but not used:

    git grep TileQueue
    libfreerdp/codec/rfx_types.h: wQueue* TileQueue;
    libfreerdp/codec/rfx.c:       context->priv->TileQueue = Queue_New(TRUE, -1, -1);
    libfreerdp/codec/rfx.c:       Queue_Free(context->priv->TileQueue);
2013-07-17 10:01:56 +02:00
Marc-André Moreau
ba69071d04 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-07-15 17:14:40 -04:00
Norbert Federa
b9c8ac6527 codec/rfx: use function pointer for rlgr codec
Option to switch the rlgr implementation during runtime - exactly
like we do it with the ycbcr, dwt and quantization functions.
2013-07-10 07:14:26 +02:00