Commit Graph

1171 Commits

Author SHA1 Message Date
Armin Novak
cce3253fdf [warnings] fixed -Wincompatible-pointer-types 2023-12-13 13:24:22 +01:00
akallabeth
1b31852d32 [git] remove .gitignore
we do no longer allow in source builds, so remove all the .gitignore
files just hiding generated files
2023-11-28 12:14:55 +01:00
Armin Novak
1ef7b9e3e0 [codec,dsp] fix ffmpeg deprecation warning 2023-11-24 21:23:38 +01:00
akallabeth
5dd12c5b1b [codec,dsp] mark fallthrough 2023-11-24 18:19:03 +01:00
akallabeth
dd2d110870 [warnings] fix -Wcast-qual 2023-11-24 18:19:03 +01:00
akallabeth
ceb7bd1d41 [warnings] fixed clang build warnings 2023-11-24 18:19:03 +01:00
Armin Novak
593e2bf4a9 [api] fix compiler warnings
check #if defined(__GNUC__)
2023-11-24 14:54:56 +01:00
akallabeth
cd4d77af86 [settings] add deprecation warnings
direct struct access to rdpSettings now produces warnings if not
explicitly deactiaved by defining FREERDP_SETTINGS_INTERNAL_USE
2023-11-24 14:54:56 +01:00
akallabeth
1163cc4d5c [core] add internal settings.h include 2023-11-24 14:54:56 +01:00
Pascal Nowack
9c3dfefb7f codec/dsp: Also set bitrate for Opus encoder 2023-11-21 14:29:47 +01:00
akallabeth
26e003ce05 [codec,dsp] experimental opus encoder 2023-11-21 14:29:47 +01:00
akallabeth
c2c40ae2ff [codec,dsp] initial support for ffmpeg/opus 2023-11-21 14:29:47 +01:00
akallabeth
7a05d85a7f [codec,dsp] unify opus sample rate check 2023-11-21 14:29:47 +01:00
akallabeth
a232cec690 [codec,dsp] fix opus related code
* proper library detection
* default to NOT WITH_DSP_FFMPEG
* disable if WITH_DSP_FFMPEG
2023-11-21 14:29:47 +01:00
Pascal Nowack
330f7ae0a2 codec/dsp: Add support for decoding Opus encoded streams
The Opus codec is a modern free audio codec, that is also royalty-free.
Adding support for it will allow clients and servers supporting it to
transfer audio in similar efficient way like with AAC.
So, add support it.
2023-11-21 14:29:47 +01:00
akallabeth
20f09b2d34 [codec,aac] add NaN filter
ffmpeg format conversion from int16 to float sometimes produces values
that are NaN or Infinity.
Replace these values as these input values break the AAC encoder
2023-11-20 14:22:26 +01:00
Armin Novak
60390ea40c [pragma] unify compiler diagnostics 2023-10-16 15:10:13 +02:00
Armin Novak
07543a6042 [warnings] fix various warnings
* missing const in casts
* missing static for functions
* missing WINPR_ATTR_FORMAT_ARG for printf like functions
2023-10-16 15:10:13 +02:00
Armin Novak
4778203340 [restrict] remove from in/out buffers 2023-10-16 15:10:13 +02:00
Armin Novak
fe28f9ed9c [keyword,restrict] do not use for shift operations
shifting operations are done on a in/out buffer, so the restrict keyword
is not appropriate for that.
2023-10-16 15:10:13 +02:00
akallabeth
8be124b4a2 [codec,rfx] revert removal of rfx_message_get_frame_idx 2023-10-10 19:35:27 +02:00
akallabeth
a41360e3b0 [codec,rfx] added missing RFX encoder API calls 2023-10-07 21:26:27 +02:00
akallabeth
0b7b8445bc [codec,ncrush] fix const correctness of pointer 2023-09-21 10:57:43 +02:00
Armin Novak
79da16244e [codec,progressive] fix overlapping buffers 2023-09-15 11:24:21 +02:00
akallabeth
7a17671cc9 [codec,h264] first update sizes before checking 2023-09-11 12:53:35 +02:00
akallabeth
d93c4fea2c [codec,interleaved] fix compiler warning 2023-09-11 12:53:35 +02:00
Armin Novak
730c621699 [codec,interleaved] fix type definition 2023-09-08 14:44:22 +02:00
akallabeth
9a9db5b7f3 [codec,progressive] expose progressive simple
server implementations might require serializing messages to a simple
tile, so expose this function.
2023-09-05 11:40:09 +02:00
Armin Novak
d6f9d33a7d [codec,planar] fix reset 2023-08-30 11:12:09 +02:00
akallabeth
ab31e8ba6a [codec,h264] ensure context buffer update
if realloc is called with 0 size update the pointers and do not fail
2023-08-30 11:11:58 +02:00
akallabeth
17d64237ef [codec,yuv] check rectangles for validity
the decoder needs to check bounds for supplied rectangles for both,
input and output buffers.
2023-08-28 14:26:10 +02:00
Armin Novak
16141a30f9 [codec,ncrush] fix index checks
properly verify all offsets while decoding data.
2023-08-28 13:35:45 +02:00
Armin Novak
031c8bacfa [codec,zgfx] fix cBitsRemaining calculation
fixed out of bound read reported by @pwn2carr
2023-08-28 12:50:55 +02:00
akallabeth
cd1da25a87 [codec,nsc] fix input length validation 2023-08-28 09:13:59 +02:00
akallabeth
b608be19e4 [codec,color] WINPR_RESTRICT for copy operations 2023-08-25 14:13:30 +02:00
akallabeth
63cb0b5f19 [codec,rfx] use WINPR_RESTRICT keyword 2023-08-25 14:13:30 +02:00
akallabeth
e975daec20 [codec,clear] fix missing bounds checks 2023-08-25 12:30:15 +02:00
akallabeth
576f836348 [codec,progressive] fix missing destination checks 2023-08-25 12:16:22 +02:00
akallabeth
11461a1b6d [codec,interleaved] fix bounds checks 2023-08-25 12:01:05 +02:00
akallabeth
7a71441476 [warnings] fix integer multiplications
Ensure the integer width for size arguments is 64bit in a
multiplication. Leading 64bit constant 1ull expands width, a trailing
one is ignored.
2023-08-22 11:55:00 +02:00
liuxiaojun
6e5f74e462 optimize idwt extrapolate decoder with neon 2023-08-22 10:54:48 +02:00
akallabeth
859b1b5f0b [codec,nsc] ensure integer width
ensure multiplication result is 64bit
2023-08-22 10:26:56 +02:00
Armin Novak
9f967b4942 [codec,color] fix freerdp_image_fill
in case width or height == 0 out of bounds write might happen.
reported by @pwn2carr
2023-08-21 11:43:50 +02:00
Armin Novak
e204fc8be5 [coded,rfx] check indices are within range
reported by @pwn2carr
2023-08-21 11:41:06 +02:00
Armin Novak
1ca6362498 [codec,rfx] free content of currentMessage on fail 2023-08-21 11:39:40 +02:00
Armin Novak
10a29dbc99 [codec,nsc] fix missing plane length check
reported by @pwn2carr
2023-08-21 11:38:13 +02:00
akallabeth
63a2f65618 [codec,rfx] fix possible out of bound read
Allows malicious servers to crash FreeRDP based clients
reported by @pwn2carr
2023-08-04 15:09:59 +02:00
Joan Torres
c843e35b75 [codec] encode messages considering endianness
The byte order of the pixels is affected by endianness, use bitwise
operations to access those bytes so the endiannes won't affect the final
result.
2023-08-01 07:56:16 +02:00
Joan Torres
a332db7cf5 [libfreerdp] fix endianness issues
There were some fields sent without considering endianness, making the
clients fail when parsing those fields.

Use Data_Write_XXX functions so the endiannes won't affect the byte order
and the clients will read properly the fields.
2023-08-01 07:56:16 +02:00
Armin Novak
4e1781740c [codec,test] fix wrong format string 2023-07-31 08:32:43 +02:00