Commit Graph

317 Commits

Author SHA1 Message Date
Martin Pulec
e5691c9bee CI Linux: add /usr/local/lib to LD_LIBRARY_PATH
+ also to LIBRARY_PATH - this will is done also with -L in configure,
probably

Seems like that /usr/local/lib has never been in LD_LIBRARY_PATH and
somehow it didn't matter so far. But with fluidsynth build, we now get
in CI (== also prevents build):
```
ultragrid_acap_fluidsynth.so: libfluidsynth.so.3: cannot open shared object file: No such file or directory
````
2025-08-27 14:09:36 +02:00
Martin Pulec
031510b7e8 CI Linux: build fluidsynth alongside with SDL
In U22.04 (current Linux CI image), fluidsynth depends on sdl2, which
is undesirable. Actually we need to avoid sdl2 linking altogether.

Build from sources alongside with SDL. This makes sense since SDL_mixer
used to be build there and fluidsynth is replacing it.

+ prevent libsdl2-2.0-0 from (accidentally) installing
2025-08-27 14:09:35 +02:00
Martin Pulec
6e8a62bf1c CI: use SDL3 2025-08-27 12:13:08 +02:00
Martin Pulec
6eb185bda8 CI Linux: build SDL3
based on 9eb376ee38
2025-08-27 12:13:08 +02:00
Martin Pulec
3a60095d58 CI: enforce fluidsynth, do not require sdl_mixer 2025-08-27 09:00:21 +02:00
Martin Pulec
3af5f4dad6 CI Linux FFmpeg: update SVT-HEVC patch
the older seem no longer apply with the last 5000 commits from FFmpeg Git

rebased upon current FFmpeg Git master
2025-08-20 12:06:44 +02:00
Martin Pulec
a10bc18ae4 GH arm+coverity builds: add -f to curl
in order to fail on 4xx HTTP errors
2025-07-15 09:20:42 +02:00
Martin Pulec
8adbafcda9 gh/arm/bootstrap.sh: pass GITHUB_TOKEN
to avoid GH rate-limit
2025-07-15 09:20:37 +02:00
Martin Pulec
98515da346 CI FFmpeg Linux: fix libsvt_vp9
now without the patch
2025-06-20 14:59:18 +02:00
Martin Pulec
e88251ec73 CI Linux FFmpeg: update SVT-HEVC SVT-VP9 compat
assume that FFmpeg is already patched with SVT-VP9 patch

As a side effect, the SVT-VP9 patch doesn't need to be patched (these
patches conflicted because VP9 applied after HEVC, which is now not
the case).
2025-06-20 14:59:18 +02:00
Martin Pulec
4f3945fc44 CI Linux FFmpeg: update SVT-HEVC patch
The patch no longer compiles with upstream FFmpeg (moreover the history
of 5000 commits is now too shallow.

Use a updated custom version now - the SVT-HEVC is archived, anyways so
the upstream won't be updated.
2025-06-20 14:59:18 +02:00
Martin Pulec
ae8cc3db8c CI FFmpeg Linux: copy SVT-HEVC patch
to be updated in next commit, for reference
2025-06-20 14:59:17 +02:00
Martin Pulec
735b6d8060 Revert "CI Linux FFmpeg: libsvtav1 API change patch"
This reverts commit 79f85919f1.

No longer needed since cartwheel removal.
2025-06-20 14:59:17 +02:00
Martin Pulec
e475c4f774 Revert "CI Linux FFmpeg: apply cartwheel patches"
This reverts commit a30a8945e3.

This doesn't seem to be required anymore (at least xv30 and yuvx work
with Arc A770 and Raptor Lake-P GPU on i7-1355U).

As the patches need to be applied against specific version of FFmpeg
(pinned in db308b17 2023-02-03). Currently the version is from 23th Dec
2024, which is slightly old. That is a half of the year but we also
depend on the cartwheel version bump, which is a bit unfortunate, whereas
is now not cerain, if there is something needed.
2025-06-20 14:59:16 +02:00
Martin Pulec
40dd353465 vcomp/lavc: nvenc no intra-refresh for HEVC/AV1
Since the pulsation issue, it was not much usable, anyways and this
clean-ups the code a bit.

Also the behavior will be now more deterministic - it behaved differently
with patched FFmpeg (most likely GH Linux builds), othewrise differntly.

+ enable the header-inserter if user expliclty requesetd intra-refresh

refers to GH-114
2025-06-19 09:09:44 +02:00
Martin Pulec
abd7ae96fd vcomp/lavc: h264_nvenc: fix pulsation w intra-refr
Avoid pulsation with inra-refresh by repeating the missing SPS/PPS with
header inseter.

Unfortunately this is doesn't work well with HEVC because it seems that
the NVIDIA encoder keeps the reference almost forever in specific cases,
eg. `testcard:patt=text`. However, it _may_ work under some circumstances.
2025-06-19 09:08:32 +02:00
Martin Pulec
13a0c48126 Linux ARM CI: install imagemagick
Now (since 2025-04-04, 05187ea56) it is required to bundle magickwand
dependencies.
2025-04-15 09:28:02 +02:00
Martin Pulec
05187ea56d AppImage: bundle aux data for IM magickwand 2025-04-04 22:42:41 +02:00
Martin Pulec
937d07ded2 CI: fix XIMEA URL 2025-04-04 11:58:23 +02:00
Martin Pulec
e2f0ddc6eb CI ARM: set CFLAGS for 32-bit off_t
The flags queried also for 64-bit ARM but it is empty there.

This does basically the same as the commit f46a101c, that adds
_FILE_OFFSET_BITS=64 define to config.h. But the config.h may not be
always included now.

+ compat/misc: typo in comment + assert 64b off_t (off_t should be
actually 64b in _OFF64 env and >= 64b in _OFFBIG so assert at least 64)
2025-03-27 12:17:34 +01:00
Martin Pulec
5bd65911cd CI: remove U20.04 compat
+ update TODO for pipewire where still neeeded for Debian 11
2025-03-27 07:36:11 +01:00
Martin Pulec
d670e2ebee CI PCP Win: patch rather than using old version
IP*PKTINFO is defined by the Mingw-w64 headers but the structs
(eg. msghdr or cmsghdr) as defined in RFC 3542 seem to be called
differently (WSAMSG, WSACMSGHDR).

So the compat will be perhaps still required unless PCP adds support
for Win structure names. The other changes are just fixing Win-specific
headers (which may be fixed in PCP upstream eventually).

Also moved dummy Git identity setting to enfironment.sh (is now needed
also for MSW).
2025-03-18 14:15:34 +01:00
Martin Pulec
2fbcf4f7bf Revert "CI Linux: XIMEA install workaround"
This reverts commit 7162decfb7.
2025-03-18 14:08:40 +01:00
Martin Pulec
7b29a9d817 CI ARM: build Vulkan with armhf
This effectively reverts commit 02cd2479 (later modified to disable
Vulkan only for 32b ARM).
2025-03-11 14:16:11 +01:00
Martin Pulec
0a3b315229 CI ARM: remove buster compat 2025-03-11 14:16:10 +01:00
Martin Pulec
2f1de5bd4e fix CI coverity
The workarond is not needed in U24.04 (current ubuntu-latest used by
coverity-scan) and actually doesn't work (qtchooser is not installed).
2025-03-11 14:16:10 +01:00
Martin Pulec
65d886746f Revert "CI Linux: install pipewire with distro pkg"
ARM builds still use Debian 11, for which that is needed.

This reverts commit 35e30cd58c.
2025-03-11 14:16:07 +01:00
Martin Pulec
af222c70a5 CI Linux: use Qt6 in ubuntu-22.04 2025-03-10 11:08:59 +01:00
Martin Pulec
35e30cd58c CI Linux: install pipewire with distro pkg
+ remove explicit libdav1d install (already in FFmpeg build-dep)
2025-03-10 10:47:15 +01:00
Martin Pulec
223f2b95a1 Revert "Reapply "CI Linux: use Vulkan directy from repo""
This reverts commit 91b56cddab.

The ppa:savoury1/ffmpeg4 repo is no longer used with ubuntu-22.04
runner but FFmpeg currently needs Vulkan v1.3.277 ibut the distro has
only 1.3.204.
2025-03-07 09:03:17 +01:00
Martin Pulec
2eaf9bc17d CI Linux: removed obsolete commands 2025-03-07 09:03:17 +01:00
Martin Pulec
fb022f2d1b CI Linux: switch to ubuntu-22.04
ubuntu-20.04 GH image is being deprecated and will be eventually removed
from GH
2025-03-07 09:03:06 +01:00
Martin Pulec
79f85919f1 CI Linux FFmpeg: libsvtav1 API change patch 2025-01-20 10:42:50 +01:00
Martin Pulec
49a16a90a4 CI Linux: add-apt-repostitory retries
Fetching GPG keys sometimes fails on timeout so prevent it by adding
retries with exponentially increasing intervals taken from:
<https://github.com/canonical/server-test-scripts/pull/18>
(just removed bashisms)
2024-11-29 12:36:28 +01:00
Martin Pulec
eeeeae57e3 CI FFmpeg SVT-VP9 patch
SVT-HEVC and SVT-VP9 patches now interfere (neighbor of SVT-VP9 is not
libspeex but libsvthevc now).
2024-11-12 15:49:49 +01:00
Martin Pulec
4d73989ba6 Revert "CI Linux FFmpeg: patch VP9 FFmpeg patch"
This reverts commit c8b1e6859d.

the upstream SVT-VP9 patch has been updated
2024-10-21 11:02:08 +02:00
Martin Pulec
bf39e121af CI FFmpeg Linux: updated libde265 patch
remove FFCodec.init_static_data - dropped from upstream but not used by
libde265 plugin anyways
2024-10-16 09:45:13 +02:00
Martin Pulec
550cfb5d8a CI Linux FFmpeg: use GH mirror
Since the CI is run on GH, this will lower risk of fails due to
eg. external outage. Also it is possible that the clone will be slightly
faster.
2024-10-16 09:31:11 +02:00
Martin Pulec
4c8f4b32f2 CI Linux FFmpeg: compat vaapi patch update 2024-10-16 09:11:50 +02:00
Martin Pulec
36f427485f CI Linux: add deb-src in U24.04
ubuntu-latest is now U24.04, which uses .source files in deb822 format
instead the original .list in one-line-style format. ubuntu-latest is
used by Coverity runner.
2024-10-15 16:19:54 +02:00
Martin Pulec
1c61070f91 CI Linux: use libcurl4-openssl-dev instead of NSS
Needed for coverity-scan newly builds on ubuntu-latest (currently
24.04). Ubuntu 24.04 has no longer libcurl4-nss-dev.
2024-10-15 16:13:44 +02:00
Martin Pulec
b64804cea0 CI Linux: utilize continuous GPUJPEG build from GH
advantages:

- it saves some build time (approx. 25 sec)
- it is compatible with Windows CI where the binary build is used as well
- reduces complexity by delegating the build to GPUJPEG CI
2024-08-14 10:42:01 +02:00
Martin Pulec
d371815308 CI Linux: build GJ for CC 3.5
As it is now common also for different CUDA stuff and GPUJPEG binary CI
builds themselves (but used only for Win), build also for CC 3.5 (Kepler
cards), which will be still supported for very short amount of time
(but as there will be builds, those can be used in future also on such
a cards, even if the support will be dropped from UG further).
2024-08-09 09:23:01 +02:00
Martin Pulec
09e140c2cc CI Linux FFmpeg: removed unused dep exclude
- libsdl2-dev is now normally used (previously used own build)
- libzmq3-dev perhaps also no longer needed to exclude
2024-07-18 09:15:19 +02:00
Martin Pulec
4229e9e381 CI Linux: hold libva2
refers to the revert - ensure that libva **won't** be installed from the PPA
2024-07-18 09:07:55 +02:00
Martin Pulec
10f1fffd51 CI Linux: install libvulkan-dev from PPA 2024-07-18 09:07:25 +02:00
Martin Pulec
433a54caf9 Revert "CI Linux FFmpeg: add the savoury1 PPA early"
The libva in the savoury1 is very new (2.22), which is even newer than
in U24.04. This would prevent LD_PRELOAD of libva from the system.

This reverts commit 234821d31c.
2024-07-18 08:43:48 +02:00
Martin Pulec
91b56cddab Reapply "CI Linux: use Vulkan directy from repo"
with the ppa:savoury1/ffmpeg4 (previous commit) no longer needed

This reverts commit 8922476204.
2024-07-16 16:20:39 +02:00
Martin Pulec
234821d31c CI Linux FFmpeg: add the savoury1 PPA early
needed for updated libvulkan-dev
2024-07-16 16:20:39 +02:00
Martin Pulec
4c07ff5c35 CI Linux FFmpeg: add OpenH264
U20.04 doesn't have libopenh264 yet, so use it from the
ppa:savoury1/ffmpeg4, which replaces ppa:savoury1/vlc3 - it contains
the same x265 version (3.6).

The new repo ppa:savoury1/ffmpeg4 contains more (updated) packages
than /vlc3, which can be actually the advantage (eg. no need to build
own Vulkan loader/headers).
2024-07-16 16:20:38 +02:00