Commit Graph

11255 Commits

Author SHA1 Message Date
Martin Pulec
2e9adcfa67 vcomp/lavc: warn if JPEG XS is encoding Y444
This won't work if on the other end the jpegxs decoder (preferred)
is compiled in because it assumes RGB while lavc encodes YUV.
2026-02-20 15:24:05 +01:00
Martin Pulec
283a41d0c2 vcomp/lavc: hide CFHD+JPEG_XS if help is not full
It is better that user uses the dedicated encoder so do not advertise
that by default.
2026-02-20 15:24:05 +01:00
Martin Pulec
0ef4271d8e vdec/lavd: disable JXS decode if 444
FFmpeg libavcodec assumes that 444 input is YUV while jpegxs RGB so do
not offer the decoder if 444.
2026-02-20 15:24:05 +01:00
Martin Pulec
8e22cd2b0d video_codec: update JPEG_XS metadata
- FourCC - 'JXSS' seem to be the right one to use (although very little
references available)
- short name - replace space with underscore - compliant with other codecs
(not using spaces) - maybe even JXS would be better?
- extension - .jxs seem to be used almost exclusively (wiki doesn't mention
any other)
2026-02-20 15:24:05 +01:00
Martin Pulec
05a08c9a59 vdec/jpegxs: add conversion to RG48
In order this decoder to be used if negotiated output format is RG48
because lavd decoder suppports RG48 as well (eg. 12b RGB and GL display,
that doesn't support R12L). Priority of jpegxs is higher in this case.
2026-02-20 15:24:05 +01:00
Martin Pulec
f514d5fc16 vdec/jpegxs: avoid using hard-coded codec list
the support should be determined directly by the conversion presnence
2026-02-20 15:24:04 +01:00
Martin Pulec
33c07e8ba8 configure: option to separately remove objects from build
Those listed in ULTRAGRID_OBJS, eg. in case of some problem - this was
not possible without --disable-all, which however removes everything,
which is not what is desired if removing some obj for incompatibility (eg
aes67 needing std::to_chars not supported on ancient macOS C++ libraries).
2026-02-20 15:19:56 +01:00
Martin Piatka
e3cf5f9158 audio/resampler.cpp: Remove config_{unix,win32} includes 2026-02-20 14:21:37 +01:00
Martin Piatka
cdd5aa4105 audio/filter_chain.cpp: Remove config* includes 2026-02-20 14:20:00 +01:00
Martin Piatka
6567197f7a audio/echo.cpp: Code quality improvements 2026-02-20 14:19:10 +01:00
Martin Piatka
841b923df8 audio/echo.cpp: Add zero initializers 2026-02-20 14:13:45 +01:00
Martin Piatka
78d3b5690f audio/echo.cpp: Remove config_{unix,win32} includes 2026-02-20 14:13:06 +01:00
Martin Piatka
3eddf0f3e5 audio_filter.cpp: Remove config_{unix,win32} includes 2026-02-20 14:10:44 +01:00
Martin Piatka
aaf529ccfa audio_capture.c: Remove config_{unix,win32} includes 2026-02-20 14:09:29 +01:00
Martin Piatka
1bcc27a4a9 tv.c: Replace config_{unix,win32} includes 2026-02-20 13:58:58 +01:00
Martin Piatka
acc82092d1 tfrc.c: Replace config_{unix,win32} includes 2026-02-20 13:56:52 +01:00
Martin Piatka
19ceec01b3 pipewire_common: Remove config_* includes 2026-02-20 13:39:59 +01:00
Martin Piatka
cbaa3b87be ntp.c: Replace config_{unix,win32} usages 2026-02-20 13:38:04 +01:00
Martin Piatka
fed974c501 lib_common.cpp: Remove config_{unix,win32} usages 2026-02-20 13:34:22 +01:00
Martin Piatka
3164553fa1 hwaccel_vdpau.c: Remove config_{unix,win32} usages 2026-02-20 13:34:12 +01:00
Martin Piatka
66a3676adf hwaccel_vaapi.c: Remove config_{unix,win32} usages 2026-02-20 13:27:59 +01:00
Martin Piatka
401d03b529 hwaccel_libav_common.c: Remove config_{unix,win32} usages 2026-02-20 13:26:57 +01:00
Martin Piatka
a01038a45f debug.cpp: Replace config_{unix,win32} usages 2026-02-20 13:25:44 +01:00
Martin Piatka
c04b9d96ee compress/jpegxs: Make out_queue unbounded
Fix hang on exit. Not a proper fix, but good enough for now.
2026-02-19 15:07:20 +01:00
Martin Pulec
94d925a300 vdec/lavc: return PRIO_NA if decoder not present
If the decoder is not present, do not return that we can decode because
we cannot (we have just a pixfmt conversion here).

This was omitted in refactor in the commit 7dd9a441 (2025-10-23) removing
the metadata structure.
2026-02-19 09:53:16 +01:00
Martin Pulec
fee03948d5 vdec/lavd: reenable CFHD decoder
removed unintentionally by the commit 7dd9a441 (2025-10-03)

as a consequence, this commit also allows CFHD encoder over vcap/lavc
2026-02-18 10:12:02 +01:00
Martin Pulec
cc2a2fc37c vcomp/lavc: improve time_base setting
for /1001 formats eg. 29.97, 1/30 was set - improve to set 1001/30000

for AVCodecCtx.framerate just invert the time_base fraction
2026-02-17 16:50:45 +01:00
Martin Pulec
9e5cb700b2 vcomp/lavc: support JXS 2026-02-17 16:50:43 +01:00
Martin Pulec
58b94505b9 vcomp/lavc: var rename 2026-02-17 16:22:20 +01:00
Martin Pulec
261df79fa7 add Spout semi-weekly test + vcap/spout hook
this should have catched the:
<https://github.com/CESNET/UltraGrid/issues/487>

and check also for its regression

+ added get_spout (vcap/spout) Doxy
2026-02-17 16:21:40 +01:00
Martin Pulec
a46429087c add semi-weekly CI tests
for additional testing in addition to what is done by dist check

tested is eg. the Reed-Solomon problem that occured between 1.8.5 and 1.8.6
2026-02-17 16:21:39 +01:00
Martin Piatka
99b644c57b config_unix.h: Move pwd.h include to rtp.c which is the only place its used 2026-02-17 14:28:53 +01:00
Martin Piatka
becc66e761 platform_pipe.h: Include compat/net.h 2026-02-17 14:05:19 +01:00
Martin Piatka
05481791c8 config_win32.h: Remove fd_t typedef 2026-02-17 13:42:13 +01:00
Martin Piatka
b550dde919 config_unix.h: Remove fd_t typedef 2026-02-17 13:41:46 +01:00
Martin Piatka
28ddc4e166 net_udp.h: Include compat/net.h 2026-02-17 13:41:19 +01:00
Martin Piatka
19ea6eac85 udp_holepunch: Include compat/net.h 2026-02-17 13:41:05 +01:00
Martin Piatka
d3a4785050 config_unix.h: Move IPv6 defs to compat/net.h 2026-02-17 13:16:43 +01:00
Martin Piatka
b2c4ff8783 utils/ptp: Fix header write
Fixes Coverity 900482
2026-02-17 11:34:18 +01:00
Martin Pulec
f28c5aaf4a CI Win Spout2: fix MinGW vtable incompat
This together with the previous commit should fix the
<https://github.com/CESNET/UltraGrid/issues/487> problem with current Spout
code (prebuild previous Spout 2-007-016 was used as a workaround until @^).
2026-02-17 10:57:15 +01:00
Martin Pulec
f230d35c52 Revert "CI Win: use pre-built Spout"
This reverts commit b300fa64f4.

we would need to patch the upstream Spout code
2026-02-17 10:56:34 +01:00
Martin Pulec
485851ffcd CI Linux FFmpeg: drop no longer needed workaround
added by the commit 98515da3 in 20th Jun 2025 - effectively reverted
(but the script was renamed in the meantime)
2026-02-17 10:14:27 +01:00
Martin Pulec
e4d3035c1f CI Arch Linux Docker test: add -u to -Sy
It seems like some install fail if we do not upgrade at the same time.

fixes the error:
<https://gist.github.com/MartinPulec/602c195ec03933f826668b3ec1239d02>

+ use more descriptive name for the CI step
+ drop final \ in the Dockerfile (as mentioned in the CI output linked above)
2026-02-17 09:32:22 +01:00
Martin Piatka
a6540e0316 compress/jpegxs: Send dummy frame on stop to prevent hang
If stop is requested when all sent frames are already received, the get thread gets stuck waiting on the blocking get_packet() call. Send a dummy frame to unblock it so that it can terminate gracefully.
2026-02-16 14:58:09 +01:00
Martin Piatka
618b895fcc compress/jpegxs: Limit queue sizes
Prevents queues growing boundlessly in case the encoder cannot compress fast enough
2026-02-16 14:16:10 +01:00
Martin Piatka
04c8afbc7c compress/jpegxs: Initialize member variables
Fixes crash when jpeg_compress_done is called before compressing any frames
2026-02-13 14:34:58 +01:00
Martin Piatka
11e83ddc07 decompress/jpegxs: Default initialize member variables 2026-02-13 14:34:53 +01:00
Jan Frejlach
368279abfd jpegxs: add author and copyright header 2026-02-13 14:01:06 +01:00
Jan Frejlach
89680e6423 jpegxs: handle input video reconfiguration 2026-02-13 14:01:06 +01:00
Jan Frejlach
f9f3f628a7 jpegxs compress: fix help message 2026-02-13 14:01:06 +01:00