Commit Graph

191 Commits

Author SHA1 Message Date
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
740e58aa7d DeckLink cap.: small reindent
return early if error
2022-09-21 16:30:03 +02:00
Martin Pulec
eda74a8069 DeckLink cap.: notice if enabled stream is stereo 2022-09-21 15:23:18 +02:00
Martin Pulec
cf95a317c4 DeckLink cap.: prefix mesages with MOD_NAME 2022-09-21 15:23:17 +02:00
Martin Pulec
5b88d241ce DeckLink cap.: remove unneeded messages
those doesn't tell anything particularly interesting, merely spam output
2022-09-21 15:23:17 +02:00
Martin Pulec
a27f816395 DeckLink cap: warn if 3d req but not detected
Warn in VideoInputFormatChanged also if 3d was requested but not
detected (before only the opposite case was handled).
2022-09-21 15:23:17 +02:00
Martin Pulec
d958bf03a4 DeckLink cap: VideoInputFormatChanged - print flags
print what has changed
2022-09-21 15:23:17 +02:00
Martin Pulec
3f91d4a97c DeckLink cap.: refactorized init
Moved individual device initialization into device_state::init.
2022-09-21 15:23:17 +02:00
Martin Pulec
1551e9f967 DeckLink cap.: replace rang occurences 2022-09-21 15:23:17 +02:00
Martin Pulec
d9207b97a3 DeckLink cap.: Co[Un]Initialize call changes
Called in constructor/desctructor.

+ create_decklink_iterator: call CoUninitialize if
  CoCreateInstance(CLSID_CDeckLinkIterator...) fail
2022-09-21 15:23:17 +02:00
Martin Pulec
1973687c7d Revert "create_decklink_iterator: removed coinit parameter"
This reverts commit b71e55e3cb544ea8eec77d3f721cd9c82b2fcd65.
2022-09-21 15:23:17 +02:00
Martin Pulec
3960aef0c3 create_decklink_iterator: removed coinit parameter
CoInitializeEx can be called multiple times returning S_FALSE so there
is no point to differentiate whether or not to call.

+ call CoUninitialize if CoCreateInstance(CLSID_CDeckLinkIterator...) fails
2022-09-21 15:23:16 +02:00
Martin Pulec
d7bd504eb1 DeckLink cap.: init - small improvements 2022-09-21 15:23:16 +02:00
Martin Pulec
b1f0e004f4 fixed new Coverity bugs
Fixed some of (easy) newly detected Coverity bugs. Those are mostly
innocent ones (performance) and not new (detected because of new release
of Coverity).
2022-08-22 09:57:16 +02:00
Martin Pulec
515df310c1 DeckLink cap.: use RELEASE_IF_NOT_NULL
+ fixed message formulation
2022-08-19 09:05:22 +02:00
Martin Pulec
a7c7571c4e DeckLink cap.: replace fprintf with logger 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
65557d112d get rid of rang.hpp dependency through color_out.h
Removed indirect dependency on rang.hpp through color_out.h. Now only
remaining dependencies on rang.hpp are direct.

+ fixed escape sequence for foreground magenta
2022-08-17 17:24:34 +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
c18e2b4d75 DeckLink cap.: small refactor 2022-08-12 09:50:50 +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
555935afa1 vidcap_decklink_grab: simplified
- do the RGBA conversion only once (not in all branches)
- exit early if some tile was not captured
2022-08-10 09:58:42 +02:00
Martin Pulec
056bb92619 DeckLink disp.: use unique_ptr for VideoDelegate
was leaked before
2022-07-21 13:34:10 +02:00
Martin Pulec
fffaadefe1 DeckLink cap.: further use RELEASE_IF_NOT_NULL 2022-07-21 13:27:56 +02:00
Martin Pulec
2368d779cd DeckLink cap.: release decklinkAttributes
(+ removed needless /but harmless/ repeated releasing of
   decklinkConfiguration)
