Commit Graph

270 Commits

Author SHA1 Message Date
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
Marc-André Moreau
b4cac74136 xfreerdp-server: fix RemoteFX encoding 2013-05-01 18:15:55 -04:00
Marc-André Moreau
51715636a5 freerdp: remove some deprecated stream utils 2013-04-29 22:35:15 -04:00
Marc-André Moreau
d776a2d4ea libfreerdp-core: start using stream pool 2013-04-12 17:05:42 -04:00
Hardening
7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau
8c8a82c31f libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
Marc-André Moreau
a8201b0d1b libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
Marc-André Moreau
62eec0c2b5 libfreerdp-utils: rename internal members of STREAM to match new wStream 2013-03-21 15:01:46 -04:00
Marc-André Moreau
dcdc29d784 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-03-18 11:20:41 -04:00
Bernhard Miklautz
0fb307c9fc codec/rfx_sse2: removed fun message ;) 2013-03-15 23:17:09 +01:00
Bernhard Miklautz
7dd4458532 Fixed clang build warnings when -Wattributes is defined 2013-03-15 19:50:14 +01:00
Marc-André Moreau
0031c4918e libfreerdp-core: add TS Gateway system message support 2013-03-14 12:57:45 -04:00
C-o-r-E
7453fdaecc channels/rdpsnd: merged 2013-03-08 13:25:03 -05:00
Marc-André Moreau
96fa4f462f libfreerdp-codec: move audio format processing code to codec library 2013-03-07 14:43:21 -05:00
C-o-r-E
d50cddc1bd mfreerdp-server: begin reworking rdpsnd server channel 2013-03-07 13:34:12 -05:00
Martin Fleisz
2e8a0983dd codec: Added padding to rfx buffers for SSE/NEON code 2013-03-05 17:36:26 +01:00
Bernhard Miklautz
28f69ac0a3 codec/nsc: fixed typo 2013-03-05 15:19:50 +01:00
Martin Fleisz
8c2d60f62c codec: got rid of nsc_context_set_cpu_opt 2013-03-05 10:52:18 +01:00
Bernhard Miklautz
589d32dc56 codec/rfx,primitives: removed cpu-detect.[ch] from build
sysinfo cpu detection is used on android as well.
2013-03-01 09:02:14 +01:00
Bernhard Miklautz
23a7ef6c47 codec/rfx: use sysinfo to detect sse2/neon
This also moves (sse2) detection code out of the client into the decoder.
2013-03-01 09:02:14 +01:00
Marc-André Moreau
ddf4c6e0ff Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-02-27 09:38:39 -05:00
Marc-André Moreau
6a775ff032 channels/rdpsnd: reduce ALSA buffer underruns 2013-02-26 17:54:16 -05:00
Martin Fleisz
ca2ef21933 codec: fixed potential crash in NSCodec implementation 2013-02-26 08:10:26 -08:00
Martin Fleisz
b8fd4b5227 codec: Fixed NEON CPU detection compile issue, primitives_get race condition in rfx decoding 2013-02-22 03:37:39 -08:00
Martin Fleisz
1cfb4a4e77 codec: Fixed NEON detection and incorrect RFX decoding 2013-02-21 07:08:46 -08:00
Martin Fleisz
22cc6341a6 codec/primitives: NEON now enabled for iOS 2013-02-21 03:27:10 -08:00
Bernhard Miklautz
152071d38b build/arm: added build option to specify fp ABI
cmake option ARM_FP_ABI allows to specify the floating point ABI to use.
If ARM_FP_ABI isn't set explicitly softfp is used.

