Martin Pulec
c1d6bb84b0
DeckLink: continue if CoInit fails on diff. mode
2023-02-24 12:02:32 +01:00
Martin Pulec
c5395fe662
DeckLink drift fixer: set SoxR as default
2022-11-14 08:57:48 +01:00
Martin Pulec
d72f3fe8ff
DeckLink: BMD_CONFIG_SET_ACTION->BMD_CONFIG_SET
...
+ prepend '\t' to decklink display device (prettier)
2022-11-11 12:13:11 +01:00
Martin Pulec
a0adcad4cb
blackmagic_common: remove BMD_CONFIG_SET
...
BMD_CONFIG_SET is superseded by BMD_CONFIG_SET_ACTION (without hardcoded
"goto error;")
2022-11-08 16:49:37 +01:00
Martin Pulec
4834b1f76e
DeckLink disp.: hide modes if not fullhelp
...
The listing can be very long (especially for 8K Pro), hiding the actual
option syntax.
2022-10-26 13:45:44 +02:00
Martin Pulec
4362836515
DeckLink disp. updates: mostly pretty-print
2022-10-26 11:45:55 +02:00
Martin Pulec
366c826ec6
DeckLink disp.: replaced rang
2022-10-26 11:27:57 +02:00
Martin Pulec
45b815952b
DeckLink disp.: small updates
...
- try to minimize git diff with fc5f482 for DeckLink disp
- hide the resampler parameters to fullhelp
2022-10-26 09:20:50 +02:00
Martin Pulec
bbdc0efb0c
moved DeckLink drift related code to sep. file.
2022-10-26 09:20:50 +02:00
Martin Pulec
befb613532
DeckLink disp.: AudioDriftFixer - del default dct.
...
Removed default destructor - the values were hardcoded anyways, so use
brace-or-equals initializers directly.
2022-10-26 09:20:50 +02:00
Martin Pulec
787731fd96
DeckLink disp.: simplified parsing
...
rather hard-fail than silently continue (user may not see the message)
2022-10-26 09:20:50 +02:00
Martin Pulec
a6235673d5
DeckLink disp.: don't measure dur. of (audio) putf
...
Frame scheduling is clearly non-blocking but even the sync calls are
non-blocking - for video, next video frame is replaced, for audio, the
samples are written to ring buffer (with possible overflow). So the
numbers are almost everytime near zero.
2022-10-26 09:20:50 +02:00
Martin Pulec
45c33130ba
moved DecklinkAudioSummary calls to AudioDriftFixer
2022-10-26 09:20:49 +02:00
Martin Pulec
8039506d72
DeckLink disp.: simplify _init
...
this reverts the corresponding changes in db20fa3
2022-10-26 09:20:49 +02:00
Martin Pulec
44c77fa88e
fixed log levels
...
reverted some increased verbosity from merge
2022-10-26 09:20:49 +02:00
Martin Pulec
f224e62872
DeckLink disp.: disable resampler by default
2022-10-25 15:50:11 +02:00
Martin Pulec
1122cfe410
removed unused code after merge
2022-10-25 15:50:08 +02:00
Martin Pulec
14bff97622
Merge branch 'aw-sohonet-wip-deck-drift'
2022-10-25 15:47:31 +02:00
Martin Pulec
05aea72a3c
moved some functions from misc to text
...
moved text-related functions from utils/misc to utils/text
2022-10-13 09:16:16 +02:00
Martin Pulec
42b3fc1558
common handling of modules printing usage
...
Return a macro ((void *) 1) from modules returning pointer to signalize
that help was printed (for correct UG return value). This replaces the
old behavior when module class specific value (eg. &display_init_noerr)
was returned.
2022-10-12 12:05:19 +02:00
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
aw-sohonet
11efbce61e
Updated dynamic resampler to use SOXR
...
* Added soxr 0.1.3 as an external dependency (for the resampling code)
* Removed resampler quality parameter
* The decklink drift fixing class has been changed to be disabled by default. The help for the decklink has also been updated to include details about the dynamic resampling process.
* Stopped the dynamic resampler spamming the verbose log too much
2022-09-12 10:02:29 +01:00
andrew.walker
2a7931a154
Fixed a boolean being the wrong way around
2022-09-12 10:02:29 +01:00
andrew.walker
872e2eccd9
Updated the jitter values to be far more forgiving
2022-09-12 10:02:29 +01:00
andrew.walker
f94c55437b
Updated to fix some off by 1 errors which was causing major drifts in of itself.
2022-09-12 10:02:29 +01:00
andrew.walker
c2c405d899
Updated the decklink to always resample towards the target
2022-09-12 10:02:29 +01:00
andrew.walker
47190f9a0b
Have the decklink report stats more often
2022-09-12 10:02:29 +01:00
andrew.walker
54182f2c26
Fixed the correct way around for the time diff calculation
2022-09-12 10:02:29 +01:00
andrew.walker
e44130004f
Added some additional stats to capture
2022-09-12 10:02:29 +01:00
andrew.walker
64161f943e
Added comments to added functions that were missing them, and changed a log line to better reflect the error case it was covering.
2022-09-12 10:02:29 +01:00
andrew.walker
ecba755771
Updated to be able to variably set the minHz, maxHz, and target buffer fill for the audio drifting class
2022-09-12 10:02:29 +01:00
andrew.walker
a4ed6c685c
Updated audio summary struct variable name to be "audio_summary"
2022-09-12 10:02:29 +01:00
andrew.walker
6ac3c69df7
Moved the overflow code to be generic for both low-latency and non-low-latency. Made the summary output look more like other examples.
2022-09-12 10:02:29 +01:00
andrew.walker
474c7c6696
Resolved casting issues when the previous buffer has not been set for the first time.
2022-09-12 10:02:29 +01:00
andrew.walker
1ed3c8da09
Reorganised so that the class doesn't need a forward declaration and added some additional formatting.
2022-09-12 10:02:29 +01:00
andrew.walker
adbd605014
Added an audio summary class to the decklink to get periodic updates to various stats (resample count, etc).
2022-09-12 10:02:29 +01:00
andrew.walker
f674ea027c
Changed the code to average over a smaller amount of time. To have a slightly lower target fill count. To have a lower scaling of possible deltas in the sample rate (5-50 -> 1-5). The amount required to resample is now calculated as the distance from the boundary to the average buffer, not the distance from the target buffer to the average buffer.
2022-09-12 10:02:29 +01:00
andrew.walker
49c56395d5
Fixed floating point calculations to be correct when converting 32bit ints to floats. Fixed class names and initialisation of objects in the decklink state.
2022-09-12 10:02:29 +01:00
andrew.walker
c852f61579
Updated with comments and removal of some unnecessary log lines (and changing some to DEBUG). Added some tidying of the deck drift audio class that should make it more easily applicable to other cards. Changed so that now the audio drift class is always enabled (and that no_drift_fix) disables it's functionality.
2022-09-12 10:02:29 +01:00
andrew.walker
fb0ba11995
Updated to introduce threading for the channels in resampling
2022-09-12 10:02:29 +01:00
andrew.walker
ce03347236
Updated to have the fix in for tail buffer when the decompressed audio is 4 bytes per sample.
2022-09-12 10:02:29 +01:00
andrew.walker
6880a5a602
Added some additional debug for 32bit audio resampling.
2022-09-12 10:02:29 +01:00
andrew.walker
da436e47b0
Updated with some intial threading code and handling for 32bps audio resampling
2022-09-12 10:02:29 +01:00
andrew.walker
2727485c89
Removed set fps calls as they are no longer present. Fixed some casting issues to remove compiler warnings.
2022-09-12 10:02:29 +01:00
andrew.walker
aae91eb636
Added comments for the changes that were made to the resampling code and removed all unecessary log lines as part of the investigation into the code.
2022-09-12 10:02:29 +01:00
andrew.walker
bdf75e2276
Latest updates for working resampling
2022-09-12 10:02:29 +01:00