2022-07-21 13:14:44 +02:00
Martin Pulec
5401043afe DeckLink cap.: small refactor 2022-07-20 15:59:08 +02:00
Martin Pulec
630f63217f DeckLink cap.: fixed some leak 2022-07-20 15:48:29 +02:00
Martin Pulec
dc826b52ce added BMD_STR->std::string func
+ use it in recent code
2022-07-20 14:23:04 +02:00
Martin Pulec
8e12a29ddf DeckLink cap.: supress IDeckLinkDisplayMode::GetName fail
For a reason, this sometime fail resulting to following error:

    [DeckLink capture] set_display_mode_properties: out of memory

+ release_bmd_api_str: NOOP if nullptr passed (can be now the case since
  the code is more permissive)
2022-07-20 14:23:04 +02:00
Martin Pulec
3b1b3d6dab DeckLink cap.: use generic FPS indicator 2022-06-30 16:41:39 +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
efd1ccdb96 DeckLink: share configuration helper in header 2022-05-12 11:48:17 +02:00
Martin Pulec
2345e0e939 DeckLink cap.: set passthrough to false by default
Passthrough mode may be a bit unexpected in some cases, thus disable it
by default. More often it is perhaps not desirable than the opposite.
2022-05-10 16:14:18 +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
c11db7e49f DeckLink cap.: deprecated link
The option actually sets output, not input link configuration.
Do not set anything by default but leave it as an option for now.
2022-04-01 13:09:08 +02:00
Martin Pulec
435efcb63f DeckLink cap.: explicitly initialize state attrs
Now it is value-initialized but explicit initialization is more clear
and prevents vars becoming uninitialized if someone happens to write a
constructor.
2022-04-01 10:49:13 +02:00
Martin Pulec
451fbcc33c DeckLink cap.: set conn explicitly to Unspecified
bmdVideoConnectionUnspecified is still 0 but it makes it clear that the
value is recognized by BMD API (as opposite to 0 in conversion mode).
2022-04-01 10:28:55 +02:00
Martin Pulec
c949154c54 DeckLink cap.: use bmdNoVideoInputConversion for check
Although the conversion shouldn't be set (see #215), still a valid value
('none' here) must be used for the check.

Fixes #221
2022-04-01 10:28:37 +02:00
Martin Pulec
9c4bb885cc DeckLink cap.: fail if not able to set val
These values are now now only set if user explicitly requests, thus let
it fail if not able to set.
2022-02-25 08:41:48 +01:00
Martin Pulec
48db3e11fb DeckLink cap.: do not set connection and conversion
Do not set connection and conversion unless user specifies explicitly.

+ moved the set/check stuff to macro
2022-02-25 08:41:48 +01:00
Martin Pulec
40b57bb793 DeckLink cap.: moved initializers directly to struct 2022-02-25 08:41:47 +01:00
Martin Pulec
2cb2146c9e DeckLink cap.: print device name more highlighted 2022-01-28 09:26:32 +01:00
Martin Pulec
fa2bea1fb5 DeckLink cap.: make help more dense
- do not print device modes + connections - usually not needed because
  there is signal autodetection with recent DeckLink cards and user
  usually knows the connection directly
- print available color space more dense

The outcome is that the output fits (usually) one screen while avoiding
unnecessary items (but print all possible connections).
2022-01-26 16:31:32 +01:00
Martin Pulec
2521925c87 DeckLink: return to default BPS == 4
This partially reverts 2a511d58. The value 4 should be default now (best
quality), BPS==2 should be perhaps set later by a preset (after/if
implemented).
2021-11-08 09:22:32 +01:00
Martin Pulec
3519d22f06 DeckLink cap.: refactor audio init a bit 2021-10-14 10:52:46 +02:00
Martin Pulec
2a511d58f5 DeckLink cap.: default audio BPS is 2 (originally 4)
When uncompressed it requires less bandwidth and it is more suitable for
compression and/or further processing.

+ fail if audio BPS or sample rate is invalid rather than displaying
  only a warning
+ removed unused FRAME_TIMEOUT
2021-10-14 10:52:43 +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 Piatka
eab94c12c0 Remove some unused includes
Removes some unused includes reported by include-what-you-use
2021-06-08 15:22:25 +02:00
Martin Pulec
b97dc5ffda Fixed some Windows warnings 2021-05-13 09:08:26 +02:00
Martin Piatka
cbbc93340e capabilities: Report which devices support embedded audio 2021-03-15 14:59:54 +01:00