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.
+ do not allocate it ahead in _init
For HuffYUV and FFV1 this caused crash (perhaps deconfigure was run twice
for those codecs with extradata /it uses a different path than usual
codecs without that data/, leaving the AVpacket pointer nullptr after
first run).
Unreferencing should not be necessary - we are not refcounting it and
FFmpeg example (decode_video.c), which works similarly, doesn't do that,
anyways. Also av_packet_free() should unreference it according to doc.
This increases throughput by some 33 % at the expense of one frame
increased latency. Using more than that improves the throughput only
slightly so it is perhaps not worth adding latency (as a default value).
autoconf doesn't handle the quotation marks well, in this case it
doesn't take the path given by eg. `-L"/usr/local/cuda/lib64"`.
This allows at least correct configure in Linux, in Windows, user may
perhaps need to set LIBRARY_PATH env variable.
The command-line tools used here (eg. stat) may use our custom libraries
(like libselinux) which may not be entirely compatible (it just most
likely ends up with a warning).
+ do the same for get_tools() and set_libva_ld_preload()
+ use original (if any) LD_LIBRARY_PATH for set_ld_preload()
+ removed unneeded `exit $?` (it is implicit)
libpipewire is incompatible with preloaded jack on current Arch and
causes a crash (unsatisfied jack pipewire function dependency).
Anyways, the pipewire screen capture didn't work with the bundled
library, anyways, so we certainly need one from system.
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.
This fixes blocking putf freeze, eg.:
uv -t testcard --param decoder-drop-policy=blocking
but more importantly:
uv -t testcard -d multiplier:sdl
because the later one is how it is called via GUI (mutliplier uses
blocking putf).
Setting LD_LIBRARY_PATH would override the library path also for tput
executable, leading to possible incompatible version of ncurses in
bundle, leading to following error:
tput: /tmp/.mount_UG-20-oJoJEf/usr/lib/libncursesw.so.6: version `NCURSES6_TINFO_6.2.20211010' not found (required by tput)
(and of course the color escape sequence is not returned)
Don't use bundled Wayland libraries when running on Wayland but use it
otherwise to satisfy possibly unsatisfied dependencies.
See also previous commit - Wayland libraries seem not to be portable and
prevent SDL2 native run on Wayland. After this change, SDL2 runs on
U22.04 in Weston (without Xwayland).
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.
If registering a should_exit callback but should_exit has already been
broadcasted, it wasn't ever run, leading likely to a freeze.
Steps to reproduce the fixed problem:
uv -t swmix:512:512:2 -t invalid
Fixed by immediately calling the registered callback if should_exit has
been already issued.
The compiler is run twice - first for real compilation, second for
dependency tracking. Do not print compilation message the second one
since it may be confusing.
Query directly, without help from GPUJPEG (although the code is actually
borrowed from there).
This enables device listing also if GPUJPEG is not compiled in and it
simplifies main.