Commit Graph

424 Commits

Author SHA1 Message Date
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
7acea1fed1 display/preview: Merge with unix_sock display
Switch from shared memory based ipc to unix socket
2022-06-24 13:40:19 +02:00
Martin Piatka
af7d6ae7d6 Add unix_sock display for ipc 2022-06-24 13:39:35 +02:00
Martin Piatka
12ff07b919 tools: Add ipc frame utils 2022-06-24 13:38:20 +02:00
Martin Pulec
474c4dd7cc added display capture filter 2022-06-01 11:22:00 +02:00
Martin Piatka
4669ac16e6 Makefile: Call GUI QMAKE with original C(XX)FLAGS
When a variable is defined in the environment, it also gets modified
and exported for all commands and sub-makes in the Makefile
(https://web.mit.edu/gnu/doc/html/make_6.html#SEC66).

This means that when building with custom C(XX)FLAGS (such as with
Archlinux makepkg), the flag "-DHAVE_CONFIG_H" which absence  is used to
detect out-of-tree building (in platform_pipe.cpp) got also wrongly
passed to qmake. This caused linking to fail due to undefined symbols,
which are only present in UltraGrid in-tree-builds.
2022-05-30 14:20:23 +02:00
Martin Piatka
90bef05d71 Makefile: Run GUI makefile unconditionaly
The wildcards in the GUI dependencies did't cover all subdirectories, so
recompilation was not always triggered on file modification.
This change leaves the decision whether to recompile to the GUI
makefile, which should be more robust
2022-05-27 11:34:35 +02:00
Martin Pulec
29d2b8efd1 Makefile: compile lavc convs with -Ofast
Since the conversion have moved from libavcodec_common, compile the
conversions with -Ofast, not the common file itself.
2022-05-25 14:47:18 +02:00
Martin Pulec
88e58ba1f7 Makefile: fix DXT shader path for out-of-tree b. 2022-05-25 14:47:18 +02:00
Martin Pulec
2b45ba946b mac: display warning to use alt-build on <10.15 2022-05-17 08:56:13 +02:00
Martin Pulec
2cda941242 Makefile: use short compile msg also for nvcc 2022-04-20 09:39:08 +02:00
Martin Pulec
888dbe14d5 removed platform_spin
There is perhaps no need to use spin lock - pthread mutexes have low
overhead if no contention takes place, anyway.

+ replaced platform_spin with pthread_mutex in resource manager
+ document why resource manager is needed
2022-04-01 10:28:55 +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 Piatka
131e8be91e Makefile.in: Make clean less verbose by default 2022-03-23 10:04:30 +01:00
Martin Piatka
6008925116 Makefile: Make GUI compilation less verbose 2022-03-23 10:00:30 +01:00
Martin Piatka
58c05cee67 Makefile.in: Call make for GUI with $(MAKE)
From make manual:
"Recursive make commands should always use the variable MAKE, not the
explicit command name ‘make’"

This also causes the submake to inherit the parallelization settings
from the parent make
2022-03-23 09:52:29 +01:00
Martin Piatka
23fadf0ff0 Makefile.in: clean: Add missing rm for dxt_glsl.h 2022-03-23 09:52:06 +01:00
Martin Piatka
3de3362330 Makefile.in: Silence dxt_glsl.h generation 2022-03-23 09:42:18 +01:00
Martin Piatka
3ee9aa4806 Makefile.in: Be less verbose by default
Old behaviour is restored by calling `VERBOSE=1 make`
2022-03-22 15:49:11 +01:00
Martin Piatka
3cf5123c3f audio/filter: audio delay filter 2022-03-18 14:15:31 +01:00
Martin Piatka
e81af5423f Add audio capture filter infrastructure 2022-03-18 14:15:30 +01:00
Martin Pulec
89a4050c76 lib_common: move dlopen etc compat to separate src
It is a bit needless to compile the dlerror() commat in a huge number of
sources including that file. Moreover, the compat functions are not
direcly linked to modules' infrastructure in UG, which was piggy-backed
to.
2022-03-11 10:48:49 +01:00
Martin Pulec
c5c9fe8b2f autotools: do not override explicit -O with -Ofast
Do not set -Ofast for selected sources when CFLAGS contains some
optimization (-O) level option.
2022-02-25 14:32:29 +01:00
Martin Piatka
f642e68e90 Makefile: GUI: Use distclean instead of clean
Clean does not remove the resulting binary, which causes GUI to not
rebuild even with "make clean && make".
2022-02-23 13:34:02 +01:00
Martin Pulec
f62e04d15f fixed replace_all()
In response to Coverity CID 383367 - it is perhaps false positive but
there has been another small bug - the step should be length of to, not
from (which may be longer).

+ written a test for it
2022-02-21 15:32:00 +01:00
Martin Pulec
84cd181d19 Makefile [macOS]: deploy VideoMasterHD only if compiled 2022-01-13 16:59:02 +01:00
Martin Pulec
994b76d5bb Makefile: remove headers from VideoMasterHD SDK
Really remove headers from VideoMasterHD SDK when deploying.
2022-01-13 16:59:02 +01:00
Martin Piatka
782e0fdd95 audio/playback: dump module 2021-10-08 15:49:43 +02:00
Martin Pulec
572b4ce5cd Factored out WAV reader to separate file 2021-09-14 16:17:09 +02:00
Martin Pulec
f49012c9a1 Added disrupt (jitter) capture filter
For debugging only.
2021-09-14 08:40:03 +02:00
Martin Pulec
63b39edd09 Supress all warnings for zfec
Clang doesn't understand -Wno-old-style-declaration and this is easier.
The source isn't ours anyway.
2021-09-07 13:31:38 +02:00
Martin Pulec
6294152cfd Makefile: nvcc - do not use "-Xcompiler -MD"
Do not pass -MD to compiler (-Xcompiler) with nvcc since generated
dependencies are wrong - depending on temporary sources in
/tmp rather then on the real sources.

-MD needs to be passed directly to nvcc (without -Xcompiler) but CUDA
9.1 doesn't support -MD thus using separate commands for code and deps
generation.
2021-08-19 09:27:22 +02:00
Martin Pulec
e8e7a8749d Makefile: s/GEN_DEPENDENCIES/POSTPROCESS_DEPS/
The defined command is actually not generating dependencies (gcc -M
does) but only postprocessing them for use in Makefile (generating empty
rules for otherwise unresolved deps).
2021-08-19 09:10:42 +02:00
Martin Pulec
1322de1659 Makefile: do not use .cu.o for CUDA objects
The suffix doesn't work well with dependencies - the stem is then
without .cu.o extension but the generated .d file is suffixed .cu.d.
2021-08-11 13:14:46 +02:00
Martin Pulec
93a3abb8ac Make: remove hardcoded dependencies on all headers
From now only affected objects are be rebuilt if a header changes and
not all as it used to be until now.

References:
- https://www.gnu.org/software/make/manual/html_node/Automatic-Prerequisites.html
- https://stackoverflow.com/questions/8025766/makefile-auto-dependency-generation
  (answer from Beta)
2021-08-11 13:14:46 +02:00
Martin Pulec
0b668e9a05 Lavc: run the UG conversions in parallel
+ create helper for that
+ macro for default color shifts
2021-08-09 14:07:26 +02:00
Martin Pulec
2e3a78ff0f Configure/make: use realpath with python if cmd not avail 2021-07-20 09:43:57 +02:00
Martin Pulec
de36119322 Make: get VideoMasterHD directly from SDK
Removed data/redists/VideoMaster*.

Now it copies directly from SDK, paths need to be fixed as done with
.github/scripts/macOS/prepare_nonfree_sdks.sh.
2021-07-19 14:08:21 +02:00
Martin Pulec
d47c708e9e Configure: detect also system zfec
Detect and use zfec provided by python-zfec3 in Ubuntu.

+ added option --with-zfec for custom path
2021-06-29 08:59:25 +02:00
Martin Pulec
ee801e6c38 Out-of-tree build fixes
- fixed when the build dir is not even in the tree (git)
- the path to QT worked only if $(srcdir) is relative (configure was
invoked with relative path)
2021-06-28 14:42:27 +02:00
Martin Pulec
613c62bf54 Lavc: fixed get_decoder_from_uv_to_uv
Improved UG decoder selection in get_decoder_from_uv_to_uv - now is
selected nearest better codec.

+ written a test for the above
2021-05-25 10:11:30 +02:00
Martin Pulec
1712072628 Added AppStream metadata 2021-05-20 11:43:59 +02:00
Martin Pulec
af05b44fcf Separated pattern generator from testcard
Note: currently depends on testcard_common so it was moved as a core
object.
2021-05-05 09:00:58 +02:00
Martin Pulec
314239e248 added gpujpeg unit test 2021-04-30 08:57:51 +02:00
Martin Pulec
fff6332fcc Makefile: distcheck - check also reflector 2021-04-12 15:53:13 +02:00
Martin Pulec
d5d226d9f9 Makefile: simplified macOS building 2021-04-12 15:53:13 +02:00
Martin Pulec
b30c1bb0c1 configure: pass Qt CFLAGS only where needed
When taken from qmake, QT_CFLAGS introduce disruptive -isysroot. Also
defines things like -pipe, -O2, -mmacosx-version-min, -Wxxxx and -fPIC,
which we obviously don't want to take globally from Qt.
2021-04-12 15:53:13 +02:00
Martin Pulec
ee4bdbf34a Make zfec optional 2021-03-09 16:05:36 +01:00
Martin Pulec
1b9aa3314d SpeexDSP: remove a submodule
Now it is a normal dependency.
2021-03-09 08:14:37 +01:00