Commit Graph

821 Commits

Author SHA1 Message Date
Martin Pulec
6503b92f15 configure: do not prefer SDL2 over SDL3
Unpin SDL version 2 - SDL 3 can be now considered idempotent.

Issues mentioned in sdl3:
- sdl_mixer -> replaced with fluidsynth
- Vulkan issues - Vulkan is currently (SDL 3.20) not implicit in either
of platforms; if so, trigger a warning. Also it is unavailable in SDL2.
- p010 corruption in Direct3D 11 or 12 - there is already a workaround
to disable
2025-08-27 12:13:08 +02:00
Martin Pulec
9a738c906c add acap/fluidsynth
To replace sdl3_mixer that does no longer support MIDI playback, thus
unusable for our use case.

- song1 needs to be static included potentially from 2 compilation units -
this and sdl_mixer
2025-08-27 09:00:19 +02:00
Martin Piatka
505e136382 configure.ac: Fix --disable-gpujpeg_to_dxt option in help text 2025-08-18 10:03:18 +02:00
Martin Pulec
2b3ae39a4f support for symbolic trace with libbacktrace
Linux (+ eventaully macOS)
2025-08-13 12:44:05 +02:00
Martin Pulec
38da0cd4bf configure: avoid excess spaces
While the construction ${var+ $var} works if var is not defined, it will
produce extra space if var is empty. Added ':' to '+' to avoid this.
2025-08-12 12:24:59 +02:00
Martin Pulec
cc2e7103b1 configure.ac: generate debug symbols for Win
<https://stackoverflow.com/questions/74416539/clang-14-does-not-generate-pdb-file>

Set it only when linking, not for configure.
2025-08-12 12:24:59 +02:00
Martin Pulec
3a940a5868 configure.ac: fix unbound GL vars 2025-08-12 12:24:59 +02:00
Martin Pulec
dc9f09f3bd configure.ac: accept also cygwin as Windows
The variable #MSYSTEM_CHOST is taken as the base (/etc/config.site) and
contains now in MSYS x86_64-pc-cygwin resulting in $host_os=cygwin. Not
sure where the variable is defined, anyways...
2025-08-11 16:12:37 +02:00
Martin Pulec
4979b8c22a add vo_pp/temporal_3d
refers to GH-440
2025-08-11 11:37:38 +02:00
Martin Pulec
6a91cf000e add vo_cf/temporal_3d 2025-08-07 08:57:48 +02:00
Martin Pulec
39d76ee4be configure: refuse sdl3_mixer
SDL_mixer 3.0 rwmoved support for native MIDI [1], which was the reason it
was used for so refuse that.

Note that at this this moment, the latest released SDL_mixer version is
2.8.1, anyways. But it can be installed from Git.

