Commit Graph

170 Commits

Author SHA1 Message Date
Martin Pulec
f7cc336cac decklink disp.: implemented timeout 2022-10-05 16:24:24 +02:00
Martin Pulec
00801fa3d4 video display: updated putf api - use timeout
Replace blocking/nonblock/discard flags with numerical timeout for
fine-grainer control of latency.

The original flags are kept as convenience macros so the API changes is
only small as long as non-block (default) or blocking is used.
2022-10-05 16:24:24 +02:00
Martin Pulec
02e52afa7b video display FPS ind.: provide name by module
Use name (MOD_NAME) provided by module rather than name given from
command-line. Those 2 may not match - in command-line it is
case-insensitive so ("gl" or even "gL" would be printed inestead of
expected "GL"). Also there may be input/output module of the same name
(eg. decklink) for which we may want to distinguish.
2022-09-27 15:52:28 +02:00
Martin Pulec
bd53ae9ac9 DeckLink disp.: timecode improvements
- use 16 bytes to be safe (compiler incorrectly warns)
- allocate temporary variable on heap
- improved asserts for assumed numeric ranges (counting with leap
  seconds)
2022-09-26 13:35:43 +02:00
Martin Pulec
19e8d968bf DeckLink cap./disp.: check profile for 3D
Verify if active profile is compatible with 3D mode - if not, suggest profile
change.
2022-09-22 08:19:07 +02:00
Martin Pulec
a6f95e3d63 DeckLink disp.: replace few error fprintfs 2022-08-17 17:27:44 +02:00
Martin Pulec
5aca271708 DeckLink disp.: audio connection name to separate func 2022-08-17 17:27:43 +02:00
Martin Pulec
144997a2d8 DeckLink: display warning that R10k is now limited 2022-08-17 17:27:43 +02:00
Martin Pulec
227488af99 DeckLink: convert R10k from/to limited range
BMD uses limited range for R10k codec (in opposite to UltraGrid), thus
input/output conversion is deployed.
2022-08-12 12:04:10 +02:00
Martin Pulec
7c28c15073 DeckLink disp.: display_decklink_putf reindent 2022-08-12 11:49:01 +02:00
Martin Pulec
16ce6b638a DeckLink disp.: handle PUTF_NONBLOCK and PUTF_DISCARD 2022-08-12 11:48:57 +02:00
Martin Pulec
443d6aacf2 blackmagic_common.h->hpp: contains only C++ funcs
The header contains only C++ linked functions thus mark it as such.
2022-08-11 17:17:24 +02:00
Martin Pulec
e4f56be955 prevent dangling lambdas
Prevent dangling parameter-less lambdas. Although it may not be so dangerous
(operator() should be a plain function in the end), it is not correct.
2022-07-14 09:29:15 +02:00
Martin Pulec
03481f570a DeckLink disp.: use generic FPS indicator
(Main motivation was to have the video capture visually more apparent if
having cap+disp+audio. This is now solved by the generic indicator so
use it.)
2022-06-30 16:41:41 +02:00
Martin Pulec
ae9ac7da07 video_display: added optional generic indicator 2022-06-30 16:41:40 +02:00
Martin Pulec
6729a8a1ad audio: use const audio_frame 2022-05-25 17:09:42 +02:00
Martin Pulec
396c445d2a DeckLink cap/disp: added keep-defaults opt
- also make create bmdDeckLinkConfigFieldFlickerRemoval non-fatal
2022-05-12 11:48:18 +02:00
Martin Pulec
b19d8daea4 DeckLink disp.: removed old SDK compat 2022-05-12 11:48:18 +02:00
Martin Pulec
e16a010764 DeckLink disp.: set keep last frame 2022-05-12 11:48:18 +02:00
Martin Pulec
efd1ccdb96 DeckLink: share configuration helper in header 2022-05-12 11:48:17 +02:00
Martin Pulec
3c285e808b DeckLink cap./disp.: help improvements
Improved help - hide rare options to "fullhelp" and let user know that
there is fullhelp more clearly.

+ [display] fixed audio_levels to be consistent with help ("mic", not
  "false")
