Martin Fleisz
e45c300824
codec: Fix compilation with VS2010
2016-11-22 12:12:08 +01:00
Armin Novak
9c50e1a635
Replaced _VF formats with copy flags.
2016-10-14 10:36:52 +02:00
Armin Novak
99ade05330
Fixed uninitialized variable.
2016-10-13 16:57:51 +02:00
Bernhard Miklautz
5a5f091b7c
Merge pull request #3545 from akallabeth/legacy_rfx_fixes
...
Fixed Windows 7 RFX issues.
2016-10-13 13:01:53 +02:00
Armin Novak
79e8a6d61c
Reverted NSC format, decoded data is always BGRA!
2016-10-13 10:16:24 +02:00
Armin Novak
985ca171ff
Respecting tile offsets.
2016-10-12 09:21:21 +02:00
zihao.jiang
5e1f745868
Fix nsc server side after color conversion.
...
We use new color format system and PIXEL_FORMAT_BGRX32 is the unified buffer color format. Add support for PIXEL_FORMAT_BGRX32 in nsc
2016-10-11 23:31:12 +08:00
zihao.jiang
34b4bca119
Fix nsc client after after color conversion huge fix
...
nsc codec client doesn't work:
1. We should mark invalid region for software gdi
2. Checked the code before color conversion fix, the correct color format should be PIXEL_FORMAT_BGRX32_VF (corresponds to old PIXEL_FORMAT_XRGB32_VF)
3. For gdi:hw: xfc->bitmap_buffer is never used/initialized. However gdi->primary_buffer is always maintained. So use primary_buffer to hold the decoded bitmap data
2016-10-11 02:18:31 +08:00
Armin Novak
943e295714
WLog using C99 compatible variadic macros.
2016-10-07 14:05:27 +02:00
Armin Novak
2db04736ac
Fixed memory leak.
2016-10-06 13:43:15 +02:00
Armin Novak
4fa2bd2e07
Fixed memory leak and argument checks.
2016-10-06 13:43:14 +02:00
Armin Novak
ded84b1528
Fixed error message.
2016-10-06 13:43:14 +02:00
Armin Novak
b0b6dce0a1
Fixed NULL pointer checks.
2016-10-06 13:43:14 +02:00
Armin Novak
d55690db23
Fixed RFX encoding.
2016-10-06 13:43:12 +02:00
Armin Novak
9ab04711fa
Fixed shadow server color encoding.
2016-10-06 13:43:12 +02:00
Armin Novak
b8b84473a3
Fixed post disconnect hook.
2016-10-06 13:43:12 +02:00
Armin Novak
64c5d78b3f
Fixed clang warnings.
2016-10-06 13:43:09 +02:00
Armin Novak
c7448c03fb
Added FREERDP_LOCAL
...
CMake 2.8 does not support default visibility on windows.
To allow building tests add the FREERDP_LOCAL define for each
function that is internal to FreeRDP.
When build with testing these functions are exported and available
for use by tests.
2016-10-06 13:43:09 +02:00
Armin Novak
9fcfc38bd2
Fixed planar decoding.
2016-10-06 13:43:08 +02:00
Armin Novak
b888059bd7
Fixed color conversion issues.
2016-10-06 13:43:08 +02:00
Armin Novak
896f500e7e
Fixed h264 dummy init.
2016-10-06 13:43:06 +02:00
Armin Novak
60ac63854c
32bpp cursor fix.
2016-10-06 13:43:06 +02:00
Armin Novak
c00fc5715f
Cursor color decoding fixes.
2016-10-06 13:43:05 +02:00
Armin Novak
5fa9344c8f
Deactivated broken tests.
2016-10-06 13:43:05 +02:00
Armin Novak
f3d9e8de08
Fixed (some) planar codec tests.
2016-10-06 13:43:05 +02:00
Armin Novak
e4d89067b2
Fixed splitting of color planes.
2016-10-06 13:43:04 +02:00
Armin Novak
35f1347d53
Fixed warnings and mac build.
2016-10-06 13:43:04 +02:00
Armin Novak
d0f09c8d15
Fixed warnings and stride default.
2016-10-06 13:43:04 +02:00
Armin Novak
3f90966da6
Bug fixes.
2016-10-06 13:43:03 +02:00
Armin Novak
85bbe2a908
API refactoring.
2016-10-06 13:43:03 +02:00
Armin Novak
e650fdb2b6
Bugfixes.
2016-10-06 13:43:02 +02:00
Armin Novak
04fb4e4e4c
Fixed rectangle clipping and warnings.
2016-10-06 13:43:02 +02:00
Armin Novak
c229a1939d
Updated codec API, unified drawing order color decoding.
2016-10-06 13:43:02 +02:00
Armin Novak
e32ed83bf7
Updated interleaved and planar API.
2016-10-06 13:43:02 +02:00
Armin Novak
2594262ed4
Fixed progressive decoding.
2016-10-06 13:43:01 +02:00
Armin Novak
1608799522
Cleaned up clear codec.
2016-10-06 13:43:01 +02:00
Armin Novak
8fffda5740
Fixed clearcodec and codecs reset.
2016-10-06 13:43:01 +02:00
Armin Novak
99c418766c
Updated primitives API and tests.
2016-10-06 13:43:00 +02:00
Armin Novak
7d01fe14ce
Fixed planar tests, deactivated them for clear
2016-10-06 13:43:00 +02:00
Armin Novak
e1c3adf61f
freerdp_image_copy fixes, 8bit color improvements.
2016-10-06 13:42:59 +02:00
Armin Novak
c12c5dd2f5
Added overlapped copy support.
2016-10-06 13:42:59 +02:00
Armin Novak
716c5c53e9
256 color support.
2016-10-06 13:42:59 +02:00
Armin Novak
48d1b4ee13
Fixed color ordering for GDI.
2016-10-06 13:42:59 +02:00
Armin Novak
b668b0d75e
Api update.
2016-10-06 13:42:59 +02:00
Armin Novak
bb92655339
Fixed clear codec.
2016-10-06 13:42:59 +02:00
Armin Novak
5633f5242a
Fixed crashes.
2016-10-06 13:42:59 +02:00
Armin Novak
da956e0388
...
2016-10-06 13:42:59 +02:00
Armin Novak
24599af991
More color fixes.
2016-10-06 13:42:58 +02:00
Armin Novak
df35c135d1
Fixed color conversion, unified GFX and updated API.
2016-10-06 13:42:58 +02:00
Martin Fleisz
71765b72e3
Merge pull request #3284 from ondrejholy/endianness
...
Endianness fixes
2016-08-25 08:17:52 +02:00
zihao.jiang
2b6bd2626d
rdpgfx: various fixes according to comments
...
1. Fix stream leak in rdpgfx
2. Make src data const in zgfx. Harden zgfx to be independent to byte order
3. Fix written bytes return value in channel write
4. Add check for return value in shadow_client.c
5. Add gfx callback to send surface command with frame marker pdu.
6. Check remain length for recv subroutine
7. Fix compile errors
2016-08-07 20:15:39 +08:00
zihao.jiang
746a754244
rdpgfx: Implementation for server side channel
...
server/shadow: support h264 codec with gfx channel
2016-08-07 20:14:33 +08:00
Armin Novak
44fc5b521d
Added support for OpenH264 1.6
2016-07-04 12:42:57 +02:00
Ondrej Holy
e326e43e66
codec/xcrush: Fix endianness in compression
...
Compression doesn't work on big endian machines currently. The recieved
data are stored as little endian. Use conversion macros from endian.h to
load and store the data properly.
The patch fixes following error (so -compression option is no more needed
on big endian machines):
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core] - Decompression failure!
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core.fastpath] - bulk_decompress() failed
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core.fastpath] - fastpath_recv_update_data() fail
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
https://github.com/FreeRDP/FreeRDP/issues/2520
2016-05-30 13:37:15 +02:00
Marc-André Moreau
1b97593642
Merge pull request #3341 from awakecoding/xcrush_fix
...
proper xcrush context reset fix
2016-05-12 14:38:23 -04:00
Marc-André Moreau
a75d89d615
libfreerdp-codec: make proper xcrush context reset fix
2016-05-12 14:24:53 -04:00
Marc-André Moreau
ed326f6662
Merge pull request #3339 from awakecoding/xcrush_fix
...
libfreerdp-codec: fix xcrush decompression, revert remote control fix
2016-05-12 09:41:57 -04:00
Marc-André Moreau
892531d492
libfreerdp-codec: fix xcrush decompression, revert remote control fix
2016-05-12 09:22:24 -04:00
Marc-André Moreau
b24df90063
Merge pull request #3330 from awakecoding/xcrush_fix
...
xcrush context flush fix
2016-05-11 16:47:50 -04:00
Marc-André Moreau
a0630dee07
libfreerdp-codec: fix xcrush context flush
2016-05-11 16:35:20 -04:00
Marc-André Moreau
56f9b18276
libfreerdp-codec: fix error on empty RFX tileset, which can sometimes happen
2016-05-11 13:53:34 -04:00
Marc-André Moreau
915b9a15b1
Merge branch 'master' of github.com:FreeRDP/FreeRDP
...
Conflicts:
winpr/libwinpr/bcrypt/CMakeLists.txt
2016-05-11 11:05:17 -04:00
Bernhard Miklautz
9d98759801
libfreerd/color: fix typo
...
Source: http://anonscm.debian.org/cgit/collab-maint/freerdp2.git/commit/?id=f3c1f25bbfe0f17a0d1317096984b73db6fa1f38
2016-05-02 18:32:32 +02:00
Marc-André Moreau
cedf6d98e2
freerdp: more UWP porting
2016-03-29 20:34:52 -04:00
Marc-André Moreau
4d629a7999
freerdp: UWP porting
2016-03-29 16:03:15 -04:00
Bernhard Miklautz
9e8c6c99b6
First shot on fixing over linking
...
If a target is linked against libraries with cmake
(target_link_libraries) and the libraries are not marked as PRIVATE
they are "exported" and in case a other target is linked against this
target it is also linked against *all* (not private) libraries.
Without declaring private libraries PRIVATE a lot of over linking
(linking against unneeded libraries) was done.
2016-03-29 18:14:34 +02:00
Armin Novak
7faff04ec0
Assume the update rectangle is inclusive.
2016-03-16 13:46:47 +01:00
Armin Novak
5bc333c626
Implemented GFX AVC444 support.
2016-03-16 13:43:18 +01:00
Armin Novak
3a3ec85898
Unified RDPGFX_RECT16 and RECTANGLE_16
2016-03-16 13:43:17 +01:00
Armin Novak
2e110c7f35
Fixed codec reset, now resetting resolution too.
...
H264 and others require the surface resolution to work properly.
This initializes the codecs and the resolution on reset.
2016-03-02 14:46:33 +01:00
Nathan Kidd
d68e58a9dc
libfreerdp-codec: Make region16_rects() handle NULL nbRects
...
Now matches header documentation. Also cleans up related doc grammar.
2016-02-12 10:11:51 -05:00
Armin Novak
9b0ef3a4ec
Fixed stdint.h and stdbool.h detection.
2016-02-02 18:28:15 +01:00
Armin Novak
00b8d802d2
Fixed callback function return
2015-12-14 14:18:50 +01:00
Armin Novak
f6e17ec65c
Added audin support for mac os.
2015-11-12 16:10:39 +01:00
Bernhard Miklautz
0cdb4f7924
Fix compiler warnings
...
gcc (Debian 4.9.2-10) 4.9.2
winpr/libwinpr/thread/argv.c: In function ‘CommandLineToArgvA’:
winpr/libwinpr/thread/argv.c:94:6: warning: unused variable ‘index’ [-Wunused-variable]
int index;
winpr/libwinpr/file/test/TestFileGetStdHandle.c: In function ‘TestFileGetStdHandle’:
winpr/libwinpr/file/test/TestFileGetStdHandle.c:44:2: warning: implicit
declaration of function ‘CloseHandle’ [-Wimplicit-function-declaration]
CloseHandle(stdout);
^
libfreerdp/codec/test/TestFreeRDPRegion.c: In function ‘test_norbert2_case’:
libfreerdp/codec/test/TestFreeRDPRegion.c:697:6: warning: unused variable ‘i’ [-Wunused-variable]
int i;
channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_receive_format_list’:
channels/cliprdr/server/cliprdr_main.c:636:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
^
channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_init’:
channels/cliprdr/server/cliprdr_main.c:1097:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
2015-11-09 19:26:34 +01:00
Bernhard Miklautz
d73c4898c1
Add build-config.h
...
build-config.h should contain configure/compile time settings that are
relevant for projects that use FreeRDP.
For example the compiled in plugin search paths.
2015-11-09 15:54:22 +01:00
Norbert Federa
0f1cedcbb8
codec/color: fix segfault in freerdp_image32_copy
...
Code path for dstBytesPerPixel == 3 moved src and dst pointers
beyond their respective buffers.
2015-11-03 12:05:47 +01:00
David FORT
ff92a12ceb
Fix a bug in region_union_rect()
...
When region_union_rect() was called with a rect that was above the region without
intersecting it, the first band was created too large. This patch fixes this and
add a unitary test.
All credits go to @nfedera that:
* found the bug;
* find a dataset to reproduce;
* code the unitary test;
* spotted a suspicious line that was the faulty one.
2015-09-30 21:14:43 +02:00
MartinHaimberger
d4d360f6a4
Merge pull request #2859 from akallabeth/resource_leak_fix
...
Fixes API misuse and logic errors
2015-09-15 14:45:42 +02:00
Norbert Federa
1791d42a5d
improve handling of inverted pointer colors
2015-09-03 16:50:41 +02:00
MartinHaimberger
74817efbdb
Merge pull request #2852 from bmiklautz/process_env
...
Update CreateProcess and rfx
2015-09-02 10:09:11 +02:00
Armin Novak
08f61e60ca
Fixed zero length allocation.
2015-09-01 12:25:44 +02:00
Norbert Federa
2d5e249eff
Merge pull request #2825 from akallabeth/pointer_decoding_fix
...
Fixed color pointer decoding.
2015-09-01 11:09:42 +02:00
Armin Novak
89227b97f0
Ignore AND mask for 32 bit pointer.
2015-09-01 10:53:45 +02:00
Bernhard Miklautz
c0d1f5bac1
codec/rfx: update comment and remove WLog_ERR
...
With revision 17.0 of [MS-RDPRFX] the behavior when numRects == 0 is
documented.
This commit updates the comment and removes the error logging.
2015-08-28 10:36:56 +02:00
Armin Novak
4ed701bf35
media foundation support now a compile time option.
2015-08-11 07:58:43 +02:00
Armin Novak
4a62e6bee4
Added length arguments and checks.
2015-08-06 11:24:42 +02:00
Armin Novak
4df5e2b998
Fixed argument checks.
2015-08-05 17:32:38 +02:00
Armin Novak
0cbc46dc34
Fixed pointer update decoding with NULL mask.
2015-08-05 17:21:10 +02:00
Marc-André Moreau
162411dc67
libfreerdp-codec: fix Windows XP build for H.264 decoder
2015-08-04 11:55:03 -04:00
Marc-André Moreau
8fb9535e4a
libfreerdp-codec: fix leaks in H.264 Media Foundation decoder
2015-08-04 10:26:13 -04:00
Marc-André Moreau
d952502285
libfreerdp-codec: initial Media Foundation H.264 decoder support
2015-08-03 16:21:48 -04:00
Marc-André Moreau
32d1053abe
libfreerdp-codec: add more Media Foundation H.264 code
2015-07-30 14:07:35 -04:00
Marc-André Moreau
4dc47d4867
libfreerdp-codec: start H.264 MediaFoundation support
2015-07-29 16:33:04 -04:00
Marc-André Moreau
9400ccb4bc
libfreerdp-codec: add x264 stubs
2015-07-28 16:01:34 -04:00
Marc-André Moreau
a8e62e938a
libfreerdp-codec: fix egfx artifacts resulting from incorrect handling of rects inside the same egfx frame
2015-06-28 13:57:46 -04:00
Marc-André Moreau
5ec19d2045
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-06-26 14:00:03 -04:00
Marc-André Moreau
24ed6b06cc
channels/rdpgfx: update debug output
2015-06-26 13:59:41 -04:00
Norbert Federa
ac95b7274e
Merge pull request #2727 from akallabeth/leak_fixes_reformat
...
Fixed leaks, NULL dereferences and broken init.
2015-06-26 15:01:08 +02:00
Armin Novak
e8bfa29bd2
Replaced registry keys with cmake defines.
2015-06-24 14:02:48 +02:00
Armin Novak
a809b87362
Fixed memory leak.
2015-06-24 10:02:42 +02:00
Armin Novak
2ff1205dde
Fixed a resource leak.
2015-06-24 09:45:40 +02:00
Armin Novak
2e762c881c
Fixed a resource leak.
2015-06-24 09:33:20 +02:00
Armin Novak
6698e24228
Fixed leaks, NULL dereferences and broken init.
2015-06-23 21:29:21 +02:00
David FORT
7c3f8f33ab
Fixes for malloc / calloc + other fixes
...
This patch contains:
* checks for malloc return value + treat callers;
* modified malloc() + ZeroMemory() to calloc();
* misc fixes of micro errors seen during the code audit:
** some invalid checks in gcc.c, also there were some possible
integer overflow. This is interesting because at the end the data are parsed
and freed directly, so it's a vulnerability in some kind of dead code (at least
useless);
** fixed usage of GetComputerNameExA with just one call, when 2 were used
in misc places. According to MSDN GetComputerNameA() is supposed to return
an error when called with NULL;
** there were a bug in the command line parsing of shadow;
** in freerdp_dynamic_channel_collection_add() the size of array was multiplied
by 4 instead of 2 on resize
2015-06-22 19:21:47 +02:00
Bernhard Miklautz
bf73f4e4f1
Fix unchecked strdups
...
* add missing checks
* adapt function return values where necessary
* add initial test for settings
2015-06-22 19:09:59 +02:00
Norbert Federa
20aa10e6ae
codec/color: support for 8bpp color pointer
2015-06-11 16:34:42 +02:00
Norbert Federa
86d398f0a3
codec/color: support for 16bpp color pointer
2015-06-11 13:12:21 +02:00
Vic Lee
1d31f25992
h264: add encoder constant QP rate control.
2015-06-02 15:32:45 +08:00
Martin Haimberger
951a2d2210
stream: check stream_new in winpr and libfreerdp
...
also fixed a few things
2015-05-29 04:46:50 -07:00
Bernhard Miklautz
f9c7e03044
winpr: add intrin.h
...
Exposing lzcnt in crt.h might causes compiler errors (redefinition) with
recent versions of gcc (>=4.9) when winpr is included in other projects.
As lzcnt isn't part of crt according to MSDN and also shouldn't be
exported by default it was moved to intrin.h.
The related test was also moved to the top level directory of winpr.
2015-05-26 16:41:29 +02:00
Norbert Federa
535a4352a7
shadow/client context cleanup and unused vars fix
2015-05-21 16:05:05 +02:00
Norbert Federa
cd0a8e0506
Merge pull request #2630 from hardening/new_2616
...
Add checks for some XXX_New and XXX_Add functions
2015-05-21 16:04:26 +02:00
Clive Stevens
63ecb59681
Fix rounding error in progressive codec
...
The grid is composed of 64x64 blocks and should not be smaller
than the surface. If width or height were not a multiple of 64
the previous rounding resulted in a grid smaller than the surface.
2015-05-20 12:26:58 +01:00
Hardening
f8120919af
Add checks for some XXX_New and XXX_Add functions
...
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa
1eff1a345e
free can handle NULL perfectly fine
2015-05-11 09:07:39 +02:00
Norbert Federa
25fc866a58
Fix unchecked CreateThread calls and misc fixes
2015-05-05 13:55:48 +02:00
Norbert Federa
ef1fd12b15
Fix unchecked CreateEvent calls and misc fixes
...
1)
Added missing checks for CreateEvent which also required the
following related changes:
- changed freerdp_context_new API to BOOL
- changed freerdp_peer_context_new API to BOOL
- changed pRdpClientNew callback to BOOL
- changed pContextNew callback to BOOL
- changed psPeerAccepted callback to BOOL
- changed psPeerContextNew callback to BOOL
2)
Fixed lots of missing alloc and error checks in the
changed code's neighbourhood.
3)
Check freerdp_client_codecs_prepare result to avoid segfaults
caused by using non-initialized codecs.
4)
Fixed deadlocks in x11 caused by missing xf_unlock_x11() calls
in some error handlers
5)
Some fixes in thread pool:
- DEFAULT_POOL assignment did not match TP_POOL definition
- don't free the pool pointer if it points to the static DEFAULT_POOL
- added error handling and cleanup in InitializeThreadpool
2015-04-29 18:18:39 +02:00
Norbert Federa
5926bbcf48
codec/rfx: simplification, segfault/malloc fixes
...
rfx_process_message_sync:
- simplified the check if the header messages got processed
rfx_process_message_tileset:
- ObjectPool_Take result was not checked
- fail if TS_RFX_TILE block type is not CBT_TILE
- CreateThreadpoolWork result was not checked
- post decoding loop code segfaulted in error case
rfx_decoder_tile_new:
- missing malloc check
rfx_message_free:
- segfault protection
rfx_write_message_tileset:
- segfault protection
2015-04-24 17:54:49 +02:00
Norbert Federa
84577b1ca7
codec/rfx: error checking and various fixes
...
- removed some unneeded null checks for free()
- fixed a memory leak in shadow_client
- removed rfx_compose_message_header from API
Changed the following functions to BOOL, check the result
where they are called and handle failures:
- rfx_compose_message
- rfx_compose_message_header
- rfx_write_tile
- rfx_write_message_tileset
- rfx_write_message_frame_begin
- rfx_write_message_region
- rfx_write_message_frame_end
- rfx_write_message
rfx_process_message:
- check memory allocation failures
- verify protocol-conform order of data messages to prevents memory
leaks caused by repeated allocations
- verify that header messages were parsed/received before the
data messages
- treat unknown rlgr mode as error
- fixed/added error handling
- fixed all callers to check/handle result
rfx_encode_message:
- fixed incorrect usage of realloc
- missing malloc check
- missing check of CreateThreadpoolWork
- correct cleanup on failure (threadpool, memory)
- check rfx_encode_message result
rfx_encode_messages:
- check rfx_split_message result
- correct cleanup on failure
- prevent memory leak on failure
rfx_write_message_context:
- fixed invalid channelId value (must be 0xFF for WBT_CONTEXT)
rfx_process_message_codec_versions:
- fixed invalid read size of codec_version (it is 16bit)
rfx_process_message_channels:
- verify protocol conform channelId value
rfx_process_message_region:
- replaced invalid reallocs with malloc
- read and verify regionType and numTileSets from stream
rfx_process_message_tileset:
- check allocation results
- fixed incorrect usages of realloc
setupWorkers:
- fixed incorrect usages of realloc
rfx_split_message:
- removed dead code
- missing malloc check
rfx_compose_message:
- fixed a memory leak
- check/handle rfx_encode_message result
2015-04-23 15:42:21 +02:00
Bernhard Miklautz
515502ffa5
change return types of callbacks to BOOL
...
* change all client/server callbacks to BOOL
* update all clients accordingly
* add multiple return value checks
* small fixes
2015-04-21 14:18:07 +02:00
Vic Lee
93d59ac3de
h264: change encoder api and add multi-thread support.
2015-04-21 14:02:57 +08:00
Bernhard Miklautz
850de59b55
winpr: add checks for *alloc
...
Add missing checks if memory allocation was successful. Also adapt
caller(s) when possible.
2015-04-08 11:34:37 +02:00
Bernhard Miklautz
74c8400789
coding style fixes
...
Add missing space after if
2015-03-30 17:15:45 +02:00
Bernhard Miklautz
f469e069dc
stream: Stream_Ensure*Capacity: change return type
...
Change the return type of Stream_Ensure*Capacity from void to BOOL to be
able to detect realloc problems easily. Otherwise the only way to detect
this was to check if the capacity after the call was >= the required
size.
In case Stream_Ensure*Capacity fails the old memory is still available
and need to freed outside.
This commit also adds checks to most calls of Stream_Ensure*Capacity to
check if the call was successful.
2015-03-30 16:33:48 +02:00
Bernhard Miklautz
3c7662517c
hardening
...
Start to add missing checks for:
* *alloc
* *_New
2015-03-25 17:38:21 +01:00
Hardening
20433e6f29
Merge pull request #2443 from realjiangms/fix_region
...
Incorrect extents calculation in region16_intersect_rect (libfreerdp/codec/region.c)
2015-03-20 22:12:48 +01:00
zihao.jiang
a6311d29e7
Add ascii art for norbert_test_case
2015-03-21 01:07:54 +08:00
zihao.jiang
2a91988975
resolve comments from hardening
2015-03-21 00:04:30 +08:00
zihao.jiang
ce06229499
fix tab/space style
2015-03-20 23:40:48 +08:00
zihao.jiang
f94935224c
Fixes extents of region16_intersect_rect.
...
See Issue #2443 .
When there's more than 2 rectangles in the region structure, region16_intersect_rect would calculate extents by all 'intersected' sub rectangles.
But it always extend the extents to (0,0) because it initialize the new extents as (0,0,0,0) and union later rectangles with this empty point by simple MIN/MAX calculation.
Also fixed rectangle_is_empty although it has not been used yet. The function does not work as its name.
Reuse norbert case. That case is enough for the intersect fix, but the expected result is not correct. The test case is also fixed.
Added test case to check empty rectangle.
2015-03-20 20:55:06 +08:00
Marc-André Moreau
0e94ac663d
libfreerdp-codec: add support for 16 color palette image copy
2015-03-16 14:01:43 -04:00
Marc-André Moreau
9562439bd8
libfreerdp-codec: add support for 1bpp image copy
2015-03-16 13:27:27 -04:00
Marc-André Moreau
ad02c75af8
libfreerdp-gdi: disable broken BitBlt tests
2015-03-16 08:55:06 -04:00
Zhang Zhaolong
f0adff1812
codec: check return value of realloc.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 14:18:45 +08:00
Vic Lee
3c3c7068a0
Add openh264 encoder support.
2015-03-02 18:11:28 +08:00
Marc-André Moreau
0054b6b134
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-02-06 18:02:10 -05:00
Marc-André Moreau
fdde017526
libfreerdp-codec: allow region_uninit to be called multiple times
2015-02-05 15:10:24 -05:00
Petr Sumbera
8510373b04
Fixes Solaris bus error on sparc.
2015-02-05 08:46:56 -08:00
Armin Novak
d42261f5eb
Added destination buffer width to h264_decompress.
...
Added proper region limit checks in h264_decompress.
2015-01-22 13:22:53 +01:00
Armin Novak
c43faeec0a
Removed broken buffer size check.
...
To check the decoded h264 frame size against the output buffer is wrong.
The size of the output buffer must only hold the data defined by the
region rectangles.
2015-01-22 13:06:37 +01:00
Armin Novak
a217e02924
Prettiefied WLog messages.
2015-01-20 11:10:16 +01:00
Armin Novak
a295a42664
Prettiefied WLog messages.
2015-01-20 11:10:03 +01:00
Armin Novak
595680d169
Prettiefied WLog messages.
2015-01-20 11:09:54 +01:00
Armin Novak
528c5841d5
Fixed memory leak.
2014-12-07 00:50:20 +01:00
Marc-André Moreau
88dd5eb8c5
Merge pull request #2225 from akallabeth/openh264_fix
...
Openh264 v1.2 API
2014-11-28 11:23:11 -05:00
Marc-André Moreau
8a7a71a7b6
Merge pull request #2213 from akallabeth/wlog_callback_appender
...
Wlog callback appender
2014-11-17 09:41:58 -05:00
Armin Novak
83477e5344
Fixed memory leak.
2014-11-17 01:10:45 +01:00
Armin Novak
e4b33efdb2
Fixed memory leak.
2014-11-17 00:56:56 +01:00
Armin Novak
dac7c178a1
Fixed memory leak.
2014-11-17 00:44:22 +01:00
Armin Novak
a9cfb1d07b
Fixed memory leak.
2014-11-17 00:37:29 +01:00
Armin Novak
3a92a626fc
Fixed memory leaks.
2014-11-16 23:11:28 +01:00
Armin Novak
ce3e70840c
Fixed uninitialized value.
2014-11-16 22:22:44 +01:00
Armin Novak
b5d7c30639
Added support for OpenH264v1.2
2014-11-16 14:32:52 +01:00
Armin Novak
8d4589b1e1
Replaced fprintf error messages with WLog.
2014-11-16 12:21:38 +01:00
Norbert Federa
7c0c905683
libfreerdp-codec: fix mppc decompression
...
* protect against history buffer overflows
* fix replicating copy (CopyOffset can be > HistoryBufferSize!)
2014-11-13 14:55:15 +01:00
Norbert Federa
ea0d8a280c
codec: fix pointer data conversion + 24bpp support
...
- alpha values were annihilated (fixed)
- support 24bit xor mask data added
2014-10-31 12:18:08 +01:00
Marc-André Moreau
765150e3ed
libfreerdp-codec: fix incorrect pixel increment in freerdp_image24_copy
2014-10-23 15:50:24 -04:00
Marc-André Moreau
5f95f0776f
libfreerdp-codec: add freerdp_image_copy_from_monochrome replacement function for deprecated freerdp_mono_image_convert
2014-10-21 21:56:10 -04:00
Marc-André Moreau
0aab1e7ee5
libfreerdp-codec: fix and enhance cursor image conversion
2014-10-21 20:46:15 -04:00
Marc-André Moreau
26556323c0
libfreerdp-color: fix 24bpp copy
2014-10-14 20:59:22 -04:00
Marc-André Moreau
02987bbd4a
libfreerdp-codec: add 24bpp to 24bpp color conversion
2014-10-13 12:29:06 -04:00
Marc-André Moreau
a0bab75cff
libfreerdp-codec: fix graphical artifacts with interleaved RLE
2014-10-13 11:39:21 -04:00
Marc-André Moreau
9daa8bd36f
libfreerdp-gdi: handle egfx desktop resize
2014-09-25 22:08:10 -04:00
Marc-André Moreau
8123a1d9b8
libfreerdp-codec: refactor NSCodec
2014-09-23 20:00:26 -04:00
Marc-André Moreau
86c7f46b76
shadow: improve bitmap update performance
2014-09-20 16:29:13 -04:00
Marc-André Moreau
45b9a5454e
libfreerdp-codec: improve compressor interfaces
2014-09-20 15:25:33 -04:00
Marc-André Moreau
09fc388e03
shadow: add RefreshRect/SuppressOutput support
2014-09-18 22:18:58 -04:00
Marc-André Moreau
6afd621d4c
Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
...
Conflicts:
server/Mac/mf_audin.c
server/Mac/mf_event.c
server/Mac/mf_info.c
server/Mac/mf_mountain_lion.c
server/Mac/mf_peer.c
server/Mac/mf_rdpsnd.c
server/Mac/mfreerdp.c
server/shadow/CMakeLists.txt
2014-09-17 20:15:01 -04:00
Marc-André Moreau
2a5192b027
Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
...
Conflicts:
client/Windows/wf_cliprdr.h
client/Windows/wf_event.h
client/X11/xf_client.c
client/X11/xf_gdi.c
libfreerdp/gdi/gdi.c
server/Mac/mf_input.c
2014-09-17 19:09:56 -04:00
Marc-André Moreau
60b2d7d603
libfreerdp-codec: fix warning in color conversion, fix color move
2014-09-17 18:43:42 -04:00
Marc-André Moreau
73471eb1f0
libfreerdp-gdi: fix 8bpp mode
2014-09-17 18:30:09 -04:00
Marc-André Moreau
1c646da826
Merge branch 'egfx' of github.com:awakecoding/FreeRDP into shadow
2014-09-17 15:17:05 -04:00
Marc-André Moreau
48b35be953
xfreerdp: fix X11 16bpp mode
2014-09-17 14:29:56 -04:00
Marc-André Moreau
fb4e5d352b
libfreerdp-codec: add proper 16bpp output format support
2014-09-17 12:17:41 -04:00
Marc-André Moreau
1b7a84419c
xfreerdp: partial fix for X11 16bpp mode
2014-09-16 19:12:26 -04:00
Marc-André Moreau
c40d8155a6
libfreerdp-gdi: fix SurfaceToSurface overlapping copies
2014-09-16 17:41:24 -04:00
Marc-André Moreau
1837c34e6e
libfreerdp-codec: add BGR support to egfx
2014-09-16 16:55:47 -04:00
Marc-André Moreau
b25258e8c6
libfreerdp-gdi: add support for ABGR plain colors
2014-09-15 16:28:53 -04:00
Marc-André Moreau
abb841e533
libfreerdp-codec: add RGB/BGR color conversion to freerdp_image_copy
2014-09-15 14:59:45 -04:00
Armin Novak
00d15d0a1b
Decreased logging verbosity.
2014-09-15 19:51:17 +02:00
Armin Novak
2f519d7f16
Replaced logging in libfreerdp with wlog defines.
2014-09-15 08:48:46 +02:00
Marc-André Moreau
06dc76bce2
shadow/mac: add initial screen capture support
2014-09-14 20:08:38 -04:00
Marc-André Moreau
b7351e0795
Merge branch 'egfx' of github.com:awakecoding/FreeRDP into shadow
2014-09-13 12:04:02 -04:00
Marc-André Moreau
f693ff42d7
Merge pull request #2097 from awakecoding/egfx
...
GDI Bitmap Update Optimization
2014-09-12 15:12:52 -04:00
Marc-André Moreau
198f94fe03
libfreerdp-gdi: add RDP8 graphics pipeline support
2014-09-12 14:57:44 -04:00
Marc-André Moreau
45d2bab95d
xfreerdp: optimize bitmap updates
2014-09-11 22:29:09 -04:00
Marc-André Moreau
a3cdcc1641
libfreerdp-gdi: fix and cleanup new bitmap update code
2014-09-11 20:46:15 -04:00
Marc-André Moreau
5b2a465ee6
libfreerdp-gdi: start optimizing gdi bitmap update
2014-09-11 20:12:32 -04:00
Bernhard Miklautz
0313ca3622
libfreerdp: always build "MONOLITHIC"
...
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.
This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Martin Fleisz
54b96290c9
Merge branch 'fix_2036' of git://github.com/akallabeth/FreeRDP into akallabeth-fix_2036
...
Conflicts:
libfreerdp/codec/test/TestFreeRDPCodecPlanar.c
libfreerdp/codec/test/TestFreeRDPCodecProgressive.c
libfreerdp/core/transport.c
libfreerdp/primitives/test/TestPrimitivesYCbCr.c
2014-09-11 13:03:01 +02:00
Marc-André Moreau
e1e8da9490
shadow: add ability to share rectangle within monitor
2014-09-10 16:27:24 -04:00
Marc-André Moreau
89e5fef11f
wfreerdp: fix build on Windows
2014-09-10 11:38:38 -04:00
Armin Novak
f18a4b8252
Fixed winpr_HexDump calls in tests.
2014-09-10 08:48:49 +02:00
Marc-André Moreau
c71e4e18a1
libfreerdp-core: refactor codec context management
2014-09-10 00:42:41 -04:00
Marc-André Moreau
bcf1266f51
libfreerdp-primitives: integrate H264 SSE3 color converter
2014-09-09 19:15:07 -04:00
Marc-André Moreau
666919d157
Merge branch 'egfx_new' of https://github.com/erbth/FreeRDP into egfx
2014-09-09 18:04:55 -04:00
Marc-André Moreau
5c5eedc85b
libfreerdp-codec: allow error margin of 1 on YCbCr to RGB color decoding
2014-09-09 17:34:02 -04:00
Marc-André Moreau
372d4076d4
libfreerdp-codec: fix progressive decoding
2014-09-09 14:36:04 -04:00
Armin Novak
6762d73ae1
Fixed winpr_HexDump calls.
2014-09-09 16:33:05 +02:00
Armin Novak
b22b897389
Reformatted changed files.
2014-09-09 16:32:22 +02:00
Armin Novak
f8eae11bf3
Fixed calling of dump functions, updated API
2014-09-09 16:31:46 +02:00
erbth
7828725413
YUV data conversion of H.264 implementation (egfx):
...
only convert invalid areas
SIMD SSSE3 conversion in primitives
compiling all primitives sources with optimization
and cleanup after last merge
2014-09-09 00:13:18 +02:00
erbth
cbc8b3a7e1
Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx_new
...
Conflicts:
channels/drdynvc/client/dvcman.c
include/freerdp/codec/h264.h
libfreerdp/codec/h264.c after this merge h264 doesn't work anymore!!
libfreerdp/utils/svc_plugin.c
2014-09-08 16:56:45 +02:00
erbth
fee370e4b2
YUV data conversion with SSSE3 using intrinsics
2014-09-08 16:29:01 +02:00
Marc-André Moreau
ad9092baf9
libfreerdp-codec: cleanup and restructure planar decompressor for chroma subsampling
2014-09-07 15:40:36 -04:00
Marc-André Moreau
5b8fb70e8c
libfreerdp-codec: simplify and optimize planar raw rgb decoding
2014-09-07 14:08:29 -04:00
Marc-André Moreau
bd516e04fa
libfreerdp-primitives: cleanup YCoCg
2014-09-06 21:13:37 -04:00
Marc-André Moreau
437583aa9a
libfreerdp-primitives: add YUV420 to RGB conversion
2014-09-06 17:10:27 -04:00
Marc-André Moreau
73d121dd82
Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
2014-09-05 20:17:05 -04:00
Marc-André Moreau
5f37e768f0
libfreerdp-codec: improve YUV to RGB color conversion
2014-09-05 20:16:56 -04:00
Marc-André Moreau
fe75405d5c
libfreerdp-codec: fix build on Windows
2014-09-05 19:38:33 -04:00
Marc-André Moreau
f14b0e0195
libfreerdp-codec: cleanup h264 decoder
2014-09-05 19:11:03 -04:00
Marc-André Moreau
510a02ea94
libfreerdp-codec: improve progressive unit test
2014-09-04 16:52:41 -04:00
Marc-André Moreau
be60bddec0
libfreerdp-primitives: add YCbCr color converter test
2014-09-04 16:34:29 -04:00
Marc-André Moreau
37aabc50d1
libfreerdp-codec: improve YCbCr to RGB color conversion
2014-09-04 13:09:46 -04:00
Marc-André Moreau
fd7b9669a5
libfreerdp-codec: improve progressive unit tests
2014-09-03 18:47:02 -04:00
Marc-André Moreau
1491c5a7f9
libfreerdp-codec: initial partial upgrade tile support
2014-09-02 19:25:01 -04:00
Marc-André Moreau
f79be532f0
libfreerdp-codec: fix and improve SRL decoder
2014-09-02 18:15:36 -04:00
erbth
25593c7250
H.264: converting only clipping rects to XRGB
2014-09-02 22:16:56 +02:00
Marc-André Moreau
6abd9e6be0
libfreerdp-codec: add more progressive test functions
2014-09-02 13:31:40 -04:00
Marc-André Moreau
49cede6e01
libfreerdp-codec: add separate sign array
2014-08-28 15:14:01 -04:00
Marc-André Moreau
e15baf6184
libfreerdp-codec: add code for SRL parsing
2014-08-28 12:14:28 -04:00
Marc-André Moreau
59b8bd0bd1
libfreerdp-codec: start reading progressive RAW bytes
2014-08-27 18:34:37 -04:00
Marc-André Moreau
32766b0647
libfreerdp-codec: start computing BitPos
2014-08-27 17:02:15 -04:00
Marc-André Moreau
51d1d42616
libfreerdp-codec: fix progressive tile diffing
2014-08-27 15:15:37 -04:00
Marc-André Moreau
656dd760c5
libfreerdp-codec: fix sub-band diffing
2014-08-26 16:15:22 -04:00
Marc-André Moreau
4773403243
libfreerdp-codec: partial YCbCr diffing support
2014-08-26 14:36:33 -04:00
Marc-André Moreau
ec53dd612e
libfreerdp-codec: fix progressive codec tile drawing offset, fix dequantization
2014-08-25 19:50:42 -04:00
Marc-André Moreau
2cffa7d8f4
libfreerdp-codec: make use of progressive quantization factors
2014-08-25 17:58:38 -04:00
Marc-André Moreau
ed7312501c
libfreerdp-codec: fix progressive quantization shifts
2014-08-21 19:43:37 -04:00
Marc-André Moreau
969d9011da
libfreerdp-codec: partially working progressive iDWT
2014-08-21 19:02:26 -04:00
Marc-André Moreau
f79ba1b364
libfreerdp-codec: fix crashes
2014-08-21 17:14:10 -04:00
Marc-André Moreau
f77e515965
libfreerdp-codec: improve progressive iDWT
2014-08-21 16:05:39 -04:00
Marc-André Moreau
e54bbdab00
libfreerdp-codec: start new progressive rfx iDWT functions
2014-08-20 19:12:08 -04:00
erbth
dee50a8ca2
H264 data alignement and 32 bit comilation ...
2014-08-21 00:58:08 +02:00
erbth
9eec9cb18a
RDPEGFX H264 YUV data conversion in assembly/with SSSE3 in 32bit
2014-08-21 00:08:56 +02:00
Marc-André Moreau
5e778d6a0c
libfreerdp-codec: intermediate progressive rfx iDWT
2014-08-20 17:16:34 -04:00
Marc-André Moreau
68b3d0476b
libfreerdp-codec: start work on progressive inverse DWT
2014-08-19 14:48:09 -04:00
Marc-André Moreau
2e672d5bdb
libfreerdp-codec: optimize RemoteFX dequantization and differentiation
2014-08-18 21:10:56 -04:00
Marc-André Moreau
6744bbe7ae
libfreerdp-codec: start working on progressive dequantization
2014-08-18 19:12:08 -04:00
Marc-André Moreau
82a53057a1
Merge pull request #2023 from ptsekov/software-gdi-improvements
...
Software GDI improvements
2014-08-18 16:22:23 -04:00
erbth
497e130c21
YUV data conversion using SSSE3/assembly with libavcodec implementation
2014-08-18 21:21:24 +02:00
Pavel Tsekov
eab69c2984
Fix 1bpp -> 16bpp image conversion.
...
* libfreerdp/codec/color.c (freerdp_mono_image_convert): Update the
1bpp -> 16bpp conversion code to reflect the fact that the foreground
and the background colors are in GDI representation now.
2014-08-14 20:09:12 +03:00
Pavel Tsekov
53e19e0da7
Fix conversion of 24bpp bitmaps to 32bpp fb when
...
CLRCONV_INVERT and/or CLRCONV_ALPHA is set.
* include/freerdp/codec/color.h (RGB32_to_BGR32): New inline function.
* libfreerdp/codec/color.c:
(freerdp_image_convert_24bpp): Fix CLRCONV_ALPHA and CLRCONV_INVERT
processing for 32bpp destination.
Unroll the conversion loop to process four pixels in one go using
32-bit load and store operations.
2014-08-14 00:31:15 +03:00
erbth
095a7aba99
OpenH264 YUV data conversion with intel SSSE3 in assembly
2014-08-13 20:56:40 +02:00
Marc-André Moreau
87fd839a35
libfreerdp-codec: cleanup and fix __lzcnt on Windows
2014-08-11 18:48:42 -04:00
Marc-André Moreau
dc7f89dbd5
Merge branch 'egfx' of github.com:awakecoding/FreeRDP
2014-08-11 17:25:38 -04:00
Marc-André Moreau
cff9c16c1e
Merge branch 'master' of github.com:FreeRDP/FreeRDP
...
Conflicts:
channels/disp/client/disp_main.c
2014-08-11 10:36:07 -04:00
erbth
a8945306a1
Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx
2014-08-08 15:22:47 +02:00