Commit Graph

4355 Commits

Author SHA1 Message Date
Martin Pulec
c18e2b4d75 DeckLink cap.: small refactor 2022-08-12 09:50:50 +02:00
Martin Pulec
443d6aacf2 blackmagic_common.h->hpp: contains only C++ funcs
The header contains only C++ linked functions thus mark it as such.
2022-08-11 17:17:24 +02:00
Martin Pulec
dc196ff55a GL: fixed R10k shifts
Rlo and Glo (shifted right) had incorrect shifts.

+ use delimiter in bit mask (readibility)
+ make all constants unsigned (already implicitly cast but to make it
  clear)
2022-08-11 17:15:51 +02:00
Martin Pulec
0d793a0836 matrix.c: avioid multiple evaluation
same as previous commit
2022-08-11 12:10:56 +02:00
Martin Pulec
0b9abe7233 from_lavc_vid_conv.c: avoid multiple evaluation
Needless multiple evaluation of expression may occur in macro expansion.
2022-08-11 12:10:56 +02:00
Martin Pulec
71551253cc from_lavc_vid_conv.c: fixed yuv8p_to_rgb 2022-08-11 12:10:56 +02:00
Martin Pulec
6b28716d30 replaced MIN/MAX with CLAMP 2022-08-11 12:10:56 +02:00
Martin Pulec
04c2d245d0 fixed Win compile warnings (from CI) 2022-08-11 10:42:45 +02:00
Martin Pulec
95b851eecb replaced \e with \033
'\e' is not standard C, see:
https://stackoverflow.com/questions/63255838/how-can-i-fix-warning-c4129-e-unrecognized-character-escape-sequence/63255920#63255920
2022-08-10 17:01:31 +02:00
Martin Pulec
276933dea6 ximea: fixed output 2022-08-10 16:46:38 +02:00
Martin Pulec
894c61909a Win: set HAVE_TIMESPEC_GET for MSVC stuff 2022-08-10 16:41:42 +02:00
Martin Pulec
383a00844f DEBUG_TIMER: use time_ns_t 2022-08-10 13:45:07 +02:00
Martin Pulec
cf58ff3948 added missing includes 2022-08-10 13:45:07 +02:00
Martin Pulec
f24b237ef1 tv.h: added macros cast to double 2022-08-10 13:45:07 +02:00
Martin Pulec
39338a2e50 GL: fixed swapped R/B channels in byte_swap_r10k 2022-08-10 13:45:04 +02:00
Martin Pulec
128150288b logger: removed preinit
no longer needed to initialize rang here
2022-08-10 10:00:07 +02:00
Martin Pulec
555935afa1 vidcap_decklink_grab: simplified
- do the RGBA conversion only once (not in all branches)
- exit early if some tile was not captured
2022-08-10 09:58:42 +02:00
Martin Pulec
6bbe8c4228 removed color_out function 2022-08-10 08:14:07 +02:00
Martin Pulec
6802baef6e pbuf: get rid of rang 2022-08-10 08:14:07 +02:00
Martin Pulec
812bcbfc78 logger: remove ANSI seqences if not terminal
This allows use of raw ANSI sequences instead of the rang stuff.
2022-08-10 08:14:07 +02:00
Martin Pulec
7719e8aa47 logger: get rid of rang references 2022-08-10 08:14:07 +02:00
Martin Pulec
d84b375165 color_out: removed color_stderr 2022-08-10 08:14:06 +02:00
Martin Pulec
2dc9a3d214 GLFW: init module after GLFW
if glfwInit failed, module has not been unregistred
2022-08-10 08:14:00 +02:00
Martin Piatka
a1483444e5 gl: vdpau: make load frame a member func 2022-08-09 17:00:26 +02:00
Martin Piatka
29eec7f19e gl: Move vdpau functionality into separate file 2022-08-09 17:00:25 +02:00
Martin Piatka
19083593ab gl: vdpau: rename render_vdpau to vdpau_load_frame 2022-08-09 17:00:25 +02:00
Martin Piatka
0038eb5e8f gl: vdpau: check_mixer: pass state_vdpau as argument 2022-08-09 17:00:25 +02:00
Martin Piatka
89ad5b76f8 hwaccel: Fix extern "C" includes
hwaccel_vdpau.h was including hwaccel_libav_common.h with C linkage.
This causes the following include chain with c linkage which causes an
error:

hwaccel_vdpau.h -> hwaccel_libav_common.h -> types.h -> <string>
2022-08-09 17:00:19 +02:00
Martin Pulec
f11e91d268 video display: missing TERM_RESET 2022-08-09 16:03:19 +02:00
Martin Pulec
c7f33901d2 GL disp.: use different data type for R10k tex
Used GL_UNSIGNED_INT_2_10_10_10_REV instead of GL_UNSIGNED_INT_10_10_10_2
for R10k texture. The later has much better performance on AMD RX 580.
2022-08-09 15:17:09 +02:00
Martin Piatka
213ce5e20f output buffering: Disable buffering in GDB
Since the style reset escape codes are generally after the newline, the
otput of GDB would stay colored without this change
2022-08-09 11:48:58 +02:00
Martin Piatka
e0245aeda5 host,keyboard_control: Move gdb detection to a function 2022-08-09 11:48:58 +02:00
Martin Piatka
8aa662f8c6 lavc: Use svtav1-params for av1 configuration
Since ffmpeg 5.1 svtav1-params should be used, as the old way is
deprecated/unsupported now.
2022-08-09 11:48:43 +02:00
Martin Pulec
1664445826 testcard: removed dependency on rang 2022-08-08 16:12:25 +02:00
Martin Pulec
92bc623fff color_out: added a C++ API
Added some basic C++ API removing the need to use rang.
2022-08-08 16:09:58 +02:00
Martin Pulec
b15ede7aec video_codec: v210, R10k add 10b to description 2022-08-08 15:08:38 +02:00
Martin Pulec
78bef43bf0 testcard_show_codec_help: color print + improvments 2022-08-08 15:08:04 +02:00
Martin Pulec
0587e5537b testcard: removed "apattern" from usage
apattern is no longer a valid configuration option (`midi` was removed so
the only apattern remains `sine`)
2022-08-08 14:38:23 +02:00
Martin Pulec
e96084d875 testcard: prefer key-val opt syntax in usage 2022-08-08 14:12:16 +02:00
Martin Pulec
f9c4e4af52 GL: display frame dropped message
similar to SDL2
2022-08-08 11:16:24 +02:00
Martin Pulec
51a91c12ba lavcd: opt to disable slice threads
Just in case it is needed, in addition to 'F' and 'S' option 'n' was
added which disables (implicitly toggled) slice threads.
2022-08-08 10:16:07 +02:00
Martin Pulec
d6dd0d9a9c lavc: fixed thread cap check for slice+frame
fixes ecd5a750 - comparison instead of bit sum is used
2022-08-08 09:39:32 +02:00
Martin Pulec
ec702d5c25 lavd: enable frame multithreading for hevc
Setting frame-based multithreading for FFmpeg internal hevc decoder
allows parallel decoding of HEVC stream generated by NVENC.

Performance evaluation shows that (interestingly) not only it doesn't
increase decoding latency but it actually reduces it. It holds for both
libx265 and NVENC (tested with `testcard:codec=R10k:pattern=gray`).

Note that the observation in previous paragraph doesn't hold for all
codecs, eg. setting frame+slice threading for FFmpeg JPEG
encoder+decoder increases latency from some 200 ms to 400 ms.

Refer to GitHub CESENT/UltraGrid discussion #241.
2022-08-05 16:11:46 +02:00
Martin Pulec
4b7515079b lavcd: print actual thread settings in verbose mode 2022-08-05 16:11:46 +02:00
Martin Pulec
89e98287b1 lavc: print codec capabilities if verbose 2022-08-05 16:11:46 +02:00
Martin Pulec
26a739dc6b testcard gray: preinit frames
Generating frames on-fly is a bit slow.
2022-08-05 16:11:46 +02:00
Martin Pulec
34eb23cb12 Added "color" capture filter and postprocess
The motivation for this filter currently is to measure compression
latency in UltraGrid, eg.:

    uv  --verbose=+timestamps --capture-filter color -t testcard:pattern=gray \
     -d dummy -p color [-c libavcodec]
2022-08-05 16:11:46 +02:00
Martin Piatka
ca0421787a keyboard_control: use getter&setter for repeat skipping 2022-08-05 13:44:35 +02:00
Martin Piatka
d395377a5d logging: debug_dump: simplify 2022-08-05 13:44:34 +02:00
Martin Piatka
60e6d00130 logging: remove old dead code 2022-08-05 13:44:34 +02:00