Commit Graph

9434 Commits

Author SHA1 Message Date
Martin Pulec
17dfd6eb86 vc_copylineABGRtoRGB: fixed wrong shifts
actually was for BGRA
2024-07-02 16:39:38 +02:00
Martin Pulec
0d3a15d7b1 vc_copyline{ABGR,RGBA}toRGB: shifts clarification
Replace _source_ r,g,b magic numbers and variables with new constants
indicating that the shift applies on input (not output as usual for the
rgb shifts in fnction declaration /for out RGBA only/).
2024-07-02 16:39:38 +02:00
Martin Pulec
b53a98ffc4 vc_copyline{ABGR,RGBA}toRGB: do not write out-of-bounds
Written is 16 bytes but the required allocate buffer is guaranteed only
12 bytes. Although there is a padding for the conversions in general,
it shouldn't be relied on, especciall when the rest is computed without
the vector instruction (needless if we rely on the fact that there is
additional space in buffer - we could then do one more iteration if not
aligned on the blk instruction boundaries).
2024-07-02 16:39:37 +02:00
Martin Pulec
d5824e2dc1 pixfmt_conv ->RGB fixes
- guard vc_copylineRGBAtoRGBwithShift() with #ifndef __SSSE3__ (otherwise not used)
- moved the UNUSED() to common part (readibility - to indicate that the
value doesn't matter in either #ifdef branch)
- fixed computing last words (dereferenced uchar but should have been uint32_t)
2024-07-02 16:39:30 +02:00
Martin Pulec
ef0b63feaa fixed some Coverity bugs
Fixed CID 464432
2024-07-02 16:36:13 +02:00
Martin Pulec
4e63c0ce8b vcomp/lavc: use fast-decode=1 for libsvtav1
set fast-decode as suggested by SVT AV1:
```
Svt[warn]: If you are using tiles with the intent of increasing the
decoder speed, please also consider using --fast-decode 1, especially if
the intended decoder is running with limited multi-threading capabilities.
````
2024-07-02 16:36:12 +02:00
Martin Pulec
fa8bb8ca8e vcomp/lavc libsvtav1: do not set pred_struct=1
currently it causes following error:
```
Svt[error]: VBR Rate control is currently not supported for SVT_AV1_PRED_LOW_DELAY_B, use CBR mode
```

Setting the CBR mode is currently not possible with current FFmpeg patch
- only possibility is to set rc_max_rate=bit_rate ([1] but this triggers
another error:
```
Svt[error]: Instance 1: Max Bitrate only supported with CRF mode
Svt[error]: CBR Rate control is currently not supported for SVT_AV1_PRED_RANDOM_ACCESS, use VBR mode
```

It is also not clear if the pred-struct set to SVT_AV1_PRED_LOW_DELAY_B
has some impact in situation when UG does not use B frames.

[1]: 5d54a25eea/libavcodec/libsvtav1.c (L224)
2024-07-02 16:36:10 +02:00
Martin Piatka
76e3db8029 pixfmt_conv.c: Fix undeclared x when building without SIMD 2024-07-02 16:17:32 +02:00
Martin Piatka
6618547e22 pixconv_fmt.c: Fix another typo 2024-07-02 16:05:31 +02:00
Martin Pulec
bee8b925e0 vcomp/cineform: fixed crashing RGB
Together with the previous revert commit fixes CID 464437.

In addition to incorrect change to unsigned, also parenthesis around
(height - 1) were missing.
2024-07-02 14:41:07 +02:00
Martin Pulec
2b5a23f87e Revert "Cineform: Windows warning fix"
This reverts commit 45d0bfb615.
2024-07-02 14:41:07 +02:00
Martin Piatka
ab49c978e4 pixfmt_conv: Fix compilation without SSE 2024-07-02 12:58:42 +02:00
Martin Piatka
b2c79c2fda tools/Makefile: Remove sse4.1 flag
So that compilation on ARM keeps working
2024-07-02 12:56:57 +02:00
Karel Šebela
3cde2f1ba0 pixfmt_conv.c: RGB <-> RGBA SIMD
Reduces time per 4k frame from 9 ms to about 5 ms.
2024-07-02 12:56:16 +02:00
Martin Pulec
b10cbf5c1c export: small simplification
use pares_options always (even with NULL)
2024-07-01 13:53:29 +02:00
Martin Pulec
894bd3afa6 export: allow opts without directory name
allow `uv --record=limit=3:exit_on_limit` (using autmoatic directory export.<date>)
2024-07-01 13:48:35 +02:00
Martin Pulec
0a0b14e2c6 video_rxtx: don't unregister callb. if not regist.
Do not unregister the should_exit callback if not registsterd. This
occurs eg. when invalid host was entered, like: `uv blah`.
2024-06-28 10:01:02 +02:00
Martin Pulec
b4bf412a7a print RR more briefly
The line was needlessly chatty and thus harder to read. Currently,
it is a bit more techical but (IMO) somehow easier to read. Since
  it is printed in VERBOSE mode or higher, there should be no problem.
2024-06-26 14:33:36 +02:00
Martin Pulec
e6473a01dd AppRun Firejail: allow Avahi over D-bus
needed for NDI discovery
2024-06-26 14:33:24 +02:00
Martin Pulec
3685805e68 vcap/testcard2: try also Monaco.dfont as mac font
Some macs doesn't have Monaco.ttf, in which case Keyboard.ttf is usually
selected, which is not monospace and doesn't have a symbol for ':'.

The mac, where Monaco.ttf is missing usually have Monaco.dfont, that
can be directly used, so added it to font_candidates.
2024-06-26 11:14:24 +02:00
Martin Pulec
bb24cb5c54 vcap/testcard2: improved font err msg
error was printed instead of font name - print both now
2024-06-26 11:14:24 +02:00
Martin Pulec
11f502cf46 vcap/testcard2: print used font
\+ print (unsuccessfully) tried fonts in verbose
2024-06-26 11:13:49 +02:00
Martin Pulec
be8ef1c9d9 configure: summary - in-sort DRM, Pipewire 2024-06-26 10:52:45 +02:00
Martin Pulec
477103ef9d vcap/testcard2: fixed including
do not include config_*.h (but config.h still - needed for HAVE_ macros)
2024-06-26 10:48:22 +02:00
Martin Pulec
154cf15a04 configure: print presence of sdl[2]_ttf 2024-06-26 10:26:22 +02:00
Martin Pulec
f64f05a3c7 vcap/ndi: DNS-SD is required for NDI discovery (msg)
To be preciese, not mDNS but DNS-SD is required to NDI discovery,
i.e. avahi-daemon is required in Linux, although systemd-resolved is
mDNS capable.
2024-06-25 15:58:54 +02:00
Martin Pulec
e0f1bc8b0b vcap/ndi: usage - print help on separate line
The ":help" was printed out twice, anyways - first mixed together with
other options and then with extra_ip (to enforce sender ip adddr to
source listing).
2024-06-25 15:24:30 +02:00
Martin Pulec
16150dc8c1 CI mac: do not install NDI lib
not needed and removing it simplifies the stuff greatly
2024-06-25 15:11:59 +02:00
Martin Pulec
8d9c9391f9 ndi_common: increment USE_NDI_VERSION to 6
just a default value

Actually, not much is influenced by that change, since it has been 5 (by
default) and the version 6 keeps v5 API, so that the entrypoint remains
`const NDIlib_v5* NDIlib_v5_load(void);` (not 6).

Only functional change is updated fallback path in MSW.
2024-06-25 15:08:30 +02:00
Martin Pulec
1a153c22d5 vcap,disp/ndi: print version in init 2024-06-25 15:08:29 +02:00
Martin Pulec
91a9e020dd ndi: do not include config*.h 2024-06-25 15:08:29 +02:00
Martin Pulec
09eb5411ed print NDI ver: use NDIlib_version()
Note that the printed now is the runtime version, while in the previous
version it wash the version used (just) for the compilation. Current
inmplementation seem to be better, anyways.
2024-06-25 15:08:29 +02:00
Martin Pulec
3c7a75f486 ndi_common: do not call dlerror() second time
Do not call dlerror() second time - the function actually clears the
error status, so that the second call returns NULL (printing with '%s'
is actually UB).
2024-06-25 15:08:29 +02:00
Martin Pulec
b57680dd68 CI: suppress brew list output for uninstalled
the message: `Error: No such keg: /opt/homebrew/Cellar/asciidoctor`
is now print on stderr, which disturbs GitHub CI (complains about it in
action summary annotations; just a warning).
`
2024-06-25 15:08:29 +02:00
Martin Pulec
11887dd946 updated NDI copyright
Updated copyright as per current version at:
<https://docs.ndi.video/docs/sdk/licensing>
2024-06-25 15:08:29 +02:00
Martin Pulec
ce0ed361c8 CI NDI: use v6 2024-06-25 15:08:29 +02:00
Martin Pulec
b88d0c4218 CI NDI: do not repeat downloads in install scripts
NDI SDK should be already downloaed from the step before in the YAML.
2024-06-25 15:08:26 +02:00
Martin Piatka
07ed6ce45c audio: Make it clear that channel map applies only to receiver 2024-06-25 13:48:45 +02:00
Martin Piatka
141832b1f0 audio_decoders: Print error when remapping nonexistent audio ch. 2024-06-25 13:48:45 +02:00
Martin Pulec
c8b1e6859d CI Linux FFmpeg: patch VP9 FFmpeg patch
temporarily again incompatible with current FFmpeg HEAD
2024-06-25 09:38:22 +02:00
Martin Pulec
9e0575239b vcomp/cmpto_j2k: mct opt parse fix
Fixed the commit 27bfe2fc (2020-05-29) which added option nomct, but
switched the meaning of nomct and mct by mistake.
2024-06-17 11:03:43 +02:00
Martin Pulec
e494106bba moved strdupa from compat/misc to strings
\+ missing include guard
2024-06-12 14:26:34 +02:00
Martin Pulec
f01e4c36b7 moved around compat functions
moved compat functions from config_*h, namely:
- localtime_s/gmtime_s
- strerror_s
- mkdir Windows compat
- removed str[n]cmp from compat/misc (already in compat/strings,h,
which is the better location)

Do not use config*.h in export.c (motivation for the above changes).
2024-06-12 14:02:42 +02:00
Martin Pulec
44665ba19d export: added option exit_on_limit
In conjunction with "limit" useful for testing (namely to documentation
purposes, eg. on GH).
2024-06-12 13:33:29 +02:00
Martin Pulec
9eb292252e CI Linux arm: use common build flags
Some features that are used by x86_64 Linux build are disabled, for the
rest dependencies are installed.

disabled:
- CUDA features (except of NV Jetson usually there is no CUDA)
- lavc vdpau (similar to CUDA, it is primarliy NV-focused API)
- Qt GUI
- Cineform (doesn't compile on ARM)

dependencies installed:
- libsdl2-ttf-dev
- libsdl2-mixer-dev
- libva-dev
2024-06-12 10:57:52 +02:00
Martin Pulec
e7014492b7 CI Linux arm: fixed drm option 2024-06-12 10:23:11 +02:00
Martin Pulec
a7a0b88d15 deck: added a param to enforce old sort
Added `--param bmd-sort-natural` to enforce old devices' sorting in help +
display the old indices instead of new ones. Numeric indices can be used
regardless the option (althoug hidden by default).
2024-06-12 10:23:07 +02:00
Martin Pulec
342c42c1f3 deck: print dev numeric indices in fullhelp 2024-06-12 09:41:53 +02:00
Martin Pulec
80e9d01d2d com_initialize: warn if not false
The guard value should be used only for one pair of
com_initialize/uniniialize call, so ensure it by checking if the value
is initialized to false.

It should be possible to use an int instead but there is currently
no need.

Set the occurences to false explicitly (in the case of vcap/deck change
from true to false).
2024-06-12 09:41:53 +02:00
Martin Pulec
8d314ace03 bmd_get_sorted_devices: create iterator internally
This eliminates the need to recreate the iterator if another traversal
is required.
2024-06-12 09:41:53 +02:00