[1]: https://wiki.libsdl.org/SDL3_mixer/README-migration
2025-08-05 10:14:21 +02:00
Martin Pulec
f7a1504916 vulkan: locate shaders in srcdir
If running from inside out-of-tree build, the shaders were not located -
now look them up in srcdir (if the the formerly looked shader directory
doesn't exist).
2025-06-24 16:45:20 +02:00
Martin Pulec
b899dbeec7 configure.ac: replace numeric expr with test
the operator <= actually did just lexicographic compare for number eg
2.1 - compare just major version now
2025-05-30 15:23:20 +02:00
Martin Pulec
2634e6379c configure.ac: compat with expr not accepting --
eg. busybox v1.37.0 expr doesn't support -- allthough it is required [1]

prefix args 'x', which should be equivalent for opeartor :

improves commit b2932247 (22th May 2025)

[1]: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/expr.html
2025-05-30 15:12:36 +02:00
Martin Pulec
4d4cd93546 build: -D_GNU_SOURCE for Linux only
This improves the commit f8b54ea9 from 2013 - currently _GNU_SOURCE is
required eg. for pthread_setname_np. Intantionally used not only with
glibc but also with musl - if not defined pthread_setname_np is not
defined.

+ add COMMON_FLAGS also to CPPFLAGS (doesn't matter much but better)
2025-05-30 14:25:36 +02:00
Martin Pulec
f1745fba65 configure.ac: improvements
fix all occurances of:
- test -a/-o
some occurences (where line affected by the above)
- enclose vars in ""
- ensure that var is defined ${...?}
2025-05-30 08:10:34 +02:00
Martin Pulec
b1951bb823 GLEW: do not required GLU
not avail on OpenBSD
2025-05-30 08:10:34 +02:00
Martin Pulec
dbfe8362a7 configure.ac: don't req X11 hdrsfor GL disp [Lin]
Separate OPENGL and OPENGL_COMMON - for Mac and Win the same but in Linux,
the first one doesn't require X11 headers, just GLEW.
2025-05-30 08:10:34 +02:00
Martin Pulec
2f63416075 support for OGL on non-Linux *nix
+ replace discouraged test -a syntax with test && test
2025-05-30 08:10:33 +02:00
Martin Pulec
cb5b9952c7 configure.ac: handle Linux for DeckLink explicitly
Although it would compile for *BSD systems, Blackmagic doesn't release
drivers, anyways. Also -ldl isn't available in OpenBSD.
2025-05-30 08:10:33 +02:00
Martin Pulec
b2932247c6 configure.ac: use expr -- to handle "-value"
acutally mainly important for the CFLAGS but it is better anywhere

+ enclose the evalated var to "" if not already
2025-05-30 08:10:32 +02:00
Martin Pulec
5724761356 support for non-Linux POSIX systems 2025-05-30 08:10:31 +02:00
Martin Pulec
08f03b6218 confugre.ac: use -pthread for any BSD 2025-05-30 08:10:30 +02:00
Martin Pulec
90d755c076 Makefile: rewrite GNU Make-specific stuff 2025-05-30 08:10:28 +02:00
Martin Pulec
4846ed4bbf vcomp/cmpto_j2k: add experimental support for OCL 2025-05-28 08:28:07 +02:00
Martin Pulec
b79ea0678a configure.ac: set sdl_version after sdl checked
For actual sdl check, the emptiness of sdl_version is evaluated. But later
it is useful to have it =0 for numeric comparisons (2c577ace) so set it
in after sdl check. The depending modules can use $sdl variable later.
2025-05-07 13:50:49 +02:00
Martin Pulec
6bb9091736 deltacast_common: move functions to .cpp file
instead of having those in .hpp

+ autoindented

except the move+indent (and includes), no other change in code
2025-04-25 14:17:15 +02:00
Martin Pulec
2c577ace15 configure.ac: small fix
Set sdl_version=0 - later in testcard_extras it is numerically compared
so if set to "" it produced a warning.
2025-04-16 14:31:54 +02:00
Martin Pulec
d6a9c13dd1 configure v4l2: check needed header
linux/videodev2.h is part of kernel headers and is usually present

But if it isn't, do not compile the stuff - there are defined the macros
that are required to compile.
2025-04-14 15:44:11 +02:00
Martin Pulec
b86d62876d configure.ac: sdl2_compat detect fix
sdl2.pc does no longer provide sdl2_compat - add a fallback parsing
it from the .pc file manually (pkgconf) and from --debug (pkg-config).
2025-04-01 14:09:45 +02:00
Martin Pulec
5c13644cd8 configure: sdl aux fix
Fixed $sdl_ver_suffix used instead of $sdl_version - the former is ""
for SDL1 - when testing _ttf and _mixer.
2025-04-01 14:02:31 +02:00
Martin Pulec
b073f9d105 configure.ac: add option not to use MoltenVK [mac]
On mac, we can link either to MoltenVK or the vulkan-loader. The MoltenVK
variant is default, because the bundler then bundles the library as the
compat layer. If linked to vulkan-loader, Vulkan will likely not work if
the MoltenVK is not installed on the host computer.

But it is useful for debugging (the behavior is slightly different if
loaded via vulkan-loader even if the backend is MoltenVK - the KHR
portability bit/enumeration stuff).
2025-04-01 14:02:30 +02:00
Martin Pulec
1c646424b6 configure.ac: prefer 2 over 3 for now
but not if sdl2 is SDL3 sdl2_compat - this won't bring any advantage

There is still some issues with 3 that was not with v2 - see sdl3.c and
sdl_mixer.c heading. Also, there is still no stable SDL_ttf release,
and even not a preview v3 build of SDL_mixer.
2025-04-01 14:02:29 +02:00
Martin Pulec
10059f9e71 mixer+ttf compat with SDL3 2025-04-01 14:02:27 +02:00
Martin Pulec
28198b39d0 vulkan_sdl3: change branding
+ use the name "vulkan" for vulkan_sdl3 (for `-d`), also accept this
for vulkan_sdl2. This makes it easier to use `-d vulkan` regardless
SDL version
2025-04-01 14:02:26 +02:00
Martin Pulec
430573a82b vulkan_sdl3: rewrite the code changed with SDL 3
+ use vulkan_sdl3 if SDL3 is detected by configure.ac
2025-04-01 14:02:26 +02:00
Martin Pulec
040b6a9bf5 sdl3: really rewrite the incomatible sdl2 stuff
+ add to configure.ac
2025-04-01 14:02:21 +02:00
Martin Pulec
d769384571 vcap/rtsp: parse HEVC metadata from SPS in SDP
HEVC not yet fully working - the actual packet decode needs to be done.
2025-03-27 13:43:27 +01:00
Martin Pulec
59543ca26f configure.ac: pcp has changed pkg-config name 2025-03-27 09:13:25 +01:00
Martin Pulec
dc26084fa1 configure: don't add -luuid for Cineform on mac 2025-02-20 11:47:12 +01:00
Martin Pulec
5812cf1608 remove unneeded HAVE_SDL2 macro
include <SDL_header> instead of <SDL2/SDL_heaaer>
2025-01-24 14:37:36 +01:00
Martin Pulec
1b61386af6 audio decoder: support zero-len data
to be used by passive acap and the audio mixer for passive audio
participants
2024-11-28 12:05:09 +01:00
Martin Pulec
9e736df38e timespec_get: compat
handle it explicitly for macos < 10.15

it eliminates the need to include config.h from tv.h and also the
autoconf test
2024-11-28 10:30:11 +01:00
Martin Pulec
0e5af30355 configure.ac: accept also CUDAFLAGS
CUDA_FLAGS were used to get the flags passed to nvcc. But cmake uses
CUDAFLAGS and it is perhaps more convenient (similar to CFLAGS, CXXFLAGS)
so accept both.
2024-11-22 10:07:58 +01:00
Martin Pulec
a1b669106c BMD: updated SDK to 12.6
first to support DeckLink IP

In this import, do not import the older API versions (Linux, Mac) -
it is not needed since we do not use them.
2024-11-18 09:32:32 +01:00
Martin Pulec
164084facd configure.ac: do not add -I$srcdir
added by 81e6766594 (2012) but should not be needed anymore
2024-11-14 11:54:19 +01:00
Martin Pulec
2f9730b66f configure.ac: fix EOL garbage
Added accidentaly by the commit 73572e77 (2024-03-05). Effective only
if --with-cuda option used but without any implications - just `/FOUN:
not found` printed, but processed normally.
2024-10-30 11:47:39 +01:00
Martin Pulec
c96a167d08 configure.ac: check the header in MSW as well 2024-10-11 14:36:39 +02:00
Martin Pulec
7db0b8dfc9 added matrix2 capf/vopp
Matrix (1) doesn't seem to be generic enough in case of UYVY.

THe aim is, among others, last resort fix of the BT.601 problem when
got from QSV compression and no YCbCr->RGB conversion took place.
2024-10-03 15:13:35 +02:00
Martin Pulec
69523f960e configure.ac: cmpto_j2k - add cudart if used
add -lcudart to the libs if CUDA is used for the conversions
2024-09-18 16:22:24 +02:00