Marc-André Moreau
68b3d0476b
libfreerdp-codec: start work on progressive inverse DWT
2014-08-19 14:48:09 -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
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
Pavel Tsekov
c51c5df2ff
* include/freerdp/codec/color.h:
...
(freerdp_color_convert_drawing_order_color_to_gdi_color): Declare new
function.
* libfreerdp/codec/color.c:
(freerdp_color_convert_drawing_order_color_to_gdi_color): Implement.
(freerdp_image_convert_8bpp): Properly use the ARGB32/ABGR32/RGB32/BGR32
macros when converting 8bpp data to 32bpp.
(freerdp_image_convert_32bpp): Fix CLRCONV_ALPHA and CLRCONV_INVERT
processing for 32bpp destination.
(freerdp_mono_image_convert): Use ARGB32/ABGR32 when converting to 32bpp
and CLRCONV_ALPHA is set.
* libfreerdp/core/orders.c: Color data from drawing orders is
interpreted in big endian mode.
* libfreerdp/core/update.c (update_read_palette): Likewise.
* libfreerdp/gdi/16bpp.c (gdi_get_color_16bpp): GDI colors are stored as
RGB now.
* libfreerdp/gdi/32bpp.c (gdi_get_color_32bpp): Likewise.
* libfreerdp/gdi/gdi.c:
Use freerdp_color_convert_drawing_order_color_to_gdi_color() to convert
from drawing order color representation to GDI color representation
troughout.
* libfreerdp/gdi/graphics.c (gdi_Glyph_BeginDraw): Likewise.
(gdi_Glyph_EndDraw): Likewise.
2014-08-07 00:58:58 +03:00
Marc-André Moreau
2653c5420f
libfreerdp-codec: start processing tiles in progressive rfx
2014-08-06 10:23:14 -04:00
Marc-André Moreau
22d3b6c74b
libfreerdp-codec: remove old RemoteFX RLGR implementation in favour of faster one
2014-08-05 21:41:58 -04:00
Marc-André Moreau
14a3ff94eb
libfreerdp-codec: simplify block reading logic
2014-08-01 09:44:00 -04:00
Marc-André Moreau
574c1789b7
libfreerdp-codec: start processing progressive tiles
2014-07-31 15:08:54 -04:00
Marc-André Moreau
800be2f680
libfreerdp-codec: complete parsing of progressive codec block arrays
2014-07-29 17:37:46 -04:00
Marc-André Moreau
2b3cd39026
libfreerdp-codec: more parsing of progressive data blocks
2014-07-29 12:38:29 -04:00
Marc-André Moreau
a3de93d867
libfreerdp-codec: start parsing progressive codec
2014-07-28 23:41:16 -04:00
Marc-André Moreau
0c408c213c
libfreerdp-codec: stub progressive codec decompressor
2014-07-28 17:42:23 -04:00
Mike McDonald
4370c26e0d
Added the ability to decode H.264 frames using libavcodec and refactored code to make it a little cleaner.
2014-07-14 09:59:57 -04:00
Marc-André Moreau
03c91a92d1
libfreerdp-codec: add more egfx h264 debugging
2014-07-09 16:41:36 -04:00
Marc-André Moreau
2f26ed58e5
libfreerdp-codec: reduce ClearCodec memory usage
2014-07-08 11:37:27 -04:00
Marc-André Moreau
d6a37d641e
libfreerdp-codec: fix C++ headers
2014-07-07 22:24:17 -04:00
Marc-André Moreau
7489675ab9
libfreerdp-codec: fix ClearCodec RLEX decoding
2014-07-07 14:16:05 -04:00
Marc-André Moreau
0ed7d3e6be
libfreerdp-codec: fix some ClearCodec flag checking
2014-07-05 16:29:28 -04:00
Marc-André Moreau
bde954107d
Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx
...
Conflicts:
client/X11/xf_gfx.c
2014-07-03 12:03:39 -04:00
Marc-André Moreau
4b80c46ae4
libfreerdp-codec: improve ClearCodec robustness
2014-07-02 14:51:46 -04:00
Marc-André Moreau
e20cfc1e2c
libfreerdp-codec: simplify ClearCodec code
2014-07-02 13:45:19 -04:00
Mike McDonald
4d3d78c487
Initial implementation of H.264 decoder for MS-RDPEGFX
2014-07-01 23:28:09 -04:00
Marc-André Moreau
4a4f4308b5
libfreerdp-codec: improve ClearCodec error checking
2014-07-01 16:32:36 -04:00
Marc-André Moreau
f304d8cc20
libfreerdp-codec: more ClearCodec vBar caching
2014-07-01 14:38:54 -04:00
Marc-André Moreau
8a5591bdef
libfreerdp-codec: add ClearCodec glyph cache
2014-07-01 09:55:52 -04:00
Marc-André Moreau
de7d452d37
libfreerdp-codec: fix ClearCodec unit tests
2014-07-01 09:10:32 -04:00
Marc-André Moreau
49cd7806d9
libfreerdp-codec: improve ClearCodec decompressor
2014-06-26 17:08:51 -04:00
Marc-André Moreau
dd36617093
libfreerdp-codec: improve clear_decompress function parameters
2014-06-25 18:39:28 -04:00
Marc-André Moreau
ea3822c357
libfreerdp-codec: cleanup planar decoder
2014-06-18 17:46:22 -04:00
Marc-André Moreau
425763d30a
libfreerdp-codec: start offering more flexible planar codec decompression
2014-06-17 16:44:24 -04:00
Marc-André Moreau
d69316198f
xfreerdp: add egfx support for planar codec
2014-06-17 16:15:30 -04:00
Marc-André Moreau
61eb7f2f8e
libfreerdp-codec: fix ClearCodec decoding
2014-06-13 17:30:13 -04:00
Marc-André Moreau
0e27f5abe4
libfreerdp-codec: start working on clearcodec decompressor
2014-06-13 12:17:16 -04:00
Marc-André Moreau
eeb7cd2cb2
xfreerdp: initial egfx bitmap caching
2014-06-13 08:36:09 -04:00
Marc-André Moreau
ae02b5b512
xfreerdp: start handling egfx surface-to-surface
2014-06-12 16:13:12 -04:00
Marc-André Moreau
b4ba2c7a38
libfreerdp-codec: optimize zgfx bitstream
2014-06-05 15:41:42 -04:00
Marc-André Moreau
161e7b0026
libfreerdp-codec: simplify zgfx segment processing
2014-06-05 14:52:27 -04:00
Marc-André Moreau
d6e955e6f1
channels/rdpgfx: stub bitmap decompression
2014-06-03 20:51:28 -04:00
Marc-André Moreau
a50e4d16fc
libfreerdp-codec: integrate basic RDP8 decompression support
2014-06-03 14:29:55 -04:00
Marc-André Moreau
abd833c27e
libfreerdp-codec: stub new ZGFX (RDP8) bulk compressor/decompressor
2014-06-03 13:38:10 -04:00
Marc-André Moreau
18cac3d4dd
libfreerdp-codec: cleanup context state flushing
2014-05-26 12:43:30 -04:00
Marc-André Moreau
8c7fbe3394
libfreerdp-codec: fix xcrush level-1 compressor
2014-05-25 21:39:25 -04:00
Marc-André Moreau
d2d8c482fc
libfreerdp-codec: cleanup and fix XCrush context flush synchronization
2014-05-25 21:21:51 -04:00
Marc-André Moreau
8d8e0c24fe
libfreerdp-codec: improve xcrush compressor error checking
2014-05-23 17:38:10 -04:00
Marc-André Moreau
55e096a82f
libfreerdp-codec: add xcrush match optimization and output generation
2014-05-23 13:59:34 -04:00
Marc-André Moreau
ee935a3760
libfreerdp-codec: add match info functions
2014-05-22 17:38:01 -04:00
Marc-André Moreau
0363196923
libfreerdp-core: add xcrush signature db
2014-05-22 00:18:56 -04:00
Marc-André Moreau
fd23b2f041
libfreerdp-codec: add xcrush rolling hash chunker
2014-05-21 22:55:45 -04:00
Marc-André Moreau
1c081c965f
Merge branch 'xcrush' of github.com:awakecoding/FreeRDP
2014-05-08 16:11:55 -04:00
Marc-André Moreau
88bee1fa6d
libfreerdp-codec: start working on xcrush compressor
2014-05-05 20:47:30 -04:00
Marc-André Moreau
9162fcc7d8
libfreerdp-codec: start working on XCrush decompressor
2014-05-04 21:50:17 -04:00
Marc-André Moreau
77790874c8
libfreerdp-codec: stub XCrush data compression
2014-05-04 19:46:40 -04:00
Hardening
9848314a5d
More fixes in DSP
2014-04-29 10:32:16 +02:00
Marc-André Moreau
ab7958ffb2
libfreerdp-codec: fix NCrush compressor
2014-04-20 23:19:09 -04:00
Marc-André Moreau
bb656a6e7e
Merge branch 'master' of github.com:awakecoding/FreeRDP into ncrush
...
Conflicts:
libfreerdp/core/bulk.c
2014-04-20 21:59:10 -04:00
Marc-André Moreau
d08b6fe4bd
libfreerdp-codec: fix handling of PACKET_AT_FRONT, PACKET_FLUSHED in MPPC compression
2014-04-20 21:28:09 -04:00
Marc-André Moreau
acf119f9f3
libfreerdp-codec: improve ncrush compressor
2014-04-01 12:18:13 -04:00
Marc-André Moreau
add42dfdb9
libfreerdp-codec: ncrush compressor update
2014-03-30 23:12:07 -04:00
Marc-André Moreau
ed89354da8
libfreerdp-codec: start work on NCrush compressor
2014-03-29 17:55:17 -04:00
Marc-André Moreau
83ddb7b82c
libfreerdp-codec: fix unit test compilation
2014-03-29 12:37:16 -04:00
Marc-André Moreau
5951a9178c
libfreerdp-codec: remove old NCrush decompressor
2014-03-16 21:16:53 -04:00
Marc-André Moreau
698cae2052
libfreerdp-codec: start hooking new NCrush decompressor
2014-03-16 20:54:07 -04:00
Marc-André Moreau
882f3098b3
libfreerdp-codec: add more NCrush tables, decode literals and CopyOffsets
2014-03-16 15:51:35 -04:00
Marc-André Moreau
2570e064ce
libfreerdp-codec: add NCrush unit tests and tables
2014-03-15 22:18:22 -04:00
Marc-André Moreau
47ed6002f6
libfreerdp-codec: stub ncrush bulk compression
2014-03-15 14:03:05 -04:00
Marc-André Moreau
85049299e0
libfreerdp-core: improve MPPC compress/decompress function definitions
2014-03-11 21:42:27 -04:00
Marc-André Moreau
98f98c95e9
libfreerdp-codec: remove old MPPC decompressor, fix RDP4 MPPC
2014-03-10 16:19:47 -04:00
Marc-André Moreau
f31676e4e4
libfreerdp-codec: make MPPC compressor produce output identical to Microsoft implementation
2014-03-10 15:06:23 -04:00
Marc-André Moreau
61ecd0ff31
libfreerdp-core: add bulk.c to handle bulk compression in a centralized place
2014-03-10 11:41:10 -04:00
Marc-André Moreau
4310089102
libfreerdp-core: add options for specifying compression level
2014-03-10 11:16:36 -04:00
Marc-André Moreau
ad7ed25d30
libfreerdp-codec: reduce amount of MPPC context variables
2014-03-09 20:45:42 -04:00
Marc-André Moreau
6c89e3cff7
libfreerdp-codec: initial MPPC decompression support
2014-03-09 19:55:52 -04:00
Marc-André Moreau
d9a2fb4ff9
libfreerdp-codec: start MPPC compressor
2014-03-08 17:38:47 -05:00
Marc-André Moreau
95127d5632
libfreerdp-codec: start testing MPPC against large buffer
2014-03-05 18:03:39 -05:00
Marc-André Moreau
cea902deb8
libfreerdp-codec: produce correct LOM/CO sequences
2014-03-05 15:29:04 -05:00
Marc-André Moreau
35a289e14a
libfreerdp-codec: start new MPPC compressor
2014-03-03 16:15:29 -05:00
Marc-André Moreau
c697941de2
libfreerdp-codec: add new freerdp_image_copy function with detailed parameters
2014-02-28 21:51:29 -05:00
Marc-André Moreau
aca0b9996d
Merge branch 'remoteFx_fix2' of https://github.com/hardening/FreeRDP into hardening-remoteFx_fix2
...
Conflicts:
libfreerdp/codec/test/CMakeLists.txt
2014-02-15 11:06:09 -05:00
Hardening
0915060f40
Fixes before pullreq
...
Replaced zmalloc by calloc.
Moved region from utils to codec.
Fixed some typo and corner cases.
2014-02-05 16:24:46 +01:00
Marc-André Moreau
3bd5fda4a8
libfreerdp-codec: port MPPC unit tests
2014-02-05 08:37:13 -05:00
Marc-André Moreau
1add4e628f
libfreerdp-codec: make planar codec encoder context reusable
2013-12-08 17:06:59 -05:00
Marc-André Moreau
d30656d441
libfreerdp-codec: start implementing uncompressed RDP6 planar codec
2013-11-25 22:26:08 -05: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
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
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
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