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.
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.
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
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).
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.
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).
Note that the printed now is the runtime version, while in the previous
version it wash the version used (just) for the compilation. Current
inmplementation seem to be better, anyways.
Some features that are used by x86_64 Linux build are disabled, for the
rest dependencies are installed.
disabled:
- CUDA features (except of NV Jetson usually there is no CUDA)
- lavc vdpau (similar to CUDA, it is primarliy NV-focused API)
- Qt GUI
- Cineform (doesn't compile on ARM)
dependencies installed:
- libsdl2-ttf-dev
- libsdl2-mixer-dev
- libva-dev
The commit bd91d16b (2024-05-31) causes the live555 being build on all
platforms, including arm Linux. But the plaform is not valid for that,
so replace linux-64bit with linux.
Also enforce live555 in this case.
added by the commit f3003ed1
For the original reason it is no longer needed (the higher bit depth
x264 is already included in distro repositories). Anyways, the version
of libx264, that will be installed, is taken from ppa:savoury1/vlc3,
anyways (newer one).
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
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>
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.
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"
```