Commit Graph

6271 Commits

Author SHA1 Message Date
Martin Pulec
c7db9c12b8 lavc: configure_with codec opening in sep. func.
Moved FF codec selection to a separate function.
2022-08-02 11:14:39 +02:00
Martin Pulec
7d8f2a5017 lavc: configure_with - simplify a bit 2022-08-02 11:14:39 +02:00
Martin Pulec
3bd2a96087 lavc: moved swscale creation to configure_swscale 2022-08-02 11:14:39 +02:00
Martin Piatka
d18fb0300e logging: Call preinit before parsing log config
Since help text containing ANSI escape codes can be shown during parsing
(i.e. on error or help text), preinit should be called sooner
2022-07-29 13:03:28 +02:00
Martin Piatka
d496f738f2 logging: setters for timestamp and skip_repeat 2022-07-29 13:03:28 +02:00
Martin Piatka
b77292d29e logging: modernize config parsing 2022-07-29 13:03:27 +02:00
Martin Piatka
e1b51bda18 logging: separate config parsing from setting log level 2022-07-29 13:03:27 +02:00
Martin Piatka
07f245c5ec logging: Use enum for timestamp mode 2022-07-29 13:03:27 +02:00
Martin Piatka
31b39db713 logging: Add missing assert 2022-07-29 13:03:26 +02:00
Martin Piatka
1ba26d4f91 conference: control port info command 2022-07-29 13:03:26 +02:00
Martin Piatka
3cba9cf0e1 deltacast: remove duplicit include 2022-07-29 13:03:26 +02:00
Martin Piatka
b71c4e633d audio/utils: Add missing include for std::clamp() 2022-07-29 13:03:25 +02:00
Martin Pulec
517c27fa18 format_in_si_units: don't take parameter suffix
This is perhaps unneeded -- caller can append the units by itself.
2022-07-29 11:48:48 +02:00
Martin Pulec
c69fd8a076 lavc: print bitrate using SI-prefix
With SI-prefix, the value is human readable.
2022-07-29 10:53:30 +02:00
Martin Pulec
12c1b37121 lavc nvenc: set delay to 2
This improves throughtput by factor of 2 at the expense of possibly
increased latency (up those 2 frames).
2022-07-29 10:15:33 +02:00
Martin Pulec
f7746f97a7 parse_cuda_device: updates
- document return code (non-intuitive)
- set cuda devices even if GPUJPEG is not compiled in. The code is used
  to enumerate CUDA devices but now not only GPUJPEG uses the value, it
  is eg. used to identify GPU for NVENC
- restructuralize (exit in help block) + return EXIT_FAILURE instead of
  EXIT_FAIL_USAGE if GPUJPEG not compiled in (perhaps more eligible --
  the usage is actually correct, just GJ is not compiled in)
2022-07-29 08:09:04 +02:00
Martin Pulec
1bdf147a20 main.cpp: moved --cuda-device code to sep. func 2022-07-29 08:09:04 +02:00
Martin Pulec
e21c28a6cf Added r10k_to_x2rgb10le but don't use
The codec seems currently not working correctly for nvenc from
libavcodec side.
2022-07-29 08:08:57 +02:00
Martin Pulec
8681c8220e vidcap import: color usage 2022-07-28 10:56:51 +02:00
Martin Pulec
0a8bd533b8 vidcap import: opt to limit number of frames used 2022-07-28 10:56:35 +02:00
Martin Pulec
791b101625 lavc: simplify a bit
Just removed one level of indention (if avcodec_frame_send fails, return
immediately).
2022-07-28 10:11:29 +02:00
Martin Pulec
40bcc8f6c6 lavc: performance debug print 2022-07-27 13:46:33 +02:00
Martin Pulec
3b4a0d7511 tools/convert: compilation fixes 2022-07-27 10:23:50 +02:00
Martin Pulec
ad5c6bd2c2 AppImage: bundle libjack.so.0 again
This effectively reverts 3c9b8293.

