Commit Graph

8508 Commits

Author SHA1 Message Date
Martin Pulec
2191dfd228 Revert "audio decompress: pass packet list (iterator)"
This reverts commit 29421cd1fe.
2023-10-16 16:19:56 +02:00
Martin Pulec
175844d63a Revert "lavd audio: use packet API"
This reverts commit 7f810b8ddd.
2023-10-16 16:19:56 +02:00
Martin Pulec
0b33b0a781 Revert "packet counter: remoed unneeded packet store"
This reverts commit f106180bbf.
2023-10-16 16:19:56 +02:00
Martin Pulec
4bdac86e67 Revert "packet counter: modernize"
This reverts commit 371e99de02.
2023-10-16 16:19:56 +02:00
Martin Pulec
bfab3c58a4 sync playback: do not wrap-around TS on sender
Use wider types to keep the timestamp monotonous at least at the sender -
all current sources (DeckLink, file, testcard) should be compatible now.

This will have advantage for audio compression where there will be no
need to tackle with the work-around.
2023-10-16 16:19:56 +02:00
Martin Pulec
f23b50fd9b renamed kHZ90 to kHz90
Whenever leading letter is lower-case, it is perhaps better to keep the
case sensitivity also for Herz.
2023-10-16 16:19:56 +02:00
Martin Pulec
63fc94e294 lavc audio: refactor a bit
factored out input data processing to a separate function
2023-10-16 16:19:56 +02:00
Martin Piatka
c9f378d97d vcap/pipewire: Add target option 2023-10-16 15:48:59 +02:00
Martin Piatka
6b3a7f6d50 vcap/pipewire: Ensure target_id is PW_ID_ANY when not screencapturing
The target_id param is deprecated and should always be set to PW_ID_ANY.
This is however not yet possible to do with screen capture.
2023-10-16 15:48:59 +02:00
Martin Piatka
b43b963750 vcap/pipewire: Set proper name for the generic capture 2023-10-16 15:48:39 +02:00
Martin Piatka
873a70ebba pipewire: Make the logging MOD_NAME consistent 2023-10-16 15:48:39 +02:00
Martin Piatka
22c579e2a8 GUI: Don't hide hw accel checkbox on non-linux platforms
Since there are now hw accels available on other plaforms (videotoolbox
on mac and maybe vulkan decode on Windows) it no longer makes sense to
hide the option on those platforms.
2023-10-16 15:48:39 +02:00
Martin Pulec
6d14684c8a CI ARMHF build: switched back to Buster
closes GH-344
2023-10-16 08:33:42 +02:00
Martin Pulec
6f5f514ecd Vulkan raspi compilation fixes
fixed armhf build, possibly also other 32-bit architectures

This also reverts 02cd247978.
2023-10-13 11:23:22 +02:00
Martin Pulec
bec5b67e80 CI ARM: build with own SDL2 on Buster
If building on buster, re-enable own SDL2 (supporting KMSDMS).

Originally added in commit 484ab418, but use SDL 2.0.22 this time.
2023-10-13 09:54:58 +02:00
Martin Pulec
da6ffc3973 CI ARM: Buster armhf compatibility
Allow 32-bit builds on Buster. This has some advantages
regarding supported HW accelerations in UltraGrid, eg. h264_omx is not
supported in higher versions of the system.

It is not enabled by default but can be enabled easily by switching the
value in YAML file.

refers to GH-344
2023-10-13 09:52:22 +02:00
Martin Pulec
22b5e665ad DeckLink disp.: user-friendly error when stoi throws 2023-10-12 16:53:53 +02:00
Martin Pulec
447f1f3fd9 DeckLink disp.: use prefix-matching for "synchronized" 2023-10-12 16:53:53 +02:00
Martin Pulec
e288bb4145 lavc hwacc: Vulkan non-presence compat 2023-10-12 13:08:03 +02:00
Martin Pulec
9aa4036056 configure: use mmal PC cflags for header search
The mmal header is in /opt/vc in buster, which is not in the default
search path.
2023-10-12 12:22:19 +02:00
Martin Pulec
8630ca9d3f .github/scripts/Linux/arm/bootstrap.sh: clean-up
Deleted 2 unneeded lines:
1. OLDPWD - not used
2. comment - no longer valid - the cached environment key contains hash
of .github/scripts/Linux/arm/bootstrap.sh, which means that if the file
changes, the old env is not used, anyways
2023-10-12 10:45:17 +02:00
Martin Pulec
c3e4e2cc5d to_lavc_vid_conv: added rgb_to_yuv444p
For following command, deduced conversion is to 10-bit YUV:

    $ uv -t testcard:c=RGB -c libavcodec:enc=libx264 -d gl
    [to_lavc_vid_conv] converting RGB to yuv444p10le over R12L

(and over R10k for RGBA) which is correct, because we don't have any
8-bit YUV pixfmt keeping 4:4:4 subsampling.

But this is quite ineffective because the conversions are more expensive
and we are needlessly compressing 10-bit YUV instead of 8-bit.

