Commit Graph

5894 Commits

Author SHA1 Message Date
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
f57c395c31 Removed some unecessary log lines from when the remainder from a resample is added. 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
c5b31b28f9 Added missing commit 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
5ead15ea16 Removed unnecessary calls to check for zero data 2022-09-12 10:02:29 +01:00
andrew.walker
bdf75e2276 Latest updates for working resampling 2022-09-12 10:02:29 +01:00
andrew.walker
8c33acd369 Added latest audio resampling code 2022-09-12 10:02:29 +01:00
aw-sohonet
007331eb8b Updated audio resampling calculation to be correct 2022-09-12 10:02:29 +01:00
andrew.walker
7af5c4973c Updated jitter to be 50 2022-09-12 10:02:29 +01:00
andrew.walker
db20fa3b47 Updated the decklink with resample changes 2022-09-12 10:02:29 +01:00
Martin Pulec
d4f92041df 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-09-12 10:02:29 +01:00
Martin Pulec
44ae96d359 audio decoder: added option soft-resample 2022-03-31 12:00:16 +02:00
Martin Pulec
20f3c83ca4 DO NOT MERGE DeckLink disp.: added deck_audio_drift_fixer 2022-03-31 12:00:16 +02:00
Martin Pulec
011c28a83b messaging: added msg_universal C++ constructor 2022-03-31 12:00:16 +02:00
Martin Pulec
0354ac4b30 Audio decoder: allow slight sample rate adjust 2022-03-31 12:00:16 +02:00
Martin Pulec
10eb7f5662 resampler: added audio_frame2::resample_fake 2022-03-31 12:00:15 +02:00
Martin Pulec
f84c5ec859 VideoToolbox: offer also P210
If decoding to swformat fails, try to use also P210 depending. It is
used if >8 bits video is present, otherwise UYVY is preferred.
2022-03-30 16:51:35 +02:00
Martin Pulec
a56a8c9c0b Fixed MSG_NOSIGNAL compat (defined in macOS 2022-03-30 16:51:34 +02:00
Martin Pulec
b1a7806896 CoreAudio play.: removed unused var 2022-03-30 16:51:34 +02:00
Martin Pulec
d23b92af70 configure.ac, macOS: silence OpenGL API deprecation
Perhaps the whole OpenGL stack is deprecated since macOS 10.14.
2022-03-30 16:51:29 +02:00
Martin Pulec
73f6b5288b holepunch: small Win improvements
- use fd_t for sockets - it is ULONG in Win
- use CLOSESOCKET abstraction instead of close() - in Windows close
  doesn't work on sockets
2022-03-30 14:45:22 +02:00
Martin Pulec
585e95ad20 Makefile: remove unneeded includes 2022-03-30 14:05:13 +02:00
Martin Pulec
3a175fce0e Makefile: CUDA_INC to CUDA compiler instead of INC
Passing the parameter to MSVC compiler causes MinGW headers to be
used which causes compilation fail.

See:
https://github.com/CESNET/UltraGrid/actions/runs/2059190533
2022-03-30 14:05:13 +02:00
Martin Pulec
e0eae76bc5 fec.cpp: replace assert with uncoditional version
Define UG_ASSERT as an unconditional complement to classic assert that
may be skipped if NDEBUG is defined (although it is not so in UG).

This was mainly to skip a clang warning.
2022-03-30 14:05:13 +02:00
Martin Pulec
abfd209be4 FFmpeg P210 compat
+ silenced cast warnings (check with asserts)
2022-03-30 14:05:11 +02:00
Martin Pulec
c31b576cd4 Added p210le_to_uyvy compat
This is mostly compatibility function to allow legacy decoding to UYVY
if the display is not capable to display 10-bit YCbCr.
2022-03-29 16:23:39 +02:00
Martin Pulec
a7c775ba84 lavc: set reasonable BPP for AV1,ProRes
Bits per pixel should not be 0 - it is a C&P from above 2 codecs.
However, it didn't hurt much - encoder should have used some reasonable
default for 0.
2022-03-29 16:23:37 +02:00
Martin Pulec
0e89cdea2c Fixed AV_PIX_FMT_P010LE->v210 conversion
- it used only 8 bits and perhaps it didn't work at all
- also there was missing shift for last Y in v210 block
2022-03-29 16:22:42 +02:00
Martin Pulec
1103e248d1 Added AV_PIX_FMT_P210LE<->v210 conversions 2022-03-29 16:22:41 +02:00
Martin Piatka
54325bb786 Remove GLM submodule 2022-03-29 13:41:21 +02:00
Martin Piatka
b3389d1c56 Github CI: Install GLM from repositiories 2022-03-29 13:41:21 +02:00
Martin Piatka
eb8dd905d0 lavc: Add some av1 defaults 2022-03-29 13:41:21 +02:00
Martin Piatka
acd2316649 lavc: Match "libsvt" instead of "libsvt_"
AV1 SVT encoder is "libsvtav1", while HEVC SVT is "libsvt_hevc"
2022-03-29 13:41:20 +02:00
Martin Pulec
f60970b51c VideoToolbox: try also AV_PIX_FMT_UYVY422 as SW fmt
Aside of AVCodecContext::sw_pix_fmt try to initialize with
AV_PIX_FMT_UYVY422 if init failed. The SW format doesn't need to be
supported by VideoToolbox, eg.:

    uv -t testcard -c --param use-hw-accel -d dummy \
      libavcodec:encoder=libx265:disable_intra_refresh:subsampling=422

AVCodecContext is set to AV_PIX_FMT_YUV444P which is not one of
supported codecs listed here:

5ee198f9aa/libavutil/hwcontext_videotoolbox.c (L81)
2022-03-28 19:16:30 +02:00
Martin Pulec
c91d346c2c lavd: move videotoolbox_init to sep. file 2022-03-28 16:22:53 +02:00
Martin Pulec
b42b30a0e9 lavd videotoolbox: fixed warnings 2022-03-28 16:22:53 +02:00
Martin Pulec
431b2ba6dd lavd: wrong condition for PRORES 2022-03-28 16:22:52 +02:00
Martin Pulec
9e258beddc lavcd fixed non-420 subsampling warning
The improvement introduced by commit 12ee84143 was actually not entirely
correct - since the condition was inverted, all subexpressions needed to
be inverted as well.

+ the condition for pixfmt_has_420_subsampling was not changed from the
  old 422 version at all
2022-03-28 16:22:49 +02:00
Martin Pulec
14a3e51bb0 Revert "CI Linux: XIMEA install workaround patch"
This reverts commit e668a93fac.
2022-03-28 09:55:53 +02:00
Martin Pulec
7f96dab49d Partially revert "GitHub CI C/C++ Lin. FFmpeg: disable SVT HEVC/VP9"
This partially reverts commit 9fbd18b53d.

Note: VP9 patch is still not working.
2022-03-28 09:11:34 +02:00
Martin Pulec
635b0b204b RTSP: make H.264 implicit again
The implicit H.264 setting was done only for SDP, not RTSP.
2022-03-25 16:58:27 +01:00
Martin Pulec
3a83770967 Fixed AppImage Firejail whitelist generation
Fixed 8e77dab6f

If no pattern was found, actually whole line was printed and
whitelisted, sample wrong input:

    UltraGrid-continuous-x86_64.AppImage -t testcard
2022-03-25 15:43:22 +01:00