Commit Graph

134 Commits

Author SHA1 Message Date
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
Norbert Federa
df7526f888 codec/rfx: Fixed bufferpool size used for RemoteFX
y_r_buffer, cb_g_buffer, cr_b_buffer and dwt_buffer are all word arrays (16bit)
but obviously the bufferpool size was calculated based on the wrong assumption
that these are 32 bit values in commit 37a59efbe3
2013-07-05 12:30:13 +02:00
Marc-André Moreau
0ee7ca5741 libfreerdp-codec: add bitmap encoder 2013-07-04 16:31:54 -04:00
Norbert Federa
40976a91b7 utils/profiler: fix unix build 2013-06-27 13:43:29 +02:00
Norbert Federa
b2108839b0 utils: fix broken stopwatch implementation
Stopwatch (in the way it is used) must be able to measure the wall
clock time with high resolution but used clock() which is not
appropriate for this purpose:
On POSIX systems clock() returns the processor time used by the
program. On Windows clock() does measure the wall clock time but
has only a resolution of 1ms (if at all).
This also renders the freerdp profiler unusable.

This commit changes stopwatch to use the performance counters
on Windows and gettimeofday() for the rest.

Also added a warning about invalid profiling results to the
RemoteFX codec if rfxcontext->priv->UseThreads is enabled because
stopwatch is currently not used in a thread safe way.

Also see GitHub Issue #1325
2013-06-27 13:00:54 +02:00
Vic Lee
6551815991 libfreerdp-codec/rfx: fix a memory leak. 2013-06-20 12:10:01 +08:00
Norbert Federa
86ca8f9523 codec: yCbCrToRGB did not get profiled anymore 2013-06-18 14:33:07 +02:00
Vic Lee
b194ddc211 libfreerdp-codec/rfx: dwSize must be initialized. 2013-06-14 12:16:04 +08:00
Marc-André Moreau
92ce433090 libfreerdp-codec: optimize color conversion a bit 2013-05-16 19:56:39 -04:00
Marc-André Moreau
fdf3ddcf9e freerdp: purge deprecated stream utils 2013-05-08 17:48:30 -04:00
Marc-André Moreau
fd230443c5 freerdp: purge old stream utils 2013-05-08 16:27:21 -04:00
Marc-André Moreau
5b92413843 freerdp: purge deprecated stream utils 2013-05-08 16:09:16 -04:00