Commit Graph

268 Commits

Author SHA1 Message Date
Martin Pulec
83289a5fb7 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-08-20 11:26:23 +02:00
Martin Pulec
d9936aac5a CI: set committer globally
as in d670e2eb in master
2025-08-20 11:04:10 +02:00
Martin Pulec
96d6fe17b4 CI FFmpeg Linux: fix libsvt_vp9
now without the patch
2025-08-20 10:41:49 +02:00
Martin Pulec
fcd7bfb60f 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-08-20 10:41:33 +02:00
Martin Pulec
b870f84860 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-08-20 10:41:22 +02:00
Martin Pulec
0e535eeb81 CI FFmpeg Linux: copy SVT-HEVC patch
to be updated in next commit, for reference
2025-08-20 10:41:14 +02:00
Martin Pulec
c0a1095aa5 Revert "CI Linux FFmpeg: libsvtav1 API change patch"
This reverts commit 79f85919f1.

No longer needed since cartwheel removal.
2025-08-20 10:41:05 +02:00
Martin Pulec
da7873b856 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-08-20 10:40:43 +02:00
Martin Pulec
1fbd3bf7b6 CI: fix XIMEA URL 2025-05-05 10:52:14 +02:00
Martin Pulec
e6cf35ca0b CI Linux: switch to ubuntu-22.04
ubuntu-20.04 GH image is being deprecated and will be eventually removed
from GH
2025-03-21 12:58:49 +01:00
Martin Pulec
ec8467dabe CI Linux FFmpeg: libsvtav1 API change patch 2025-03-21 12:58:48 +01:00
Martin Pulec
4868103be3 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-20 13:30:30 +01:00
Martin Pulec
8881d22150 Revert "CI Linux FFmpeg: patch VP9 FFmpeg patch"
This reverts commit c8b1e6859d.

the upstream SVT-VP9 patch has been updated
2024-10-21 15:04:56 +02:00
Martin Pulec
a6ed0cbcdb CI FFmpeg Linux: updated libde265 patch
remove FFCodec.init_static_data - dropped from upstream but not used by
libde265 plugin anyways
2024-10-21 15:04:55 +02:00
Martin Pulec
82cfa8caf8 CI Linux FFmpeg: compat vaapi patch update 2024-10-21 15:04:55 +02:00
Martin Pulec
0af8eaf755 CI NDI: do not repeat downloads in install scripts
NDI SDK should be already downloaed from the step before in the YAML.
2024-07-22 11:22:19 +02:00
Martin Pulec
c378bea288 CI Linux FFmpeg: patch VP9 FFmpeg patch
temporarily again incompatible with current FFmpeg HEAD
2024-06-26 16:08:14 +02:00
Martin Pulec
0f2d95a9b9 Revert "CI FFmpeg Linux: pin Vulkan-Headers"
No longer needed. Moreover, this now prevents the FFmpeg build.

This reverts commit b8f4d15df4.
2024-04-29 10:23:24 +02:00
Martin Pulec
7f397d2e1c CI FFmpeg Linux libde264 patch: removed reordered_opaque
dropped from upstream
2024-03-20 14:49:32 +01:00
Martin Piatka
6b7d38d6c5 CI: Ubuntu install gcc-10
FFmpeg refuses to build on gcc 9, because of missing intrinsic
_mm256_loadu2_m128i
2024-03-20 14:49:31 +01:00
Martin Pulec
2ccefd5f4f CI Linux FFmpeg: updated libde265 patch
rebased with the current FFmpeg code
2024-03-20 14:18:44 +01:00
Martin Pulec
7fa8a935a2 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:18:42 +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