11105 Commits

Author SHA1 Message Date
Martin Pulec
30f61c5eba vcap/screen_avf: simplified a bit
used asnprintf
continuous
2026-01-23 15:45:35 +01:00
Martin Pulec
b388cf3617 configure.ac: add_column - use "${?}"
enclose in quotation marks and use ${?} syntax to get more predictable
results - avoid/handle multi words + ensure it is defined
2026-01-23 15:45:35 +01:00
Martin Pulec
785b66f452 configure.ac: removed bashism (seq) 2026-01-23 15:45:29 +01:00
Martin Pulec
3c294732d3 configure.ac: do not use subshels for summary gen 2026-01-23 15:38:33 +01:00
Martin Pulec
9acfc05fee screen_avf: fixed cfg string copy leak 2026-01-23 15:38:33 +01:00
Martin Pulec
a7314698ee rtp: fix uninitialized atomic variable
Coverity complains about that (CID 472128), possibly rightfully - it
seems like the init of atomic variable doesn't need to be necessarily
atomic (while the asignment is).
2026-01-23 15:38:33 +01:00
Martin Piatka
5b3490f769 GUI: Add "LIVE" indicator 2026-01-23 15:10:28 +01:00
Martin Pulec
725cab8d6b CI Linux FFmpeg: apply SVT-AV1 patch
current FFmpeg version dd2976b9 doesn't compile with SVT-AV1 commit
9485b939 with following error:
```
libavcodec/libsvtav1.c:240:14: error: ‘EbSvtAv1EncConfiguration’ has no member named ‘enable_adaptive_quantization’
  240 |         param->enable_adaptive_quantization = 0;

```
2026-01-23 13:12:42 +01:00
Martin Pulec
696fd4da47 Revert "CI macOS 14 (arm64) deployment fix"
This reverts commit f9963c42ad.

