Commit Graph

9071 Commits

Author SHA1 Message Date
Martin Pulec
c439cedd5c testcard: fixed mode/size=4k
Since 61544172 (2024-10-10), _4k_ (and similar) modes were not accepted
because lacking FPS specification, which was unintended change in
that commit.
2024-03-06 13:19:17 +01:00
Martin Pulec
e332c85b20 vcap/testcard: improved including
- do not include config*h - for [nh]to[nl][sh] created a compat file,
because it is included in different headers in MSW and POSIX-compatible
systems
- include suggested headers by include-what-you-use
2024-03-06 13:19:13 +01:00
Martin Pulec
745edca768 Makefile.im: pass @DEFS@ to CUDA_FLAGS
It contains (at least) -DHAVE_CONFIG_H defined by autoconf, which should
be passed.
2024-03-04 14:44:23 +01:00
Martin Pulec
aa42b46397 removed debug.h from lavc_common.h
not needed here, better include in source files
2024-03-04 14:44:23 +01:00
Martin Pulec
b79b5b4b44 configure.ac: CUDA_FLAGS - removed bashism
When /bin/sh (default configure interpret) is not bash, the flags are
not passed to Makefile.
2024-03-04 12:49:52 +01:00
Martin Pulec
fd53399b33 disp/gl: using only needed members of std::chrono
This also eliminates the need to prefix (std::)chrono:: things, which
shortens the code a bit.
2024-03-04 11:08:48 +01:00
Martin Pulec
fa4790e77a disp/gl: removed using (whole) namespace std 2024-03-04 10:53:09 +01:00
Martin Pulec
076f444922 disp/gl: added list_hints options
\+ accept symbolic values for the "known" hints
2024-03-04 10:25:16 +01:00
Martin Pulec
cfe128837d disp/gl: allow setting init hints
eg. `-d gl:init_hint=0x00050003=0x00060003` to enforce X11 (0x60004
for Wayland)
2024-03-04 10:25:15 +01:00
Martin Pulec
6c5c5740c9 disp/gl: window hints as a regular option
set window options as a regular option, not --param
2024-03-04 10:25:14 +01:00
Martin Pulec
cba9699cb8 to_lavc_vid_conv_init: set tmp_frame attributes
Set tmp_frame width, height and format. Those are not copied by
av_frame_copy_props as supposed by commit 5d3c31c115 (2023-10-31).
As such, this partially revers that commit.
2024-03-01 15:57:17 +01:00
Martin Pulec
4b4a949708 testcard y4m: support for >8 bit non-444 y4m 2024-02-29 15:23:16 +01:00
Martin Pulec
2516767c2c testcard y4m: fixed fmt support check
- refuse <8 bits
- fixed the condition for >8 bits
2024-02-29 14:42:44 +01:00
Martin Pulec
9d0571c667 testcard y4m: accept 4:2:0 (already handled) 2024-02-29 14:28:38 +01:00
Martin Pulec
31618f59a9 utils/y4m: added missing new-lines 2024-02-29 14:28:06 +01:00
Martin Pulec
5c5c8ca468 disp/decklink: print arbitrary settings in shorthelp
This increases the output just 3 more lines while those listed options
may be useful.

\+ suggest no to _aacl_ to explicitly disable audio consumer levels
2024-02-28 16:09:30 +01:00
Martin Pulec
d6ae0fc03f vcap/decklink: include optimization 2024-02-28 15:58:00 +01:00
Martin Pulec
9b545c61de vcap/decklink: help changes
- print _detect-format_ only in fullhelp (not muche needed nowadays
since perhaps all devices support input autodetection)
- print _passthrough_ instead in shortened help
- added [=no] suffix to aacl to indicate that it can be explicitly
disabled
2024-02-28 15:37:53 +01:00
Martin Pulec
483a0fe4ae vcap/decklink: shortcuts for codec, connection
Counterintuitively, just shourtcuts of conversion was allowed, meaning
that something like: `-t decklink:c=UYVY` didn't work and c= was assumed
to shortcut `conversion=`. Similarly connection was not possible to
shortcut.

Since the conversion is (perhaps) less often used, move _codec_ and
_connection_ before conversion (shortcuts are dispatched serially;
_codec_ is set first) and allow shortcuts. Now it is possible to use
something like:

    uv -t decklink:d=0:c=UYVY:con=HDMI
2024-02-28 15:11:04 +01:00
Martin Pulec
854c5543af CID 437903 fix
The strdup-ed pointer was actually not leaked but assigned to
s->dir. There was, anyways, just one poblem, when the dir started with
':', so. `strtok(cfg_copy, ":")` would skip leading ':' returning
cfg_copy+1. That would then be passed to free in export_destroy(), which
would most likely crash on invalid pointer.
2024-02-28 13:12:09 +01:00
Martin Pulec
502fb0c554 Windows: issue a warning for PWSH/cmd term only in W10
Do not issue the warning over PowerShell or cmd legacy terminal emulators
in Windows 11. In Window the check doesn't work, because the process
tree is different - the Windows Terminal doesn't have its own process
and it is uv.exe->powershell.exe->exporer.exe.

This improves commit bb2a72f67f.
2024-02-28 12:15:40 +01:00
Martin Pulec
d74922e443 CI: install gcc 10 only in U20.04
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>
2024-02-28 12:15:39 +01:00
Martin Pulec
d992c68227 lavc video: repeat the compressoion duration warn
Repeat the message every 30 secods - it is potentially important
information and when printed only once, the user may miss the point when
there is plenty of messages (especially at the beginning).

