Print the output variable assigned in the script in case that this
fails, otherwise it on the output without NL and will be prepended to
next var (if any).
This also simplifies the call in YAML.
XIEMA uses something like (for ARM mac):
"cs-cz|6ea47896-cfc1-4c33-a2cc-5dc7ee38de39|15.05.2024 11:57:53|LiveSite"
where the spaces and pipes may cause problems later if not properly
sanitized. Doesn't seem to cause problems so far but perhaps still better
to sanitize.
Keep just chars from Portable Filename Character Set (alnums + <space>,
<dash-minus>, <underscore>), other replace with _.
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).
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.
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.
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
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.
fix the situation when most recent release doesn't include the asset
matching the patern (but some other does)
notes:
- the assets are included directly in /releases, no need for subsequent fetch
- use -e to fail jq if the result is null
- $pattern doesn't need to be anchored
import improvements from GPUJPEG - summary:
- LABEL - replace ' ' with %20 (will get to URL)
- use while instead of for..seq
- cat json file directly (avoid interpretting \n and \r that XSI-compilant
echo, as in dash, does)
- cat really the $json file, don't print its name
- wrap long lines + early return in while-loop
The rewrite of `for n in \`seq` may be perhaps a bit controversal
(with while is less readable) but technically POSIX doesn't specify the
seq comand.
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)
The development in PCP seem to be very turbulent these days and it breaks
Win builds often so pin a commit in Windows CI until the situation calms
down a bit.
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).
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.
Use runner ubuntu-22.04 instead of ubuntu-latest. Because ubuntu-latest
has switched to ubuntu-24.04 recently, whiich breaks the build for arm64.
There seem to be an unresolved bug in QEMU >= 8.1
(U24.04 has v8.2.2) when using ARM64 and bullseye:
<https://gitlab.com/qemu-project/qemu/-/issues/2377>.
(ARM64 buster and bookworm, as well as ARMHF, may be fine as indicated
in the bug description.)
This can be reverted later (either when fixed in QEMU or when switched
the chroot to bookworm). But it shouldn't matter much, anyways, since this
is just the "host" environment.
Also include runner ver in chroot key because it seem to make a difference
from the above..
THe problem seems to be that there is preinstalled pkg-config@0.29.2 in
CI but the version that is being to be installed is an alias for pkgconf.
The problem seems to be cumbersome, because installing pkgconf fails, pkg-config
as well (tries to install pkgconf 2.3.0; installed version of pkg-config
is pkg-config@0.29.2).
So made just a workaround, that will not be needed after the updated
pkg-config (linked to pkgconf) applies to all macos runners (will be
preinstalled).
The problematic package is pkg-config in current macos-13 runner but
pkg-config@0.29.2 in macos-14 image.
suppress `brew list` output
It is used just to check if a package is installed and the output is
print is output to stdout. To stderr is print that it if the package is
not installed.
pkgconf is more modern version and the CI on macos-14 now fails
because both pkg-config and pkgconf (presumably as a dependency) are to
be installed.
The erroa (the beginning, additional info omittedr):
```
==> Pouring pkgconf--2.3.0_1.arm64_sonoma.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /opt/homebrew
Could not symlink bin/pkg-config
Target /opt/homebrew/bin/pkg-config
is a symlink belonging to pkg-config@0.29.2. You can unlink it:
brew unlink pkg-config@0.29.2
```
Both pkgconf and pkg-config can be installed automatically as a dependency
of some other packages so ensure a defined state (both installed,
pkg-config disabled).