Commit Graph

230 Commits

Author SHA1 Message Date
Martin Fleisz
e059e3dea3 codec: Remove src format parameter from rfx_process_message
This parameter is not required. Default param is BGRX32
and if an other format is required rfx_codec_set_pixel_format
can be used.
2016-12-01 17:21:06 +01:00
akallabeth
215fbe8446 Merge pull request #3613 from mfleisz/rlgr_api_revamp
codec: Revamp of rfx rlgr API
2016-11-25 13:44:23 +01:00
Bernhard Miklautz
e0382e01b8 Merge pull request #3614 from mfleisz/warning_fixes
codec: Fix some warnings on VC2010 (and probably others too)
2016-11-25 11:49:16 +01:00
Armin Novak
1c4c57821b Ignore alpha channel in freerdp_image_copy
When copying image data consider formats that only differ on use
of alpha data equal. This allows using the optimized copy routine
instead of the slower color conversion routine. Fixes #3616
2016-11-24 09:31:14 +01:00
Martin Fleisz
4f1e3d0bf6 codec: Fix some warnings on VC2010 (and probably others too) 2016-11-23 17:11:05 +01:00
Martin Fleisz
6c9df44846 codec: Revamp of rfx rlgr API
This PR contains following changes:
- Give rlgr encode/decode APIs a similar interface
- Make rlgr encode API accessible again
- Make it possible to exchange rlgr functions
- Make use of RLGR1/3 defines instead of 0/1 in decoding
2016-11-23 13:21:59 +01:00
Armin Novak
e9b5b555b9 directly using FREERDP_PIXEL_FORMAT. 2016-10-19 12:41:43 +02:00
Armin Novak
9c50e1a635 Replaced _VF formats with copy flags. 2016-10-14 10:36:52 +02:00
Armin Novak
85e17ada02 Fixed uninitialized arguments, WLog tag. 2016-10-13 16:57:51 +02:00
Armin Novak
8286fa4b96 Fixed format flip and offsets for GDI. 2016-10-11 18:50:01 +02:00
Armin Novak
cba67668ca Added documentation, removed unused function. 2016-10-06 13:43:15 +02:00
Armin Novak
0e2b5184c2 Added color format documentation. 2016-10-06 13:43:15 +02:00
Armin Novak
0c81f4a28b Reformatted file. 2016-10-06 13:43:14 +02:00
Armin Novak
b372d63d78 Reformatted file. 2016-10-06 13:43:14 +02:00
Armin Novak
86d414bb3c Reformatted file. 2016-10-06 13:43:14 +02:00
Armin Novak
9fcfc38bd2 Fixed planar decoding. 2016-10-06 13:43:08 +02:00
Armin Novak
e3b43b991d Fixed some bitblt issues. 2016-10-06 13:43:05 +02:00
Armin Novak
c7f8d006d3 Fixed RGBX32 format split color mixup. 2016-10-06 13:43:04 +02:00
Armin Novak
d3538fc930 Fixed gdi LineTo and tests. 2016-10-06 13:43:04 +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
e32ed83bf7 Updated interleaved and planar API. 2016-10-06 13:43:02 +02:00
Armin Novak
f9a89ae6b4 Bug fixes, refactoring. 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
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
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
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