This workaround is no longer needed, on the contrary, it breaks the CI
now: <https://gist.github.com/MartinPulec/067c8e7ff87ddf04e1285556f33d8d2b>
2026-01-22 09:46:53 +01:00
Martin Pulec
6a92e897b5 cap/avf,ca: print that capturing explicitly
to eventualy comply with Apple Developer Program License Agreement 3.3.3.A
2026-01-21 16:09:22 +01:00
Martin Pulec
064930e741 screen_avf: probe: fixed swapped name/dev
+ missing "d" in dev specifier (should be ":d=100" for 1st screen)
2026-01-21 13:29:46 +01:00
Martin Pulec
bd2eace525 compat/c23: improved
- for bool, nullptr compat, the comparison to 202311L should be <, not <=
- separate bool/nullptr compat for clarity
- improved countof compat - if c23, check stdcountof.h presence with
__has_include and use if present rather than defining the macro always
2026-01-21 08:53:31 +01:00
Martin Pulec
182119dc26 vcap/avf: fix c&p error in compat 2026-01-21 07:55:20 +01:00
Martin Pulec
3ae62524d1 vcap/screen_avf: set device d=100 if unspec
Otherwise d=0 would be initialized implicitly, which isn't screen cap
device but rather FaceTime HD Camera or so.
2026-01-20 15:09:06 +01:00
Martin Pulec
74c47c53bd module: IWYU
Because many of files didn't include messaging.h and used to have included
it indirectly, in all of them, the correct messaging.h include must have
been added.
2026-01-20 14:40:45 +01:00
Martin Pulec
7b654221f8 module.c: dead-lock check always disabled
It requires _POSIX_TIMEOUTS to be defined (as it isn't in macOS) but
unistd.h was never included so it wasn't used even on platforms where
pthread_mutex_timedlock() is implemented.
2026-01-20 14:40:45 +01:00
Martin Pulec
728ec40195 color_out.h: do not include macros.h
Included with debug.h (for logger) so it would leak the definitions to
almost all compilation units.

Just STRINGIFY is required so rather make a local copy of the macro
(prefixed COLOR_OUT).

+ include macro.h in files that should include that but didn't include
it directly
2026-01-20 14:40:41 +01:00
Martin Pulec
d0c3cde8ef vcap/avf: fix typo in mode 2026-01-20 13:42:35 +01:00
Martin Pulec
6feb734b15 vdisp/avf: print warn if no devices were found 2026-01-20 12:38:55 +01:00
Martin Pulec
84f560b97f move countof() def from macros.h to compat/c23.h
technically it will be C2Y but the c23.h can be perhaps used for both

in c++, std::size() is rather used

This fixes compilation of pano_gl, where its implementation
of countof clashes with the macro (leaked through
debug.h->color_out.h->utils/macros.h, which no longer contains that
define).
2026-01-20 11:10:06 +01:00
Martin Pulec
c758c38772 ARM CI: use NDI v6
With v5, NDI doesn't compile because of NDIlib_frame_type_source_change
missing. According to the NDI license, the most recent version should
be used, anyways.
2026-01-20 10:02:30 +01:00
Martin Pulec
2ee508522b configure: screen: if Linux&req=yes, require x11+PW
If --enable-screen is used in Linux without specifying explicitly
x11 or pipewire, require both. The user may need to have the PipeWire
implementation and end up with X11 or vice versa.

Also fix the check for implementation - checked X11 only if
--enable-screen=x11 (without PW) and vice versa for Pipewire.  But not
eg. --enable-screen=x11,pipewire.
2026-01-20 10:02:30 +01:00
Martin Pulec
747deae750 vcap/avf: disable remove ancient compat
we definitely wont comipile on OS X 10.8/10.9
2026-01-20 10:02:30 +01:00
Martin Pulec
afcf9131f5 vcap/avf: HD/VGA preset compat
those are no longer shown in help but make it work for backward compat
2026-01-20 10:02:30 +01:00
Martin Pulec
3ed0ec3751 vcap/screen: probe actual screens 2026-01-20 10:02:30 +01:00
Martin Pulec
80c5fdbb22 CI: reenable screen for macos-15-intel runner
AV Foundation backend now works
2026-01-20 10:02:29 +01:00
Martin Pulec
a9d4bb471f add screen capture with AV Foundation
Also changed configure.ac so that Pipewire screen cap requirements
are checked only in Linux (in other platform currently perhaps not
expected the use of Pipewire screen capture).
2026-01-20 10:02:29 +01:00
Martin Pulec
415ca23405 configure.ac: switch from Darwin vers. to macOS
The actual Darwin version was actually matched to corresponding macOS
version so use those directly.
2026-01-20 10:02:29 +01:00
Martin Pulec
d31244d3a5 vcap/avf: allow screen cap init by name
as listed in help
2026-01-20 10:02:29 +01:00
Martin Pulec
7597e2893f vcap/disp: set the preset directly
set the given <preset> as AVCaptureSessionPreset<Preset> (first letter
converted explicitly to upper-case for backward compatibility when there
has been "low" option not "Low")
2026-01-20 10:02:28 +01:00
Martin Pulec
90a1335ec8 vcap/avf: do not set preset
If the desktop is 2880x1800, the main profile would capture 480x300, which
is perhaps unexpected - even though the resolution doesn't necessarily
need to be native, 480x300 is perhaps too small. For the FaceTime HD Camera
480x360 so it is better to keep the default (deskotp native, FaceTime 720p).
2026-01-20 10:02:28 +01:00
Martin Pulec
2a73f9e2c5 vcap/avf: add screen ident by uid 2026-01-20 10:02:28 +01:00
Martin Pulec
f6bed5eb50 vcap/avf: allow screen cap default fallback
if no video devices available, use screen capture if device unspecified
2026-01-20 10:02:28 +01:00
Martin Pulec
912942cb0d vcap/avf: use autorelease pools
For objects like returned by `[[device uniqueID] UTF8String]` not to leak.
2026-01-20 10:02:28 +01:00
Martin Pulec
413bf5d18d vcap/avf: help improvements
- suggest also AVCaptureSessionPreset1920x1080
- do not advertise HD - it was actually 720p, users may expect 1080p
(but still allow the setting)
- updated examples - added the "long" preset option, some opts now
use shortcuts
2026-01-20 10:02:27 +01:00
Martin Pulec
1ba58a4862 vdisp/avf: allow arbitrary preset
eg. AVCaptureSessionPreset1280x720
2026-01-20 10:02:27 +01:00
Martin Pulec
ff46eb9ef3 vcap/avf: do not use VLA
Since the module is currently written in Objective-C++, clang complains
about use of VLA (but just a warning).
2026-01-20 10:02:27 +01:00
Martin Pulec
e3162f8732 vcap/avf: print captured format + set preset 2026-01-20 10:02:27 +01:00
Martin Pulec
f9fad513c7 configure.ac: document CUDACXX env var
just as an alternative to CUDA_PATH for now
2026-01-20 10:02:27 +01:00
Martin Pulec
04d9bc8474 vcap/avf: initial support for screen capture
vcap/avf: fix device index in help
2026-01-20 10:02:26 +01:00
Martin Pulec
f7fad8fbeb vcap/avf: use generic indicator + early return 2026-01-20 10:02:26 +01:00
Martin Pulec
650cfec2b1 NDI v5 compat
honor the USE_NDI_VERSION

+ notice how to set this to configure.ac
2026-01-20 10:01:31 +01:00
Martin Pulec
87789be182 fix @^^: missing test 2026-01-19 12:21:02 +01:00
Martin Pulec
e5f61f655a CI Linux FFmpeg: updated SVT-HEVC patch
SVT-JPEG-XS has been merged, which was causing the conflicts
2026-01-15 14:48:20 +01:00
Martin Pulec
ea93cbe022 configure.ac: accept also CUDACXX for nvcc
Primarily used by CMake but if no nvcc was found, we can try this as well.
2026-01-15 13:23:11 +01:00
Martin Pulec
6c83b6de8a configure.ac: honor default DELTA install in Win
+ fix $DELTACAST_DIRECTORY not being honored in Windows since @^2
2026-01-15 10:58:03 +01:00
Martin Pulec
e8076ae690 deltacast_dv: fixed wrong message 2026-01-14 16:43:36 +01:00
Martin Pulec
11d52756ff configure: fix current Delta Linux paths
preset also DELTACAST_PATH to /usr to allow build with VideoMaster distro pkg
2026-01-14 16:43:34 +01:00
Martin Pulec
b71b9231c1 from_lavc_pf_priority: do not advertise HW_VDPAU
This is handled differently and may trigger unexpected decode to HW_VDPAU
if gl display advertises that, eg. `uv -t testcard -c lavc:c=MJPG -d gl`.

This fixes the commit 647d8627 (2025-06-25) that unintentionally
enabled that.

The HW accel is hanndled actually separately ahd snouldn't be "enabled"
in this way.
2026-01-13 16:50:27 +01:00
Martin Pulec
c9f52b5483 vdisp/sdl3: remove leaks if init fails
not much important but reported by Coverity (CID 899144)
2026-01-13 15:05:36 +01:00