fixes #980
2013-02-20 01:08:27 +01:00
Marc-André Moreau
22c804e6ad channels/rdpsnd: refactoring 2013-02-19 17:47:55 -05:00
Marc-André Moreau
e18a0b807f libfreerdp-core: fix async updates with palettes 2013-02-03 16:19:25 -05:00
Marc-André Moreau
4d804018e0 libfreerdp-gdi: fix opaque rect for /gdi:hw mode with 8bpp 2013-02-03 15:22:16 -05:00
Marc-André Moreau
d9ac2cca39 libfreerdp-gdi: fix 8bpp FillRect color 2013-02-03 15:16:37 -05:00
Marc-André Moreau
f49c92d6fe Merge pull request #932 from hardening/remoteFxChecks
Add checks on RemoteFX
2013-02-02 13:30:54 -08:00
Marc-André Moreau
a17ddeea2a mfreerdp-server: merging with master 2013-01-31 11:33:08 -05:00
C-o-r-E
bbfc724db9 libfreerdp: fix slash 2013-01-30 19:56:58 -05:00
C-o-r-E
a39ef9980f Merge remote-tracking branch 'upstream/master' 2013-01-30 19:05:35 -05:00
Corey C
b23cde57a6 libfreerdp: missing include 2013-01-30 18:55:22 -05:00
hardening
ebfec72e88 Add checks on RemoteFX 2013-01-28 22:23:10 +01:00
Marc-André Moreau
e1d0fad519 libfreerdp-core: fix memory leaks 2013-01-25 17:52:37 -05:00
Marc-André Moreau
b2c49aad04 Merge pull request #922 from awakecoding/master
Platform-Specific System Information
2013-01-23 16:45:38 -08:00
Marc-André Moreau
ebefab1de4 libfreerdp-codec: add processor count detection and auto-enabling of threads in RemoteFX decoder 2013-01-23 19:21:14 -05:00
Marc-André Moreau
a5b66e3766 libfreerdp-codec: fix build on Windows 2013-01-23 11:48:31 -05:00
Bernhard Miklautz
1b16ed49f1 codec/nsc: initialize elements with NULL
bmpdata and plane_buf[i] are checked agains NULL before using/freeing them
but they were not initialized to NULL. This caused segfaults in
the sample server.
2013-01-23 14:55:38 +01:00
Marc-André Moreau
bab543b201 libfreerdp-codec: start parallelizing rfx_decode_rgb 2013-01-22 23:00:20 -05:00
Marc-André Moreau
94ad538185 libfreerdp-codec: added registry keys for multithreaded RemoteFX decoder 2013-01-22 21:54:13 -05:00
Marc-André Moreau
22f374ac36 libfreerdp-codec: implement buffer pooling for RemoteFX 2013-01-22 21:24:04 -05:00
Marc-André Moreau
f5d9b06252 libwinpr-utils: added buffer pool 2013-01-22 20:36:08 -05:00
Marc-André Moreau
37a59efbe3 libfreerdp-codec: use _aligned_free for RemoteFX buffers 2013-01-22 18:32:17 -05:00
Marc-André Moreau
438a727c6b libfreerdp-codec: start parallel decoding of RemoteFX tiles 2013-01-22 18:14:50 -05:00
Marc-André Moreau
9a7bcbb084 libfreerdp-codec: remove old RemoteFX tile pool 2013-01-20 20:44:30 -05:00
Marc-André Moreau
3df754e0bb libfreerdp-codec: fix build 2013-01-18 19:43:53 -05:00
Daryl Poe
b64408975d freerdp primitives library 2013-01-18 15:32:58 -07:00
Marc-André Moreau
5fb6312a1f Merge github.com:FreeRDP/FreeRDP 2012-11-25 15:29:40 -05:00
Marc-André Moreau
84f358d3ce Merge pull request #812 from bmiklautz/versioning
build: fixed library versioning
2012-11-25 12:29:29 -08:00
Marc-André Moreau
6b2db2d103 macosx: update client 2012-11-22 15:32:21 -05:00
Marc-André Moreau
8a32de3801 libfreerdp: purged source tree from deprecated memory utils 2012-11-21 21:22:06 -05:00
Marc-André Moreau
2a16183f5d libfreerdp-utils: remove deprecated calls to xnew() macro 2012-11-21 20:21:08 -05:00
Marc-André Moreau
5e77cefb08 libfreerdp-utils: removed part of the deprecated calls to xzalloc 2012-11-19 23:49:08 -05:00
Bernhard Miklautz
9a33dbe826 build: fixed library versioning
Split version numbers into:
FREERDP_API_VERSION - the version of the API which is major.minor
FREERDP_VERSION - version of a release consisting of major.minor.revision (e.g. 1.1.0)
FREERDP_VERSION_FULL - like FREERDP_VERSION but with an optional "build" suffix (e.g 1.1.0-dev)
2012-11-18 17:07:33 +01:00
Marc-André Moreau
158030c57a libfreerdp-codec: add support for android cpu-features module 2012-10-22 19:01:19 -04:00
Marc-André Moreau
d251538252 libwinpr: fix build on linux 2012-10-18 22:05:06 -04:00
Marc-André Moreau
1adcca8d29 Merge branch 'master' of github.com:FreeRDP/FreeRDP into channels 2012-10-16 15:06:55 -04:00
Marc-André Moreau
639bb0d79d cmake: started simplifying monolithic build option 2012-10-13 15:20:39 -04:00
Mike Gilbert
06c59feeb8 Do not define HAVE_BOOLEAN in jpeg.c
freerdp/types.h no longer typedefs "boolean", so let jpeglib.h do it.
Resolves #768.
2012-10-11 13:23:44 -04:00
Jean-Louis Dupond
8b70615b30 libfreerdp-codec: return ARGB32/ABGR32 for dstBpp 32 with alpha 2012-10-11 00:07:56 +02:00
Marc-André Moreau
ce13f39de2 Merge pull request #763 from FreeRDP/channels
Major Refactoring + Static Channel System
2012-10-09 10:44:44 -07:00
Vic Lee
26580c9fbb libfreerdp-codec/rfx: remove RLGR output bit masking and let caller clear the stream for faster speed. 2012-10-09 20:47:08 +08:00
Marc-André Moreau
9d064171a7 freerdp: get rid of old types 2012-10-09 03:26:39 -04:00
Marc-André Moreau
1bf8a45519 freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16 2012-10-09 03:01:37 -04:00
Marc-André Moreau
1ed644786c freerdp: change boolean type to BOOL type 2012-10-09 02:38:39 -04:00
Marc-André Moreau
5612bc43f8 freerdp: change true/false to TRUE/FALSE 2012-10-09 02:31:28 -04:00
Marc-André Moreau
9909a12af5 libfreerdp-utils: get rid of xmalloc, xrealloc and xfree 2012-10-08 23:21:26 -04:00
Marc-André Moreau
e60a092d81 freerdp: fix headers 2012-10-08 23:02:04 -04:00
Marc-André Moreau
40eea7c76b cmake: rename WITH_MONOLITHIC_BUILD to MONOLITHIC_BUILD 2012-10-08 22:55:06 -04:00
Marc-André Moreau
e828feccb7 cmake: organize solution folders 2012-10-04 09:42:23 -04:00
Marc-André Moreau
2fde653d8a wfreerdp: merging with win32 integration branch 2012-10-02 11:05:21 -04:00
richterger
e1fc37b5e4 Add missing #ifdef/#endif around include stdint 2012-10-02 08:48:11 +02:00
Marc-André Moreau
fcc9f91302 cmake: add support for solution groups 2012-09-30 22:58:59 -04:00
Marc-André Moreau
6dcc8e73ee libfreerdp-utils: get rid of rdpBlob 2012-09-24 04:40:32 -04:00
Marc-André Moreau
44f18159c4 libfreerdp-utils: get rid of UNICONV unicode conversion context 2012-09-23 18:41:07 -04:00
Marc-André Moreau
01a44aa678 libfreerdp-codec: jpeg fix for issue #737 2012-09-23 15:46:30 -04:00
Jean-Louis Dupond
92d7b96a36 memcpy is undefined when buffer overlaps 2012-09-13 16:54:10 +02:00
Marc-André Moreau
910f9ffed6 libfreerdp: wrap inclusion of config.h with HAVE_CONFIG_H 2012-08-14 17:41:40 -04:00
Marc-André Moreau
d5d1eb7762 libfreerdp: add proper config.h inclusions 2012-08-14 17:09:01 -04:00
Marc-André Moreau
c56f7064f2 libfreerdp: fix linking libraries for monolithic build 2012-08-14 00:31:06 -04:00
Marc-André Moreau
19028a27b0 libfreerdp: move all libraries to libfreerdp directory, one step closer to monolithic build option 2012-08-13 23:19:51 -04:00