FreeRDP/FreeRDP — pull request #2129 by mister-r (2014-09-29 15:24:09+00:00)
Title: 1.0 fixes4rpi

Various optimizations and fixes initially targeted to improve DirectFB client under raspberry pi:
- fixed wrong colors - BGR->RGB - for example console application 'FAR Manager ' in most cases was colored brown instead of blue also some desktop area was painted in wrong color
- fixed rendering artifacts - due to directfb client didn't respect invalidated area and every time blitted whole surface there was some strange defects of picture.
- various performance improvemens (may be some will be interesting in master?):
- - RLE decompression now does vertical image flip while decompressing it, thus eliminated need to additional memcpy after decompressing
- - added invalidated region area rectangles decompositon to reduce final blitting 'size' if there were some overlapping updates in between begin/end paint.
- - avoid unneccessary image copy in gdi_Bitmap_New if target and source bpp are matched
- - added stream 'shifting' and 'shadowing' to reduce reallocations and memcpy's on received data in transport.c
- - DirectFB client 'defers' endpaint if busy with repaint for too long time, thus saving CPU time by dropping some frames.
- - some microoptimizations of decompress_rdp_5 and BitBlt_**bpp