Commit Graph

199 Commits

Author SHA1 Message Date
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
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
f6e17ec65c Added audin support for mac os. 2015-11-12 16:10:39 +01:00
Armin Novak
7983c2f457 Fixed duplicate int. 2015-08-06 14:43:39 +02:00
Armin Novak
4a62e6bee4 Added length arguments and checks. 2015-08-06 11:24:42 +02: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
Bernhard Miklautz
1f414ec9e7 codec/planar: regression - fix conflicting types
Update planar.h to fix the conflicting types of
freerdp_bitmap_planar_delta_encode_planes.
2015-06-22 19:21:47 +02:00
Vic Lee
1d31f25992 h264: add encoder constant QP rate control. 2015-06-02 15:32:45 +08: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
Vic Lee
93d59ac3de h264: change encoder api and add multi-thread support. 2015-04-21 14:02:57 +08:00
Vic Lee
3c3c7068a0 Add openh264 encoder support. 2015-03-02 18:11:28 +08:00
Armin Novak
3c7b611041 Added destination buffer width to h264_decompress. 2015-01-22 13:23:59 +01:00
Armin Novak
e6fa0911a3 Fixed missing extern C 2014-12-01 13:12:51 +01: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
83ecddd6c1 xfreerdp: replace cliprdr to wire format conversion 2014-10-17 20:40:11 -04:00
Marc-André Moreau
334dec3c1f winpr: add pragma pack, bitmap + clipboard definitions 2014-10-16 21:45:47 -04:00
Marc-André Moreau
4f1fae38bb freerdp: fix headers for C++ 2014-09-25 14:15:57 -04:00
Marc-André Moreau
8123a1d9b8 libfreerdp-codec: refactor NSCodec 2014-09-23 20:00:26 -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
02c1bf14ce libfreerdp-gdi: fix gdi_init 2014-09-17 19:44:59 -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
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
501386b790 libfreerdp-gdi: partial support for internal ABGR buffer format 2014-09-15 16:08:06 -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
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
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
5b2a465ee6 libfreerdp-gdi: start optimizing gdi bitmap update 2014-09-11 20:12:32 -04: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
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
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
Marc-André Moreau
f14b0e0195 libfreerdp-codec: cleanup h264 decoder 2014-09-05 19:11:03 -04:00