2022-05-10 14:23:15 +02:00
Martin Pulec
39785a6058 BMD: implement get_bmd_api_str_from_cstr abstraction 2022-03-22 14:40:56 +01:00
Martin Pulec
7bace13948 DeckLink disp.: timecode support for Win 2022-03-22 14:40:56 +01:00
Martin Pulec
e7c07129b9 DeckLink disp.: reindent display_decklink_getf
Just remove a block by checking the init condition first (+ in opposite
case return nullptr instead of empty envelope).
2022-03-22 14:40:46 +01:00
Martin Pulec
f4053fcec5 DeckLink disp.: small cleanup
+ use high_resolution_clock instead of timeval for printing 5-sec FPS stats
2022-03-22 14:40:46 +01:00
Martin Pulec
571813689f audio under/overflows: be more verbose
Print actual numbers of underflow/underflow samples for better
diagnostics.
2022-03-14 11:33:34 +01:00
Martin Pulec
fff72f8f0a DeckLink cap.: Windows compilation fix
BMDVideoOutputConversionMode is enum in Windows (compared to uint32_t in
Linux) and thus the compiler complains about the int->enum cast.
2022-02-25 08:40:33 +01:00
Martin Pulec
9f762fb102 DeckLink disp.: fix not supported conversion mode
refers to GitHub issue #215
2022-02-24 16:19:44 +01:00
Martin Pulec
eae4c79844 DeckLink disp.: set signal as progressive (not-PsF)
Set signal as progressive (not-PsF) by default - previously the value
was not touched which may be a bit misleading when DeckLink outputs
actually interlaced signal.

Issue warning that the option is set and keep user opt out from setting
this value.
2022-01-20 09:27:30 +01:00
Martin Pulec
c24b76a7b0 Fixed a typo 2021-11-23 10:53:16 +01:00
Thomas Menari
c2978c0031 [decklink] fix stereo 3D supportedFlags 2021-11-08 16:00:22 -08:00
Martin Pulec
1b3b27eb7c Updated copyright dates for modified files 2021-11-08 15:43:14 +01:00
Martin Pulec
971dc3b2d0 DeckLink disp.: check for buffer underflow
+ fixed message for overflow
2021-10-01 08:13:35 +02:00
Martin Pulec
130ac934b4 DeckLink disp.: usage - missing closing ']' for HDR 2021-09-10 13:53:25 +02:00
Martin Pulec
8f557a97d6 Replaced audio/audio.h with audio/types.h includes
audio/audio.h should not be used as a catch-all header for audio.
2021-08-11 15:58:58 +02:00
Martin Pulec
3dd7a82a69 DeckLink disp.: use word "recognized" for pix fmts in help
There was "Supported pixel formats" which was a bit misleading since it
indicates that the pixel format is supported by UltraGrid but it doesn't
need to be supported by the card.
2021-06-17 17:04:45 +02:00
Martin Piatka
cbbc93340e capabilities: Report which devices support embedded audio 2021-03-15 14:59:54 +01:00
Martin Piatka
2255a71d67 capabilities: Make video and audio devices consistent
The .id field previously contained the module name for audio devices,
while it only contained options for video devices. To make things more
consistent there are now two fields: "module" which contains the module
name and "device" which contains only the parameters.
2021-03-12 13:48:03 +01:00
Martin Pulec
4fd1726111 DeckLink disp.: cumulative dropped/late/flushed stats
Thanks Ben Roeder
2021-02-03 14:27:53 +01:00
Martin Pulec
0839bedc7e DeckLink: fixed one Coverity warning 2020-09-21 14:34:03 +02:00
Martin Pulec
a76979ab80 DeckLink disp.: allow setting some HDR values 2020-08-17 10:08:24 +02:00
Martin Pulec
b3a954f130 DeckLink disp.: check color space metadata in HDR mode
Only display a warning if not supported
2020-08-14 11:37:08 +02:00
Martin Pulec
cdb462ae64 DeckLink disp.: HDR PQ typo 2020-08-14 10:10:32 +02:00
Martin Pulec
78304d0769 DeckLink disp.: fixed HDR check 2020-08-07 10:12:43 +02:00
Martin Pulec
710b1d7652 Revert to C++14
C++17 causes problems in Ubuntu 16.04 because increased C++ ABI version
(rather problem with GitHub runner compilers that were downloaded from
outside official repos - official clang-8 looked to work well).
2020-08-06 15:52:45 +02:00
Martin Pulec
1a6aa97339 DeckLink disp.: use vector for states 2020-08-05 14:03:37 +02:00
Martin Pulec
4cce89cf06 DeckLink disp.: debug print also other metadata
This is companion to fe1fa2c7 which printed only ints.
2020-08-05 14:03:37 +02:00
Martin Pulec
987ab568cc DeckLink disp.: check if HDR is available if requested 2020-08-05 09:40:30 +02:00
Martin Pulec
fe1fa2c72b DeckLink disp.: debug HDR metadata query 2020-08-05 09:23:41 +02:00
Martin Pulec
ba44dc5a35 DeckLink disp.: fixed parsing of "hdr=" option 2020-08-04 15:47:58 +02:00