Martin Pulec
ae5ac7b843
DeckLink: deprecate audio_level option
2023-10-17 12:45:28 +02:00
Martin Pulec
050edb6d94
DeckLink: set audio levels via bmd_option
2023-10-17 12:40:01 +02:00
Martin Pulec
27c09ebb12
DeckLink audio_level: unified handling
...
+ [display] string "false" was incorrectly evaluated as true (missing
comparison of strcasecmp with zero)
2023-10-17 12:39:55 +02:00
Martin Pulec
fd1d808d66
print supported pixfmts also for DeckLink capture
2023-10-10 16:07:04 +02:00
Martin Pulec
e4f50f5318
fixed Coverity CID 41653{4,5}
2023-08-08 11:35:09 +02:00
Martin Pulec
aeb1be31a1
bmd_option: decrease log lvl on E_NOTIMPL
...
Decrease log level for implicit options returning E_NOTIMPL to info -
perhaps not important at all (like passthrough on old devices) and we
do not want to decrease user attention to warning.s
2023-08-02 15:41:09 +02:00
Martin Pulec
2073a173b8
bmd_option: print val in both dec and hex
...
Usually decadic is better representation but we don't know in general,
so print both.
2023-06-26 12:06:34 +02:00
Martin Pulec
9585480c56
vidcap testcard: remove no nonger used midi_buf
...
Testcard doesn't longer play a MIDI, this has been moved to audio
capture sdl_mixer.
2023-05-19 08:37:59 +02:00
Martin Pulec
439eab1256
bmd_option: renamed option_write -> device_write
...
"option" is redundant here, because it is already in type name and using
"device" instead indicates more clearly that it gets written to the
device.
2023-05-17 11:42:05 +02:00
Martin Pulec
72df5c0c79
bmd_option::option_write: mod specific log prefix
...
When writing option log message, use module specific prefix, eg.
"[DeckLink display] " instead of just "[DeckLink] ".
2023-05-17 11:42:02 +02:00
Martin Pulec
34853fc198
fixed CID 407684
2023-05-10 09:53:02 +02:00
Martin Pulec
aefae0b5b8
bmd_option::parse: allow explicitly typing options
...
Allowing values like '1234' (FCC) or "strn" (string) that would be
otherwise parsed as int and FourCC in second case.
2023-05-10 09:24:19 +02:00
Martin Pulec
0f37cabf1f
DeckLink: allow setting string properties
...
eg.: bmdDeckLinkConfigDeviceInformationLabel ('dila')
2023-05-10 08:52:03 +02:00
Martin Pulec
834ff43d5e
bmd_option: allow setting of floating point props
...
this may be useful for things like bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 ('aos1')
2023-05-10 08:52:03 +02:00
Martin Pulec
97e35083f2
bmd_option::parse: allow negative integers
...
bmdDeckLinkConfigBypass ('byps') allows setting -1
2023-05-10 08:52:02 +02:00
Martin Pulec
455c8542cb
DeckLink cap.: allow arbitrary option
...
Allow passing of arbitrary option to DeckLink configuration, eg.:
uv -t decklink:cptm=pdir
via FourCC option name and value (may be also a flag or an int). The
option is passed directly to BMD API.
2023-05-10 08:52:02 +02:00
Martin Pulec
99374917f2
blackmagic_common: print failed option value
2023-05-10 08:52:02 +02:00
Martin Pulec
183d175d73
fixed some of new Coverity issues
2023-05-10 08:52:02 +02:00
Martin Pulec
65eadce92d
restored ostream flags should be set with flags()
...
Previously, setf() was used but flags() is better because it restores
exactly the previous state.
2023-05-10 08:52:01 +02:00
Martin Pulec
9356dec8ab
bmd: small improvements
2023-05-05 09:08:00 +02:00
Martin Pulec
d7485f2eb1
bmd_option: mark 2 fncs as const
...
member functions is_default() and keep() are marked as const
2023-05-05 08:50:15 +02:00
Martin Pulec
a511c9f24b
DeckLink disp.: turn other features into bmd_option
2023-05-05 08:50:15 +02:00
Martin Pulec
9788dcfc98
DeckLink disp.: use bmd_options also for SDI level A/B
...
Removed unneeded check if device supports 3G-SDI level A option - if it
doesn't, the setting would simply not succeed.
2023-05-05 08:50:15 +02:00
Martin Pulec
4b30869ec5
DeckLink cap.: print human readable connection with bmd_opt
2023-05-05 08:50:15 +02:00
Martin Pulec
215ee42481
DeckLink: use bmd_option for profile_req
...
+ [disp] the condition `s->profile_req == bmdProfileOneSubDeviceHalfDuplex`
was probably inverted - there should perhaps be unequality, because if
not set otherwise, that option is set for quad-link by default
2023-05-05 08:50:15 +02:00
Martin Pulec
6c404e8e50
bmd_option::parse_int: parse keep opt
2023-05-05 08:50:14 +02:00
Martin Pulec
7aaf528c0e
DeckLink disp.: set link via options
...
+ when setting the profile automatically, use detected/actual link
configuration to check quad-link, not use the value set by us (may be
set in BMD settings)
+ sort conf_name_map alphabetically
2023-05-05 08:50:14 +02:00
Martin Pulec
91374fffee
DeckLink disp.: handle more opts generically
...
+ do not set the opts if keep option was selected
2023-05-05 08:50:14 +02:00
Martin Pulec
ba9b71bb64
DeckLink: get rid of BMD_CONFIG_SET macro
...
using bmd_option instead
2023-05-04 14:39:21 +02:00
Martin Pulec
824efaf6ad
DeckLink disp.: use bmd_options
2023-05-04 14:39:21 +02:00
Martin Pulec
5cf2e7d87e
DeckLink cap.: removed use the bmd_opt also for PsF setting
2023-05-04 14:39:21 +02:00
Martin Pulec
7409e352e0
DeckLink cap.: use bmd_option to set input connect
2023-05-04 14:39:14 +02:00
Martin Pulec
e47568128c
DeckLink: created bmd_option type
...
Created bmd_option type that is basically a variant (tagged union) to
encapsulate possible configuration values and also special values for
default and keep. Having this previously in int is cumbersome because
the special values as were defined (0, -1) collide with the default
semantics of bool.
2023-04-20 13:19:57 +02:00
Martin Pulec
cf825ecea2
DeckLink cap/disp: added full-duplex parameter
...
It actually sets `profile=1dfd`. This is a complement to already
existing `half-duplex` option (that has on the other hand more more
complex semantic - it chooses the profile tailored for the device, since
the right one differs for eg. 8K Pro /4dhd/ and Duo/Quad 2 /2dhd/).
2023-04-20 13:19:51 +02:00
Martin Pulec
d2aaef7942
DeckLink cap: pretty print mode
...
align:
- mode indices
- FPS
- flags (color-space first, because it is always present; 3D after)
2023-04-14 15:30:22 +02:00
Martin Pulec
a1e7c417ec
DeckLink profiles: be more verbose about profiles
...
When profiles switching is required, it may be the important part so it
may be useful to print info which profile is active or being activated
even if there is no fail.
2023-04-14 15:07:06 +02:00
Martin Pulec
598ae7c4bf
DeckLink: no warn if setting 3D profile not avail
...
BMD Extreme 4K doesn't support profiles so do not warn (only in verbose)
if setting failed, provided that the profile was not selected
explicitly and query was E_NOINTERFACE.
2023-04-14 12:50:41 +02:00
Martin Pulec
a8045839dc
DeckLink: set device to 1-dev-full-dup for 3D
...
Set 1-subdevice-full-duplex for 3D mode as it seems to be the only
supported (1 device half-duplex would work as well but it doesn't seem
to support 2 streams while full-duplex supports at least 2 streams in
the opposite direction, at least for 8K Pro).
2023-04-13 14:04:32 +02:00
Martin Pulec
297593889e
DeckLink: improved profile help
...
print also descriptions and affected devices
2023-04-13 14:04:31 +02:00
Martin Pulec
9eeff27085
DeckLink cap,disp: print display mode flags
...
print all known display mode flags, not only 3D support
2023-04-11 11:52:17 +02:00
Martin Pulec
4fe552f225
use common com_[un]initialize
2023-02-24 16:06:42 +01:00
Martin Pulec
8df499ffac
merged utils/hresult to utils/windows
...
These 2 files are relatively small and coherent.
+ fixed hresult_to_str not returning anything on RPC_E_CHANGED_MODE
2023-02-24 15:00:00 +01:00
Martin Pulec
39af5e01df
moved CoInitialize stuff outside bmd_common
...
this code may be useful in general
2023-02-24 14:48:07 +01:00
Martin Pulec
96778ce782
decklink_initialize: print textual represenation of error
2023-02-24 13:23:25 +01:00
Martin Pulec
50655d4dbc
blackmagic_api_version_check: use decklink_[un]initialize
2023-02-24 12:02:32 +01:00
Martin Pulec
c1d6bb84b0
DeckLink: continue if CoInit fails on diff. mode
2023-02-24 12:02:32 +01:00
Martin Pulec
73176ea568
bmd_hresult_to_string: common COM errors handling
...
Factor out common errors to hresult.h header. If not running on Windows,
use that subset. Vice versa use hresult_to_str directly because it can
catch more Windows-specific errors.
2023-02-24 12:02:31 +01:00
Martin Pulec
48ddd23ae1
blackmagic_common.cpp profiles: fixed notification
...
CID 401453
2022-10-21 08:18:39 +02:00
Martin Pulec
2e5dc112df
blackmagic_common.cpp: missing return
2022-09-26 11:51:18 +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