Commit Graph

961 Commits

Author SHA1 Message Date
Armin Novak 5afa592244 Fixed cast-qual warnings 2021-08-24 11:10:51 +02:00
Armin Novak f515bd4560 Fixed shadowing and type errors 2021-08-24 10:45:57 +02:00
Simon Nivault e42696bb2e
Some fixes for audin redirection (#7231)
* Fixed research for native PCM format

* Fixed compatibility detection for resampling

* dsp: Makes channel mix and encoding process use separated buffers

* Give FramesPerPacket to freerdp_dsp_context_reset function

* dsp: Fix DVI_ADPCM codec by respecting the required packet size

* Forbid mono channel in macos

* Fix audin command line channel option

* Disable ADPCM codec as it does not work

* Refactor valid native codec research

* Native codec research: Try different channels number

* Fix dsp channel mix

* Fix dsp resample
2021-08-23 14:49:28 +02:00
Armin Novak 610396e197 Fixed compilation warnings
Try to get the number of warnings down
2021-08-02 10:28:06 +02:00
Armin Novak 61b46adaf1 Fixed WITH_WINPR_VERBOSE_ASSERT compile flag
* Compile flag was not always set
* Fix broken WINPR_ASSERT usages detected
2021-07-29 15:09:53 +02:00
Armin Novak 6e075a6a7d Fixed #7158: detection of arm neon. 2021-07-08 07:54:26 +02:00
akallabeth 2ac12c558a Added option to allow planar topdown encoding. 2021-07-02 09:53:24 +02:00
akallabeth 77a7e4010f Added bounds checks to ExtractRunLength 2021-07-02 09:53:24 +02:00
akallabeth 6deb65175f Added GFX planar and rfx encoder to shadow 2021-07-01 11:56:17 +02:00
akallabeth bd256b91bc Fixed disabling of AVC444 mode if requested 2021-07-01 11:56:17 +02:00
Armin Novak 42df492450 Progressive compress cleanup 2021-06-28 18:29:47 +02:00
Armin Novak 98ed05ff5c Added PROGRESSIVE codec to shadow 2021-06-28 16:51:27 +02:00
Armin Novak f1dc3a0494 Fixed use of deprecated function 2021-06-21 13:27:39 +02:00
Armin Novak 09111c9270 libfreerdp: Fixed warnings, added assertions 2021-06-18 11:32:16 +02:00
Armin Novak 09cf11ecf0 WinPR: Fixed warnings, added assertions 2021-06-18 11:32:16 +02:00
akallabeth 112400ca66 Removed stub for x264, not implemented 2021-06-16 15:21:56 +02:00
Armin Novak 5fb59a23a9 Fixed lots of compilation warnings and type mismatches 2021-06-16 15:21:56 +02:00
Armin Novak c2bef2bfa9 Fixed return value checks for ArrayList_Append and HashTable_Insert 2021-06-16 11:46:42 +02:00
Armin Novak ea8858c705 Renamed planar ALIGN macro to avoid name collission on osx 2021-06-16 11:46:42 +02:00
Armin Novak 880c603c26 Renamed HashTable_Add to HashTable_Insert
* Since the changes break HashTable_Add rename it so that it will
  not fail silently
2021-06-16 11:46:42 +02:00
Armin Novak d36d94766e Replaced assert with WINPR_ASSERT 2021-06-14 09:37:07 +02:00
Armin Novak c5fded2d83 Improved runtime of unit tests 2021-06-08 08:21:47 +02:00
Armin Novak 7586ffd913 Fixed issues with planar codec buffer alignment
Align width and height to next multiple of 4 to avoid issues with
internal buffer sizes.
2021-06-02 13:11:24 +02:00
Armin Novak 4f4e546cd4 Fixed initial alpha values for codec buffers 2021-06-01 14:18:01 +02:00
Biswapriyo Nath 06315d0c5c codec/h264: Remove unused IMFDXGIDeviceManager and GUIDs declarations. 2021-05-31 13:38:19 +02:00
Biswapriyo Nath 173ab04b59 Use same data types as calling function prototypes. 2021-05-31 13:38:19 +02:00
akallabeth 6b36c6d417
Replace fopen and path functions with wrappers (#7043)
Functions like fopen, PathFileExists, PathMakePath need to call
the wide character versions on windows for utf-8 support.
2021-05-31 11:42:03 +02:00
akallabeth fa73a2ba55 Fixed const correctness warning 2021-05-28 09:25:33 +02:00
Pascal Nowack e8d146be71 codec/progressive: Allow the usage of multithreading for decoding
While decoding RemoteFX encoded frames is multithreaded, decoding
RemoteFX Progressive frames is not, although both codecs work
relatively similarly.
This is especially noticeable with frames, that have a resolution
larger than 1920x1080 pixels.

decompress_tile_first() and decompress_tile_upgrade() can both run in
different threads at the same time for different tiles without necessary
adjustments.

So, do exactly that using the ThreadPool that already exists in the
RFX_CONTEXT to decrease the decoding time and therefore increase the
performance.
On a 3K display (2880x1620 pixels) this makes out of a choppy
experience a fluid experience.
2021-05-25 10:16:36 +02:00
Pascal Nowack 11248b18c1 codec/progressive: Fix a memory leak
When checking whether tiles and updatedTileIndices are both non-NULL,
one of them might be NULL, while the other struct member might not
be NULL and progressive_surface_context_new() leaks then the non-NULL
struct member.

Fix this by freeing both struct members, when aborting in
progressive_surface_context_new().
free() will take no action on pointers that are NULL, so no additional
check is needed.
2021-05-25 10:16:36 +02:00
Armin Novak 2b19576fc7 Fixed compiler warnings, function arguments and const parameter 2021-05-18 13:37:34 +02:00
akallabeth 3765a9fe35 Fixed AAC encoding for microphone
* Fixed b-frame interval for FFMPEG
* Fixed sample size for FAAC
2021-05-11 15:33:23 +02:00
Armin Novak bad528d36b Added version check for deprecated ffmpeg symbols 2021-05-03 10:38:35 +02:00
Ondrej Holy ac25baa5ee codec/rfx: Silence BAD_FREE reported by Coverity
The `rfx_context_free` function uses the `rfx_message_free` function
with an address of the statically allocated `RFX_MESSAGE` struct. This
causes that the following is reported from covscan:

```
address_free: "rfx_message_free" frees address of "context->currentMessage".
```

I am convinced that this is just false-positive as the address is freed
only when `freeArray` is `0`, which is not in case of `RFX_CONTEXT`.
Let's add a code annotation to silence the false-positive next time.
2021-04-27 14:25:20 +02:00
akallabeth 7d4a84ca89 Added error logging. 2021-04-06 09:18:37 +02:00
akallabeth 721e05fc34 Reenabled multithreadded decoding 2021-04-06 09:18:37 +02:00
akallabeth 6f2bc2f3ac Fixed artifacts with yuv420/yuv444 decoding 2021-04-06 09:18:37 +02:00
sss 0bf5ebb68a
fixed tests 2021-03-30 21:20:56 +03:00
sss 4a2514b58d
reverted olf signature for rfx_context_new 2021-03-30 11:03:15 +03:00
sss 6b76ac9545 Revert "Revert "allow to use in single threaded mode" (#6864)"
This reverts commit f7465af44f.
2021-03-26 11:50:45 +01:00
Armin Novak 67dbb7907a Fixed destination buffer offset in planar_decompress 2021-03-20 14:31:43 +01:00
Armin Novak 1407925aba Added freerdp_planar_switch_bgr to test 2021-03-20 14:31:43 +01:00
Armin Novak e0bc548bf8 Added missing bounds check. 2021-03-12 10:52:04 +01:00
Armin Novak 9c8cce3acb Added fuzzying test for planar decoder 2021-03-12 10:52:04 +01:00
akallabeth fd902fb345
Win fixes multiple warnings + YUV decoder crash (#6873)
* Fixed conditional reading of regisrty values.

* Fixed sign warnings

* Removed use of deprecated settings functions

* added missing include

* Removed unused functions.

* Refactored registry reading functions

* Fixed TCHAR preprocessor for printf

* Fixed compilation warnings.

* Added bounding rectangle check for multithreadded yuv decoder

* Ensure yuv step calculation height is always >0

* Deactivate multithreadded YUV decoder until artifacts are fixed.
2021-03-08 12:48:22 +01:00
Armin Novak b0e8da6ee5 Fix yuv444_combine_work_callback check_rect argument 2021-03-05 15:49:31 +01:00
akallabeth f7465af44f
Revert "allow to use in single threaded mode" (#6864)
This reverts commit bee2e1526d.
2021-03-05 13:02:38 +01:00
Armin Novak b8bada17a8 Fixed yuv multithread decode
* Calculate step width depending on input rectangles
2021-03-03 17:11:48 +01:00
akallabeth f346793970 Refactored encoder functions to return changed areas 2021-03-01 11:52:07 +01:00
akallabeth 50acf72615 Refactored H264 encoding/decoding
Use YUV primitives now for all H264 operations
2021-03-01 11:52:07 +01:00