this fixes CID 464474
Although quite serious, this didn't exhibit problem so far, because:
1. dump_tree is not so much often called
2. the mutex is recursive (doubtfull if it won't be better if they
weren't), so that this will be tolerant to re-locking from the same thread
Fixed correctly the problem that was incorrectly attempted by the
previous commit revert. should_exit doesn't need to be checked with the
main while loop because it is done by the inner one.
refers to CID 464439
Actually not much important - the m_started variable is not shared across
threads but should be used only from within the main thread (start()
stop() member functions).
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/).
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).
- 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)
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.
````
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)
Together with the previous revert commit fixes CID 464437.
In addition to incorrect change to unsigned, also parenthesis around
(height - 1) were missing.
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.
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.
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).
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.
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.
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).