Commit Graph

253 Commits

Author SHA1 Message Date
Martin Pulec
b2eb8d3f79 CI Linux FFmpeg: updated libde265 patch
rebased with the current FFmpeg code
2024-03-20 14:16:09 +01:00
Martin Pulec
f5467237ae CI Linux: download rav1e build instead of building own
Building rav1e requires nasm 2.15 (if asm is not disabled) while U20
has just 2.14.02, so that the build in CI currently fails, anyways.

Pick sse4 for now but expect using avx2 version later, depending on
UG_ARCH value.

\+ populate PKG_CONFIG_PATH immediately
2024-03-20 14:16:08 +01:00
Martin Piatka
8c3c51b2e0 CI: ARM: Add libv4l-dev (v4lconvert) 2024-03-12 13:39:37 +01:00
Martin Piatka
bd20894c11 CI: ARM: remove old rpi hwaccel flag 2024-03-12 13:39:37 +01:00
Martin Pulec
d74922e443 CI: install gcc 10 only in U20.04
This modifies the commit 7f166a2411. Although Linux CI is run with U20.04,
Coverity workflow uses ubuntu-latest, which is currently 22.04, where
default gcc is actually 11 and this breaks GPUJPEG compilation with
error starting with:
```
-- The C compiler identification is GNU 10.5.0
CMake Error at /usr/local/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:780 (message):
  Compiling the CUDA compiler identification source file
  "CMakeCUDACompilerId.cu" failed.

  Compiler: /usr/bin/nvcc
```

fixes failed run <https://github.com/CESNET/UltraGrid/actions/runs/7968323068>
2024-02-28 12:15:39 +01:00
Martin Pulec
bf09d1cdca CI: add sountfont, not download
The size is only some 90 kB when compressed so it is perhaps not worth
downloading from external source and depend on it.

It could be even bundled directly, not by CI. Now it is actually the case
in Linux (create-appimage.sh) but it is also possible for other platforms.
2024-02-13 16:44:31 +01:00
Martin Piatka
7f166a2411 CI: Ubuntu install gcc-10
FFmpeg refuses to build on gcc 9, because of missing intrinsic
_mm256_loadu2_m128i
2024-02-13 13:59:04 +01:00
Martin Pulec
b73edbf575 scripts: remove SC2140 disable
It is not needed to split the string like this:
```
a="potentially long string on"\
"multiple lines"
```
but it is better rather to put the '\' inside the string:
```
a="potentially long string on\
multiple lines"
```
2024-02-09 12:14:21 +01:00
Martin Pulec
b8f4d15df4 CI FFmpeg Linux: pin Vulkan-Headers
FFmpeg doesn't currently build with current version of Vulkan-Headers.

See failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/7842879019/job/21402069840>
2024-02-09 12:12:47 +01:00
Martin Pulec
111a3a6911 CI Linux FFmpeg: updated libde265 patch
ceased to apply with FFmpeg master
2024-01-25 17:07:43 +01:00
Martin Pulec
89c01b0c7e Revert "CI: SVT-HEVC patch temporary workaround"
This reverts commit 354d169e29.

no longer needed, the patch has been updated in upstream
2024-01-25 17:07:43 +01:00
Martin Pulec
be84cf8ab0 CI: limit CMake build with logical cores
This fixes all occurences of `cmake --build` as it already was in one
case with commit HEAD~7.

If omitted, CMake leaves the number of processes used on underlying
implementation, which turns out to `make -j`, thus unlimited number of
cores, which is undesirable.
2024-01-25 17:07:42 +01:00
Martin Pulec
683718a285 CI Linux FFmpeg: do not build VPL tools
tools are not required, reducing dependencies and build time

see failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/7386262548/job/20092516404>
2024-01-03 09:17:11 +01:00
Martin Pulec
354d169e29 CI: SVT-HEVC patch temporary workaround 2024-01-03 09:12:54 +01:00
Martin Pulec
5782dfd3cf CI ARM: enforce Pipewire + Vulkan (64b only) 2023-12-04 13:23:59 +01:00
Martin Pulec
0c2a074c28 Revert "CI Linux: fixed failed run (Vulkan)"
VulkanLoader has been updated, with the CUDA _EXT prefix, which is on
contrary incompatible with Vulkan-Headers v1.3.270.