\+ do the same also for decompress
2024-02-28 12:15:36 +01:00
Martin Piatka
7d9608de2d gl_panorama: make Coverity happy
Wasn't really incorrect, because the front & back textures were only
accessed by the reader & writer thread respectively.
2024-02-28 12:09:39 +01:00
Martin Pulec
d0ff9de2f8 video_export: improvements
- improved includes with include-what-you-use
- using MAX_PATH_SIZE instead of 512 for name sizes
2024-02-19 16:16:22 +01:00
Martin Pulec
af19124901 video_export: increment number frame index first
Actually the value+1 (so 1 for first frame) is can be incremented
directly, this also removes the need to increment it in failed paths.
Here the behavior has been inconsistent, because if queue was full,
the index was incremented but on incompatible description it wasn't.
Now it is always incremented.
2024-02-19 16:12:25 +01:00
Martin Pulec
3efd4186a7 AppRun: exec UG binary with exec
This respawns the process instead of the script. The advantage is that
when the AppImage process is killed, UG is killed as well, eg. in this
case:
```
UltraGrid-continuous-x86_64.AppImage -t testcard & (sleep 3; kill $!)
```

Otherwise just the parent process (the shell) is killed, leaving the child
(UG) running on background, which is undesirable. See also:
<https://stackoverflow.com/questions/8533377/why-child-process-still-alive-after-parent-process-was-killed-in-linux>

For the above command, `kill -SIGTERM -$!` would be required to do
the job, but the parent shell process keeps "running" in the background
and `bg` needs to be run.
2024-02-19 15:10:38 +01:00
Martin Pulec
10c389d62e export: small simplification 2024-02-19 13:05:47 +01:00
Martin Pulec
bcef2372d6 CI Mac GLFW patches: host again in main repo
This is perhaps better than hosting it aside, the patches are UG-specific,
anyways.
2024-02-16 15:23:35 +01:00
Martin Pulec
d200796e7c ffmpeg audio channels: include channel_layout.h
Reported as missing when compiled with Debian 12 distro FFmpeg.

\+ removed config*.h from lavc_common.c - none needed
2024-02-16 13:10:48 +01:00
Martin Pulec
0c55a06c1e create-appimage.sh: disallow SoundFont override
Do not bundle SDL_SOUNDFONT instead of the SoundFont now included in
sources. This is a bit contra-intuitive, since the user may have set
the SDL_SOUNDFONT for its primary reason. Using the variable was just
a workaround to find _any_ usable soundfont, which is now unneeded.
Also, the user-selected soundfont may have hundreds of MB (as usually
the general-purpose soundfonts have).
2024-02-14 09:00:46 +01:00
Martin Pulec
bf09d1cdca CI: add sountfont, not download
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.
2024-02-13 16:44:31 +01:00
Martin Pulec
5ef864729d CI mac install_others.sh: ensure vars visibility
Make some variables, which may be adjusted by subsequent commands,
visible outside the subshell.
2024-02-13 16:42:43 +01:00
Martin Pulec
bbed291a95 CI mac: remove NDI 4 compat
unneeded and removing will ease refactor
2024-02-13 16:04:37 +01:00
Martin Piatka
0fac525e6f CI: MacOS: Fix deltacast install 2024-02-13 14:00:26 +01:00
Martin Piatka
7f166a2411 CI: Ubuntu install gcc-10
FFmpeg refuses to build on gcc 9, because of missing intrinsic
_mm256_loadu2_m128i
2024-02-13 13:59:04 +01:00
Martin Piatka
6bd76fcb4c CI: Fix Win jack download 2024-02-13 13:05:15 +01:00
Martin Piatka
41ede46ace gl_conversions: Ignore pbo parameter for vdpau & R10k 2024-02-13 10:50:18 +01:00
Martin Piatka
03b6d9e02a gl_utils: Remove unused shaders 2024-02-13 10:50:18 +01:00
Martin Piatka
56c3ef4411 openxr_gl: Report all supported codecs 2024-02-13 10:50:18 +01:00
Martin Piatka
f15f394897 pano_gl: Report all supported codecs 2024-02-13 10:50:18 +01:00
Martin Piatka
a5b77ce1b1 gl_utils: Remove unused Texture upload code 2024-02-13 10:50:17 +01:00
Martin Piatka
aa74306ba2 gl_utils: Handle frames that are in PBO already 2024-02-13 10:50:17 +01:00
Martin Piatka
0d465428fe gl_utils: R10k PBO handling 2024-02-13 10:50:17 +01:00
Martin Piatka
37f1e986ef gl_conversions: Put converters in anonymous namespace 2024-02-13 10:50:17 +01:00
Martin Piatka
45296458dc gl_conversions: Reduce code duplication 2024-02-13 10:50:17 +01:00
Martin Piatka
a0e9ef1320 gl_utils: check_gl_extension_present() 2024-02-13 10:50:17 +01:00
Martin Piatka
8dd9bbf6b2 gl_conversion: Fix vdpau not deinitializing 2024-02-13 10:50:16 +01:00
Martin Piatka
4cdf6a6394 gl_utils: Fix not saving configured codec 2024-02-13 10:50:16 +01:00
Martin Piatka
719ee43374 gl_conversion: Add VDPAU support 2024-02-13 10:50:16 +01:00