Thus (as we don't have any UG 8-bit YUV444 pixfmt) the rgb_to_yuv444p
conversion was added.
2023-10-12 10:21:08 +02:00
Martin Pulec
d056a17661 vidcap file: timestamp media 2023-10-11 16:58:23 +02:00
Martin Pulec
466ac95829 recv buf: issue a warning if unable to set
Issue a warning if unable to set the buffers andreceiving uncompressed
stream, but not not on initial setting, only if increase requested.

The logic is not entirely straightforward - as we are increasing only,
do not assume that the buffer is set to the initial size but rather read
the actual value, which will be less if wasn't possible to set. So the
second attemp issues the warning.
2023-10-11 16:57:53 +02:00
Martin Pulec
c0e69d5896 ixed some more warnings 2023-10-11 16:57:53 +02:00
Martin Piatka
3f50d29246 Updated NEWS 2023-10-11 14:53:51 +02:00
Martin Piatka
fda2f807f1 GUI: vuMeter: add recent maximum peak indicator 2023-10-11 14:45:44 +02:00
Martin Piatka
ed87221071 GUI: vuMeter support varying channel count 2023-10-11 12:39:09 +02:00
Martin Piatka
b6cf85e855 tools/astat: Variable channel count support 2023-10-11 12:39:08 +02:00
Martin Piatka
1208184187 tools/astat: Add missing include guard 2023-10-11 12:39:08 +02:00
Martin Piatka
11a13dec1b audio_decoders: Report volumes for varying channel count
Limit to 8 since the GUI can't show more anyway
2023-10-11 12:39:08 +02:00
Martin Pulec
4377bd071d fixed some warnings 2023-10-10 16:07:09 +02:00
Martin Pulec
fd1d808d66 print supported pixfmts also for DeckLink capture 2023-10-10 16:07:04 +02:00
Martin Pulec
a986431bd5 DeckLink disp.: print supp pixfmts 2023-10-10 14:23:24 +02:00
Martin Pulec
3671acfd11 DeckLink opt shortcuts: use IS_KEY_PREFIX
This allows also something like `-t decklink:dev=1` (in addition to
_codec_ and _c_ until now).
2023-10-10 13:55:24 +02:00
Martin Pulec
04610b4357 format_to_out_bps: document
document that the functions accept value in i32 container but unscaled
2023-10-10 11:15:22 +02:00
Martin Pulec
ea55e0f10d print audio scale adj in verbose mode
This can be particularly useful when scaling is misbehaving and user
has at least verbose logging to notice.
2023-10-10 11:14:52 +02:00
Martin Pulec
61544172c5 get_video_desc_from_string: fixed mode parse
fixed parsing of mode `uv -t testcard:m=2160p25` where it was incorrectly
returned FPS 60 (fixed FPS offset 2 bytes pointing to 21_60_p)
2023-10-10 09:25:12 +02:00
Martin Pulec
2a73855c05 fixed new Coverity issues
fixes CID 41741{7,8}
2023-10-10 08:16:09 +02:00
Martin Pulec
31a8b022c7 allow vdpau-copy lavd HW accel 2023-10-09 16:25:46 +02:00
Martin Pulec
9f1763de23 GL VDPAU: re-added GL_NV_vdpau_interop check
Re-added check to GL_NV_vdpau_interop removed by mistake in commit
bf3b2b3b (21st Apr 2022).

In the previous solution error was written but retval was not checked,
causing a crash. Now only warning is issued and HW_VDPAU is not
offered. In state_vdpau::init() is used assertion.
2023-10-09 16:25:46 +02:00
Martin Pulec
bb4ad12970 AppRun: preload also VDPAU 2023-10-09 16:25:43 +02:00
Martin Piatka
8a9639ec7e Partial Revert "audio: simplified samples storing/loading"
The loading of samples with negative value was not working properly
because of sign expansion. The storing works fine, because samples are
only ever written with the same or less BPS.

This reverts commit 586c3fc585.
2023-10-09 14:14:46 +02:00
Martin Pulec
cb269cf992 lavc video: do not set interlaced DCT for libx265
Interlacing is not honored by libx265, anyways, and this saves the
eventual HWacc warning.

It is still passed to QSV even for HEVC, anyways. Not sure how the API
handles that but FFmpeg seems to pass it.
2023-10-06 16:44:18 +02:00
Martin Pulec
31af5137e7 lavc video: warn also when >8 bit depth used
\+ remove "and not 4:2:0" from subs complaint - it is perhaps needlessly
verbose (other feature doesn't name the correct value. user should be
aware, anyways, and there is also a hint below.
2023-10-06 16:44:18 +02:00
Martin Pulec
3a1de3f966 lavd: check also bit depth for HWacc eligibility 2023-10-06 16:44:18 +02:00
Martin Pulec
778fd40fb1 lavd video: use get_avpixfmts_names
Simplifies the code + removed in that function leading space (used in
original code but the function shouldn't produce leading space).
2023-10-06 16:44:15 +02:00
Martin Piatka
a1ac44a2e2 holepunch: add bind_ip option 2023-10-06 14:00:48 +02:00
Martin Pulec
f2ac2cbdf8 lavc,lavd vid: print used subs in warn
Print used subsampling (or sw fmt in lavd) in warning if not using 4:2:0.

This may be helpful sometimes as an additional information.
2023-10-06 11:26:49 +02:00
Martin Pulec
15fe21df4f lavd video: check vid subs from sw_pix_fmt
Check if video subsampling is 4:2:0 from sw_pix_fmt than iterating over
received pix_fmts. This is simplier and more effective since the SW
format is set the get_format() callback to the nominal SW format (if any).
2023-10-06 11:19:11 +02:00