This reverts commit 62ae77117d.
2023-11-28 08:39:43 +01:00
Martin Pulec
62ae77117d CI Linux: fixed failed run (Vulkan)
fixed failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/7002907554/job/19047571995>

Vulkan-Loader seem to be (temporarily?) incompatible with current Vulkan
Headers, which suffix VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV with
_EXT in v1.3.271.
2023-11-27 10:54:07 +01:00
Martin Pulec
040a6797f2 CI scripts: ennsure that really copying to dir
Following to the previous commit, ensure that we are really copying to
an existing dir, where it is expected by appending '/' to the path.
2023-11-20 08:09:13 +01:00
Martin Pulec
4019d611b3 CI: install AsciiDoc
In order to build the manual pages as those are build during UG build
since the previous commits.
2023-11-14 11:13:45 +01:00
Martin Pulec
a7f801e44e CI ARM: fixed XIMEA installer URL
Linux ARM installer are no longer part of Linux package but have a
separate one. See failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6622231780/job/17987434585>
2023-10-24 09:20:33 +02:00
Martin Pulec
7162decfb7 CI Linux: XIMEA install workaround
XIMEA instller is currenctly broken (missing file bin/streamViewer.64
in the package). See failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6589401467/job/17903829041>
2023-10-23 09:10:12 +02:00
Martin Pulec
367f0d2888 Revert "CI: Patch ffmpeg svtav1 to not force keyframes"
No longer needed - fixed in upstream.

This reverts commit a93aa1da94e9ade84008e9238f508656120f0999.
2023-10-20 12:44:58 +02:00
Martin Pulec
69faff2335 CI PipeWire: disable tests
Building tests is not unneeded in CI and it needlessly increases build
time, especially for ARM builds, which are slow.
2023-10-18 16:46:19 +02:00
Martin Pulec
23ca13c724 CI ARM: build PipeWire 2023-10-18 16:46:19 +02:00
Martin Pulec
6f5f514ecd Vulkan raspi compilation fixes
fixed armhf build, possibly also other 32-bit architectures

This also reverts 02cd247978.
2023-10-13 11:23:22 +02:00
Martin Pulec
bec5b67e80 CI ARM: build with own SDL2 on Buster
If building on buster, re-enable own SDL2 (supporting KMSDMS).

Originally added in commit 484ab418, but use SDL 2.0.22 this time.
2023-10-13 09:54:58 +02:00
Martin Pulec
da6ffc3973 CI ARM: Buster armhf compatibility
Allow 32-bit builds on Buster. This has some advantages
regarding supported HW accelerations in UltraGrid, eg. h264_omx is not
supported in higher versions of the system.

It is not enabled by default but can be enabled easily by switching the
value in YAML file.

refers to GH-344
2023-10-13 09:52:22 +02:00
Martin Pulec
8630ca9d3f .github/scripts/Linux/arm/bootstrap.sh: clean-up
Deleted 2 unneeded lines:
1. OLDPWD - not used
2. comment - no longer valid - the cached environment key contains hash
of .github/scripts/Linux/arm/bootstrap.sh, which means that if the file
changes, the old env is not used, anyways
2023-10-12 10:45:17 +02:00
Martin Piatka
a4d4aab9d3 CI: Patch ffmpeg svtav1 to not force keyframes
Forcing keyframes makes the low delay mode (no b-frames) unavailable
2023-09-27 18:51:09 +02:00
Martin Pulec
3756b8d049 CI ARM: modernize
removed deprecated features
2023-09-25 10:54:32 +02:00
Martin Pulec
15d5adc805 CI ARM: do not build mmal on arm64
MMAL headers not present in 64-bit RaspiOS 11 libraspberrypi-dev (but
mmal.pc is still there!)

