This was added ostensibly to fix compilation of the run-time AltiVec
test which was removed in bc146294cf.
Unfortunately, it causes the compiler to emit AltiVec instructions,
such that the executable crashes if AltiVec is not available.
Regression from e48d619555.
(cherry picked from commit 4af9c85184)
Like on x86 (e.g. VLC_SSE), this macro enables the use of AltiVec for
just a given function. Thus the other functions in the same C module
can be compiled without AltiVec and run on non-AltiVec processors.
(cherry picked from commit cb303e77f4)
fontconfig is not used in any darwin libass builds since 8a922414eb.
(cherry picked from commit b9b2be16de)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Some of the patches have been upstreamed. The wopendir fix is not needed
anymore as on Windows it now assumes the char* is UTF-8 and use it accordingly.
(cherry picked from commit 82ec67316f) (edited)
edited:
- 3.0 didn't have the topendir patch
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
They apply cleanly on the 0.15.2 branch and with proper author/dates.
(cherry picked from commit 8f7ed03d51)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
This source file in projectM uses std::bind2nd, which is declared
in the <functional> header. Previously it relied on this header
being included implicitly.
libc++ recently stopped including <functional> transitively in
<algorithm> in
a83f4b9cda.
Upstream projectM stopped using std::bind2nd in this file in
10faca9abf
- thus not trying to upstream the patch.
(cherry picked from commit 3c181d46d7)
This code seems to be a stale copy of a regex library from glibc,
thus not sending the patch further upstream.
In some configurations, this library seems to choose not to include
standard C headers but declare the functions manually (without a
proper prototype though!). In this case, it already declared malloc
and realloc, but didn't declare abort and free in the same way.
Just add declarations of these functions in the same way - while
the most correct path forward would be to actually make it use
the proper system headers.
(cherry picked from commit 0e836b4eb2)
Since Clang 15 (which still is under development, so this may
still change before it's released) [1], implicit function
declarations are a hard error by default, when building code
in C99 mode (or newer).
[1] 7d644e1215
The upstream zvbi code doesn't seem to have any support for
building for Windows at all, therefore not trying to upstream it.
On Windows, the <io.h> header is needed for getting declarations
of functions like open/read/write/close. The zvbi project has a
header of its own, named io.h, and it resides on a path added with
-I, so any includes of <io.h> ends up including this header instead
of the system header. Therefore, add an #include_next <io.h> which
should bring in the system header and its declarations too.
Adjust ifdefs to ifdef out larger bits of the code that contained
calls to functions that simply don't exist on Windows, like
ioctl, munmap etc. Previously, the zvbi library has been built with
implicit declarations of those functions, and the static library has
had undefined references to them. As long as those object files
from the static library haven't been included in the link, this issue
has been unnoticed so far.
For the function ffs(), which also was undefined on Windows,
provide a _BitScanForward based reimplementation. This also resides
in a file that doesn't end up included in the end, but for this
case it's just as easy to provide a working implementation as it
would be to ifdef it out.
(cherry picked from commit 68efd7e558)
This patch has been sent upstream at
https://gitlab.xiph.org/xiph/icecast-common/-/merge_requests/2
but hasn't been acted upon there yet.
When building for a mingw target, HAVE_GETTIMEOFDAY is defined
(as the gettimeofday function was found), but the #ifdef _WIN32 #else
block never tried to include <sys/time.h> (which provides the
declaration) and/or <time.h> for such targets. This caused
gettimeofday to be used without a prior declaration.
This has been visible as an easily overlooked warning, but Clang 15
changed this into a fatal error by default, when building in C99
mode (or newer). [1] (While Clang 15 still is under development, this
may still change before it's released, but the warning is valid
in any case.)
Decouple including of those headers from the #ifdef _WIN32 #else
block and just check their corresponding availability defines.
[1] 7d644e1215
(cherry picked from commit 9e095923da)
This patch has been sent upstream at
https://github.com/pupnp/pupnp/pull/387, but hasn't been acted
on by upstream yet.
In mingw headers, both time.h and sys/time.h define
struct timezone and _TIMEZONE_DEFINED - however only one of them,
sys/time.h, define gettimeofday. Thus, if time.h had been included
before, we'd have _TIMEZONE_DEFINED defined, and we'd omit our own
declaration of the gettimeofday function too, leading to calls to
an undeclared function.
(If the actual sys/time.h header is included, its declaration of
the gettimeofday function does conflict with both the declaration
and the definition of upnp's gettimeofday, due to details like missing
the restrict attribute on pointers. But that issue already existed
and is unaffected by this patch.)
Since Clang 15 (which still is under development, so this may
still change before it's released) [1], implicit function
declarations are a hard error by default, when building code
in C99 mode (or newer).
[1] 7d644e1215
(cherry picked from commit 83d7194d01)
We will soon bump libupnp to a more recent version fixing
vulnerabilities for libupnp >= 1.8.3.
It might be preferable to switch to the contribs version of libupnp also
for snapcraft as our snap repo is still using `core18` which only
provides libupnp 1.6.
`UpnpInit` is deprecated since 1.8.3 and removed in 1.14. `UpnpInit2`
offer a better replacement, working for both ipv6 and ipv4. There is no
reason to keep using `UpnpInit` apart from keeping the module usable
with 1.6.
These functions are inline and will be removed by the compiler anyway if
unused. The #if guards add unecessary compexity.
(cherry picked from commit aaef25ce7a)
DISPLAY_SIZE controls are emitted by the windowing system to control the
display state, but the caopengllayer display module is handling its own
windowing state without window and doesn't need to react to those events.
Instead, store the new size into the internal vout_display_cfg_t and
avoid trying to report the size to itself.
Fixes#26845
Refs #25264
Cherry-picked from commit bd24889a0b.
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
Store the current modified vout_display_cfg_t and inline the calls to
vout_display_PlacePicture.
Refs #26845
Refs #25264
Cherry-picked from commit 689b64b1aa.
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
CMAKE_INSTALL_LIBDIR can be lib, lib64 or even lib/<multiarch-tuple> on
Debian, but we already split the contribs by multiarch-tuple /
installation directory at the prefix level for contribs to avoid mixups.
Preventing installation in lib64/ ensure every pc files from contribs/
are in the PKG_CONFIG_PATH when configuring.
Refs #26888
Cherry-picked from commit 346b2fb9b6.
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
* Use the @VERSION_EXTRA@ which is used in the exe build in place of the
static '0'
* Change the Display Name in appwiz.cpl to be just the product name,
matching the exe build
(cherry picked from commit cafda67180)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
The i_extra_picture_buffers is used to add pictures to the pool that the core
will allocate. dav1d is actually using n_threads frames. And the core is
allocating 10 frames per default for AV1. So we need to add the missing ones.
(cherry picked from commit a32031dc0f) (rebased)
rebased:
- the code dav1d 1.0.0 in 3.0 uses different max versions
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
(cherry picked from commit c857056738) (edited)
edited:
- 3.0 had a different way to comment the git URL line
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
(cherry picked from commit dbf45cea2a) (edited)
edited:
- 3.0 has the 128 pixels padding elsewhere
- 3.0 has an extra parameter for add_integer_with_range()
- 3.0 was setting i_extra_picture_buffers further down in the code
- 3.0 uses 16 threads max
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-01-28 v3.3.0
This release includes compression efficiency and perceptual quality
improvements, speedup and memory optimizations, some new features, and
several bug fixes.
- New Features
* AV1 RT: Introducing CDEF search level 5
* Changed real time speed 4 to behave the same as real time speed 5
* Add --deltaq-strength
* rtc: Allow scene-change and overshoot detection for svc
* rtc: Intra-only frame for svc
* AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to disable
CDEF on non-ref frames
* New codec controls AV1E_SET_LOOPFILTER_CONTROL and
AOME_GET_LOOPFILTER_LEVEL
* Improvements to three pass encoding
- Compression Efficiency Improvements
* Overall compression gains: 0.6%
- Perceptual Quality Improvements
* Improves the perceptual quality of high QP encoding for delta-q mode 4
* Auto select noise synthesis level for all intra
- Speedup and Memory Optimizations
* Added many SSE2 optimizations.
* Good quality 2-pass encoder speedups:
o Speed 2: 9%
o Speed 3: 12.5%
o Speed 4: 8%
o Speed 5: 3%
o Speed 6: 4%
* Real time mode encoder speedups:
o Speed 5: 2.6% BDRate gain, 4% speedup
o Speed 6: 3.5% BDRate gain, 4% speedup
o Speed 9: 1% BDRate gain, 3% speedup
o Speed 10: 3% BDRate gain, neutral speedup
* All intra encoding speedups (AVIF):
o Single thread - speed 6: 8%
o Single thread - speed 9: 15%
o Multi thread(8) - speed 6: 14%
o Multi thread(8) - speed 9: 34%
- Bug Fixes
* Issue 3163: Segmentation fault when using --enable-keyframe-filtering=2
* Issue 2436: Integer overflow in av1_warp_affine_c()
* Issue 3226: armv7 build failure due to gcc-11
* Issue 3195: Bug report on libaom (AddressSanitizer: heap-buffer-overflow)
* Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on unknown
address)
* Issue 3176: Some SSE2/SADx4AvgTest.* tests fail on Windows
* Issue 3175: Some SSE2/SADSkipTest.* tests fail on Windows
Source:
https://aomedia.googlesource.com/aom/+/refs/tags/v3.3.0/CHANGELOG
(cherry picked from commit 0857947aba)
Signed-off-by: Tristan Matthews <tmatth@videolan.org>
Using upstream patch until a new release comes.
0915955733Fixes#26865
(cherry picked from commit e516a8f24b)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
It was causing seek error when seeking past INT_MAX
Regression from c23709134c
(cherry picked from commit 9646722d61)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Not sure when this regression happened on the libsmb2 side.
But setting the password to an empty string do enable anonymous login
now.
(cherry picked from commit 205963ad09)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Errors can also be reported via generic cbs, that will cause the
vlc_smb2_mainloop to abort. In that case, we should destroy the smb2
context to fix the issue mentioned by 924c951518
(cherry picked from commit 960ef3f8ef)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
op->smb2 won't be used in case of error but it is cleaner like that.
(cherry picked from commit 5264a62539)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
No changes since this function is only checked for != 0 (for now).
(cherry picked from commit 0d51ab8a3e)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
If the smb2_timeout was valid, then not valid (infinite), the last value
was not taken into account.
(cherry picked from commit ac95bf19f9)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
If interrupted by the user, just close the connection whitout sending a
close request and don't save the context in the cache in that case.
(cherry picked from commit cf7d48cd02)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
This fixes a potential stack-buffer-overflow when destroying a context
from Close() if an operation was aborted. Indeed, the smb2_destroy()
function might trigger callbacks with private data that was allocated on
an old function stack. To fix this issue, always destroy the smb2
context immediately after an error (when the struct vlc_smb2_op is
valid).
This issue is currently hidden by the teardown mechanism (but still
possible), that always try to close gracefully in case of error.
(cherry picked from commit 924c951518)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>