Commit Graph

90 Commits

Author SHA1 Message Date
David Fort
a07efb73ec video: an implementation of MS-RDPEVOR for X11
Implements the decoding of video streams using common H264 decoders. We also implement
a trivial feedback algorithm.

Sponsored by: Rangee GmbH (http://www.rangee.de)
2018-02-13 10:51:07 +01:00
Armin Novak
7adc384d9a Using dynamic logger for GFX-H264 backend. 2018-02-07 13:26:39 +01:00
Armin Novak
9f57e07a23 Align YUV buffer strides and height. 2018-02-02 10:39:33 +01:00
Armin Novak
3b70d1178b Added AVC444 chroma support to shadow server. 2018-02-02 10:39:33 +01:00
Norbert Federa
456ce96618 codec/h264: fix potential segfault and mf_init 2017-10-17 19:28:54 +02:00
Armin Novak
88fa131248 Fixed variable assignment. 2017-07-19 11:36:28 +02:00
Armin Novak
42fdb0b8d3 Reordered backends with regard to feature completeness. 2017-07-18 07:46:51 +02:00
Armin Novak
96d53933d2 Deactivated all H264 related code paths. 2017-07-17 10:39:08 +02:00
Armin Novak
2614251e83 Removed H264 dummy, did not work (crash on use) 2017-07-17 09:28:08 +02:00
Armin Novak
5764d5a78a Disable GFX H264 if no backend compiled in. 2017-07-17 09:25:21 +02:00
David Fort
dcbb61e3b3 Fix variable declaration and win32 compilation 2017-06-19 23:52:31 +02:00
David Fort
0308123592 Split h264 subsystems in different files 2017-06-14 16:04:54 +02:00
Armin Novak
8adc2ba201 Align width and height for AVC444 decoding to 16. 2017-06-01 13:01:23 +02:00
Martin Fleisz
16111e7e7f codec: Fix multi-threading support for OpenH264 1.6 or later 2017-05-05 12:37:27 +02:00
David Fort
40baadb471 Merge pull request #3911 from akallabeth/avc444_v2
Added AVC444v2 client support.
2017-05-02 16:02:21 +02:00
Armin Novak
2da8dcf8ed Fixed MF H264 buffer allocation. 2017-04-20 12:35:51 +02:00
Armin Novak
a2167d5417 Added surface width and heigth for YUV combine. 2017-04-18 14:12:40 +02:00
Armin Novak
b0d3cfda4d Added AVC444v2 client support. 2017-04-11 11:29:14 +02:00
Armin Novak
5755cb72a1 Fixed crash on h264 context cleanup (windows). 2017-02-17 11:40:27 +01:00
Armin Novak
f24b112514 Refactored AVC444 decoding to single YUV420 buffer
Since not all H264 decoders support multiple YUV420 output
buffers process H264 decoding and YUV to RGB conversion
sequentially to avoid overriding the input data.
2017-02-15 09:28:10 +01:00
Armin Novak
2c99c17078 Fixed libavcodec issues. 2017-02-14 16:41:07 +01:00
Armin Novak
f324b0ef9c Use aligned malloc/free for GFX surfaces/buffers 2017-02-14 16:02:11 +01:00
Armin Novak
94b9fef049 Updated LIBAVCODEC support for H264 decoder. 2017-02-14 10:34:27 +01:00
Armin Novak
3644d8dfbd Fixed YUV444ToRGB, do not discard chroma frame. 2017-02-13 16:11:11 +01:00
Armin Novak
57db52237c Fixed AVC444 luma/chroma checks. 2017-02-10 08:31:32 +01:00
Armin Novak
ef0a7cf5d1 Fixed missing chroma data for AVC444 2017-02-09 19:55:40 +01:00
David Fort
a6dbc32cf3 Added missing const modifiers for source pointers in codecs 2017-01-27 11:23:08 +01:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Norbert Federa
c6e6b44143 countless WLog/printf format specifier fixes 2016-11-25 17:06:25 +01:00
Armin Novak
64c5d78b3f Fixed clang warnings. 2016-10-06 13:43:09 +02:00
Armin Novak
896f500e7e Fixed h264 dummy init. 2016-10-06 13:43:06 +02:00
Armin Novak
99c418766c Updated primitives API and tests. 2016-10-06 13:43:00 +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
Armin Novak
44fc5b521d Added support for OpenH264 1.6 2016-07-04 12:42:57 +02: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
Marc-André Moreau
4d629a7999 freerdp: UWP porting 2016-03-29 16:03:15 -04: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
Armin Novak
4ed701bf35 media foundation support now a compile time option. 2015-08-11 07:58:43 +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
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
Vic Lee
1d31f25992 h264: add encoder constant QP rate control. 2015-06-02 15:32:45 +08:00