The MMAL API doesn't seem to be longer supported, see necro-posting
in GH-129.
2023-09-25 09:27:22 +02:00
Martin Pulec
d83662d4da CI ARM: enable RPi stuff also in 64b build 2023-09-25 09:27:20 +02:00
Martin Pulec
02cd247978 CI ARM: temporarily disable Vulkan
doesn't compile right now after upgrading to bullseye
2023-09-22 15:04:20 +02:00
Martin Pulec
bca280918d CI ARM: update to bullseye 2023-09-22 12:56:11 +02:00
Martin Pulec
3d27316dc3 GIT CI ARM: do not build own FFmpeg
Own FFmpeg was build only to enable periodic insertion of SPS/PPS NALU
for OMX. This should be now, however, possible to do even with the lavc
`header_inserter` option (which is enabled by default for OMX). Also
the OMX API seems unavailable in more recent RPi OS in favor of other
APIs.
2023-09-22 12:52:10 +02:00
Martin Pulec
00ddaec63c added file display module
just a simple, video only, display at the moment
2023-09-01 13:50:50 +02:00
Martin Pulec
3543f187f1 CI Linux FFmpeg: enable Vulkan 2023-08-23 14:14:40 +02:00
Martin Pulec
8922476204 Revert "CI Linux: use Vulkan directy from repo"
FFmpeg Vulkan support requires at least Vulkan headers v1.3.238 but
Ubuntu 20.04 has only 1.2.131.

This reverts commit 8cb7e7e779.
2023-08-23 14:14:40 +02:00
Martin Pulec
5f229e66bf CI FFmpeg Linux: use NV headers 12.0
This implies driver version 520 in Linux.

That driver is not avaiable on Kepler cards (1st generation supporting
NVENC), which is almost 10 years old and only basic H.264 was supported
there.

This SDK version allows acceleration of AV1 on supported cards (GeForce
40 series - Ada Lovelace).
2023-08-21 11:34:48 +02:00
Martin Pulec
55aa67a094 configure: rename file option to vidcap-file
file alone is not much specific (also not always known from context if
its meant file vidcap or some file in a generic meaning)
2023-08-09 16:08:30 +02:00
Martin Pulec
10c280959b Revert "CI Linux FFmpeg: remove NVENC IDR patch"
This reverts commit e457ab87f7 but the
patch is updated to match current FFmpeg.

The FFmpeg commit that seemed to do the same (7eeef72c6) is not working
correctly because it assigns idrPeriod cc->gopLength, which was set to
NVENC_INFINITE_GOPLENGTH above in case of intra-refresh.

refer to GH-330
2023-07-24 16:23:44 +02:00
Martin Pulec
bb596e0fc1 CI Linux: fixed failing tests
Fixes some weird error with Pipewire over ALSA on Arch:

https://github.com/CESNET/UltraGrid/actions/runs/5642223630/job/15281663172
2023-07-24 14:48:13 +02:00
Martin Pulec
6f6ef9d691 CI Linux/install_others.sh: not use lsb_release
lsb_release command is not always present, even in Ubuntu, wheresas
/etc/lsb-release file is but it isn't necessarily in all distros,
eg. Arch doesn't have it by default.

+ install libdbus-1-dev dependency - not needed for the CI because there
  it is at this point already installed but the script can be used also
  to setup the environment outside GitHub CI
2023-07-24 14:48:12 +02:00
Martin Pulec
e457ab87f7 CI Linux FFmpeg: remove NVENC IDR patch
Since the FFmpeg commit 7eeef72c6, the IDR period is set to gopLength
unconditinally even for intra-refresh mode, which is what the removed
patch did.

+ do not check if FFmpeg is patched (the macro is )
2023-07-17 11:36:01 +02:00
Martin Pulec
98df12be3c CI: removed SVT-VP9 FFmpeg patch
Isn't needed as for:
https://github.com/OpenVisualCloud/SVT-VP9/issues/167#event-9831723954
2023-07-17 10:41:56 +02:00
Martin Pulec
b8ce258d4d sdl_mixer: try to open from common path
Copy sounfont to known path for macOS and Windows CI builds (in Linux,
this is already handled with a environment var SDL_SOUNDFONTS). And also
use that location if there is any soundfont.
2023-04-28 10:15:11 +02:00
Martin Pulec
30e9484ff7 AppImage: bundle a SoundFont file
In order to sdl_mixer being able to synthetise MIDI.
2023-04-28 10:15:11 +02:00
Martin Pulec
b2777c0909 CI Linux: use GH mirror for PipeWire
Doesn't fail if the master repo is temprorarily unavailable as in:

    https://github.com/MartinPulec/UltraGrid/actions/runs/4627178136/jobs/8184796245
2023-04-06 11:18:25 +02:00
Martin Pulec
ea9e454a80 CI Linux: enable pipewire screen cap 2023-04-05 09:49:34 +02:00
Martin Pulec
ad71239134 CI Linux: remove AOM U18 compat 2023-04-05 08:36:53 +02:00