Commit Graph

422 Commits

Author SHA1 Message Date
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
70d1c5186d CI: macOS compilation fix (Vulkan missing hdr) 2023-09-19 16:33:30 +02:00
Martin Pulec
5451a2fbce Revert "CI mac: keep vulkan 1.3.262 temporarily"
Currently installed version is now 1.3.264, anyways.

This reverts commit ff483081b5.
2023-09-19 16:33:30 +02:00
Martin Pulec
ee1d6146a6 GitHub CI: build with Qt 6
Following to previous commit, we can build with Qt 6 (even thought that
a workaround is neeeded).

qt package (version 6) is installed anyways as a dependency of opencv
2023-09-15 15:36:43 +02:00
Martin Pulec
ff483081b5 CI mac: keep vulkan 1.3.262 temporarily
Install vulkan headers prior to updating homebrew tree.

the version 1.3.264 seem to be temporarily broken (see [1]), producing
error:

    /usr/local/include/vulkan/vulkan.hpp:15:10: fatal error: 'vulkan/vulkan_hpp_macros.hpp' file not found
    #include <vulkan/vulkan_hpp_macros.hpp>

[1]:
https://github.com/MartinPulec/UltraGrid/actions/runs/6184953701/job/16789584064
2023-09-14 16:11:40 +02:00
Martin Pulec
792d5d8b2e CI macOS prepare.sh: removed unneeded env paths 2023-09-14 16:11:40 +02:00
Martin Pulec
d6daa8e9af CI mac: (self-)update Homebrew
the version 4.1.7 in GH runner is unsolicitedly producing
relocatable install names as it would with (in recent HB version)
HOMEBREW_RELOCATABLE_INSTALL_NAMES=1

see failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6147222102/job/16745596096>

The relocatable install names like:

    $ otool -L /usr/local/opt/qt/lib/QtGui.framework/QtGui | grep png
            @loader_path/../../../../../../../opt/libpng/lib/libpng16.16.dylib

Makes significant problems to macdylibbundler (it doesn't copy the library
to the bundle at all neither chantes the name).

\+ reinstall freetype (see failed build
<https://github.com/MartinPulec/UltraGrid/actions/runs/6185513000/job/16791263362>)
2023-09-14 16:11:39 +02:00
Martin Pulec
44fb3ceb9b gh/scripts/macOS/prepare.sh: standalone install
allow standalone installation of deps (outside GitHub CI) for debugging
2023-09-14 16:11:39 +02:00
Martin Pulec
94735192eb install-common-deps.sh: do not require GITHUB_WORKSPACE
allows running the script alone to replicate the build env
2023-09-14 16:11:39 +02:00
Martin Pulec
56439f413c CI Win: unneeded p7zip install
FFmpeg is now used from MSYS2 so, p7zip is not needed (added in commit
794a512f using Gyan Windows FFmpeg buils).
2023-09-06 14:39:49 +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
47b1abfd93 CI mac: enforce use of Qt5 even if Qt6 present
fixes failed run
<https://github.com/CESNET/UltraGrid/actions/runs/5925739298/job/16065753514>

From some point, it seems that Qt6 (Homebrew port _qt_) is already
installed but it doesn't bundle successfully. So enforce using Qt5
(previous symlink command didn't replace the `/usr/local/opt/qt` symlink
if already present).

\+ copy the link instead of linking it to prevent:

    Error: /usr/local/opt/qt@5 is not a valid keg
2023-08-21 14:29:24 +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
21b86e4223 GitHub CI Linux: enforce pipewire audio
ensure that Pipewire is built (similarly as with other features)
2023-08-07 12:33:15 +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
78796781db bundled SoundFount is sf3 2023-05-18 08:43:39 +02:00
Martin Pulec
c7c77ed7f7 use SoundFont 3 (compressed) 2023-05-02 08:41:35 +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
6c50f15988 CI mac compilation fix
Fixes failed run:

    https://github.com/CESNET/UltraGrid/actions/runs/4827804161/jobs/8600918491
2023-04-28 09:16:25 +02:00
Martin Pulec
3c596df0d3 CI description: ARM builds are now rebuilt weekly 2023-04-14 16:20:10 +02:00
Martin Pulec
96b9ff511c Win CI scripts: create /usr/local/* if not
Ensure that /usr/local/{bin,include,lib} are created in scrips that copy
to that.

This is not problem for the CI because `.github/scripts/Windows/prepare_msys.sh`
already creates them but the scripts are standalone installers and it
can be run independently by a developer to install the particular dependency.
2023-04-11 13:02:24 +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
Martin Pulec
8cb7e7e779 CI Linux: use Vulkan directy from repo 2023-04-05 08:25:49 +02:00
Martin Pulec
3ac7af2aa0 CI Linux: install wayland with apt
Previously, actually the same version was used but downloaded directly
and installed with dpkg, because it has been used a version from U20
(now default) to U18.
2023-04-05 08:22:48 +02:00
Martin Pulec
9eb376ee38 CI Linux: do not build own SDL2 anymore
SDL2 now obviously works on U20.04, because we are building there. It
doesn't work on U22.04, but neither the build with SDL 2.0.20 nor 2.26.2
does.

The problem seems actually to be the inclusion of Wayland libraries in
AppImage.
2023-04-04 12:49:46 +02:00
Martin Piatka
0149ea3fdf CI: Apply vaapi compatibility patch on 20.04 too 2023-04-04 11:42:55 +02:00
Martin Piatka
eb7406f06e CI/Linux: Migrate to Ubuntu 20.04 2023-04-04 10:46:16 +02:00
Martin Pulec
f7c0e8b138 CI Windows: update CUDA to 12.1 2023-03-22 15:51:05 +01:00
Martin Pulec
43ccb95a02 .github/scripts/environment.sh: small improvements 2023-03-21 14:02:25 +01:00
Martin Pulec
212c61739c updated SVT-VP9 patch 2023-03-21 08:21:17 +01:00
Martin Pulec
f9ad9558b8 CI Linux FFmpeg: use a mirror for nv-codec-headers
The master repo https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
is currently unresponsive. The mirror would be perhaps more reliable
since it is hosted on the GitHub, anyways.
2023-03-20 16:54:28 +01:00
Martin Pulec
f6dbfe1b85 CI Linux: removed libx11-dev
this should be no longer required to be installed explicitly
2023-03-20 16:54:28 +01:00
Martin Pulec
eaff363e93 CI Linux: install magickwand
For Coverity CI, it is not installed automatically as it is in C/C++ CI
(most likely build req for FFmpeg).
2023-03-20 16:54:28 +01:00
Martin Pulec
e8b6fc7b09 .github/scripts/environment.sh improvements
- fixed a shellcheck warning
- documentation
- removed shebang and executable bit to ensure script is sourced
2023-03-20 16:54:28 +01:00