libjack.so.0 is a dependency also for different modules like portaudio
so if we do not want to depend on instance in the system, we must ship
our version.
2022-07-27 09:05:56 +02:00
Martin Pulec
356b622889 testcard: get rid of SDL_mixer
SDL_mixer has some nasty dependency on JACK so remove it altogether
since it is perhaps seldom used (the MIDI playback may be added later
eg. as a standalone audio capture).

(see GH discussion #241)
2022-07-27 09:05:56 +02:00
Martin Pulec
46746286ec export.c: use color_printf for help 2022-07-27 09:05:55 +02:00
Martin Pulec
1ab53bacf4 dummy video display: simplify
- use generic FPS indicator
- default member intializer for video_frame instead of member
  initializer list
2022-07-27 09:05:55 +02:00
Martin Pulec
d8e9f5bd5c Set _IONBF for stdout in MSYS term
This partially reverts d4775e37 which changed the output buffering from
_IONBF to _IOLBF.
2022-07-27 09:05:55 +02:00
Martin Pulec
9e10a385b6 color_out: new API
Use inline ANSI escape sequences instead of modifiers.

This allows more convenient formatting without the need to use multiple
calls (possibly interleaving).

ANSI escape sequences are nowadays supported also in Windows terminals
(PS, cmd).
2022-07-27 09:05:55 +02:00
Martin Pulec
58f91ec2c1 pixfmts - improve desc comments 2022-07-27 09:05:52 +02:00
Martin Piatka
8f04309638 ipc_frame_unix: Handle socket errors 2022-07-25 09:55:26 +02:00
Martin Piatka
f2f9b39412 sv_parse_num: Work aroud coverity issue 2022-07-25 09:40:54 +02:00
Martin Pulec
37151de344 r10k_to_yuv42Xp10le: use global coefs and defs 2022-07-25 08:22:12 +02:00
Martin Pulec
de98da996f lavc: added r10k_to_yuv420p10le 2022-07-22 16:26:21 +02:00
Martin Pulec
0c4c74ace0 added vc_copylineR10ktoUYVY 2022-07-22 15:52:15 +02:00
Martin Pulec
34f93a6795 lavc: sws fallback - use UYVY if none pixfmt avail
Use UYVY as a fallback intermediate if no eligible pixfmt is reported.
This could eg. happen if no conversion fullfill constraint (eg.
currently R10k to anything WRT subsampling 4:2:0).
2022-07-22 14:56:39 +02:00
Martin Pulec
d7483d26de lavc: print pixelformat swscale is wishing convert to 2022-07-22 14:01:04 +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
9388b33f20 bmd_hresult_to_string: print also error 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
97dd5ceecb AppRun fixed libva-x11 not being LD_PRELOADED
In the second iteration of for cycle, $NAME was derived from something
like "/usr/lib/libva.so.2:/usr/lib/libva-drm.so.2"  (s/libva/libva-x11),
which obviously didn't exist as a file.

Fixes:

    $ <AppImage> --list-modules | grep -A 2 'Errors:'
    Errors:
            ultragrid_acompress_libavcodec.so
                    ./squashfs-root2/usr/lib/libva-x11.so.2: undefined symbol: va_fool_postp
2022-07-20 14:23:04 +02:00
Martin Pulec
9bbcefc240 AppRun (Linux): bundled libva selection improve 2022-07-20 14:22:57 +02:00
Martin Pulec
e859bc7b35 Rate limited usage: reduce indention lvl for help 2022-07-20 11:07:40 +02:00
Martin Pulec
f103a9e53f tx_init: remove one indention level 2022-07-20 11:07:40 +02:00
Martin Pulec
cbc548d384 Added+use dynamic rate limiter
Added a rate limiter that occasionally allows excessive frames.

It permits using 1.5x frame time for frame 2x bigger that moving
average if 4 normal frames (using .75x frame time) were emitted
inbetween.

This mode is now default (for video, audio doesn't use rate limiter).
2022-07-20 11:05:40 +02:00