Commit Graph

500 Commits

Author SHA1 Message Date
Martin Pulec
50b7207b5d add README.hdml to legacy macOS dmg
Redirects to a wiki page informing how to allow unsigned UG build
(alternative builds are not signed).
2024-10-15 09:37:45 +02:00
Martin Pulec
1a118aea3b color.c,pixfmt_conv.c: do not hard-code the coeffs
Start rewrite with coefficients not hard-coded in the macro. For the
beginning, the new implementation used in pixfmt_conv.o. From
the performance evaluation it doesn't have impact on performance
(`tools/convert benchmark`).
2024-09-27 17:06:16 +02:00
Martin Pulec
8cbc4af303 Makefile: fix -Ofast for pixfmt_conv.c
Since the move from video_codec.o to separate file in 2023-03-16 (commit
6ae7f268f), the conversions were compiled with just -O2.
2024-09-26 14:05:55 +02:00
Martin Pulec
d794c28b2d Makefile mac: get rid of error (non-fatal)
get rid of an error:
`cp: uv-qt.app/Contents/Frameworks: Not a directory`
2024-09-20 16:09:44 +02:00
Martin Pulec
9982928410 configure: do not add CUDA_LIB immediately to LIBS
see the commit 085b6e60 (today)

autoconf generally dislikes spaces inside paths, which is true for CUDA
in MSW (path to CUDA libs is something like `-L"/c/Program Files/NVIDIA
GPU Computing Toolkit/CUDA/v11.8/lib"`), so do not use it for tests but
add it just when linking.
2024-07-29 12:28:12 +02:00
Martin Pulec
a4a2baf32e move some template files to auto places
- moved ultragrid-bugreport-collect.sh to doc (will be bundled automatically)
- moved data/MacOS-bundle-template to data/template (just a move)
- added data/template/README.md
2024-05-31 16:04:42 +02:00
Martin Pulec
1ee4f9622c added hd-rum-transcode A/V wrapper
allows running reflectors for both audio and video with one command
2024-05-28 08:51:01 +02:00
Martin Pulec
cd8dfee022 Makefile: compile CUDA code with debug symbols 2024-03-08 16:11:47 +01:00
Martin Pulec
a4c22c93fa build: link Window CUDA code directly
The workaround with linked DLLs is no longer required!
2024-03-08 16:11:47 +01:00
Martin Pulec
745edca768 Makefile.im: pass @DEFS@ to CUDA_FLAGS
It contains (at least) -DHAVE_CONFIG_H defined by autoconf, which should
be passed.
2024-03-04 14:44:23 +01:00
Martin Pulec
93f9dd074f build/CI macOS: do not handle Syphon specially
\+ build x86_64 from source as well to:

   1. be consistent with the arm64 build
   2. the binary x86_64 already had hardcoded the path @loader_path/../Frameworks/
   instead of @rpath, which would require yet another handling
2024-02-12 11:57:48 +01:00
Martin Pulec
0927dcdabf Makefile Qt6 mac workaround: use dylibbundler without -f
This workaround doesn't work with `dylibbundler -f`. Perhaps nothing to
worry about, since it is just a workaround.
2024-02-12 11:57:48 +01:00
Martin Pulec
1acce2464e build macOS: do not handle Deltacast specially
Prepare for the VideoMasterHD to be bundled automatically with
dylibbundler v2.

VideoMasterHD is installed to /Library/Frameworks, which is currently
no longer being looked for frameworks by default, so it needs to be
passed as a -F flag to the compiler.
2024-02-12 11:57:47 +01:00
Martin Pulec
2da425de46 make: ObjC compile cmd fix
CXX was used for ObjC compilation but with some recent autoconf update
to 2.72, CXX is set to "g++ -std=gnu++11" because clang there without
-std uses C++98, which was perhaps mishandled by the former autoconf
versions. Using CC (== gcc) corrects that.
2024-01-02 14:13:28 +01:00
Martin Pulec
07e452c778 CI+make: use system location for Syphon 2023-12-04 10:50:56 +01:00
Martin Pulec
d648771854 Makefile: ensure copying to dir + use CP
- ensure copying to a directory where cp dst is assumed to be a directory
(see previous 2 commits)
- use CP macro instead of cp when already defined
2023-11-20 08:09:13 +01:00
Martin Pulec
72ffd5c5ed make: run AsciiDoc gen silently
message `Generated uv.1` is output, anyways
2023-11-15 09:09:16 +01:00
Martin Pulec
d617773a3a Makefile: install manpages to Mac bundle 2023-11-14 11:13:08 +01:00
Martin Pulec
54fbb7fd8b Makefile: build manual pages 2023-11-14 08:20:57 +01:00
Martin Pulec
25b2e3ebfa Makefile: fixed multiple init of pipe in some cases
./autogen.sh  --disable-all --enable-object=src/video_display/pipe.o \
        --enable-reflector
2023-11-08 12:59:29 +01:00
Martin Pulec
0f9dbdf89e Revert "Makefile: added deps on bundle dir"
This still causes the bundle rebuild. Under normal circumstances it
won't matter but as we sign the directory after creating the bundle
and before creating dmg, it actually hurts, becasue to the DMG goes the
freshly-created (unsigned) bundle.

This reverts commit 7294347a9b.
2023-11-02 12:03:51 +01:00
Martin Pulec
7294347a9b Makefile: added deps on bundle dir
This should now work as expected because the build stuff has been
changed/fixed since the "todo" was written.
2023-11-01 09:10:28 +01:00
Martin Pulec
5d0160fd0d Makefile: add reflector objects unconditionally
Pseudo-displays are required by the reflector unconditionally (not always
all, depends what is run).
2023-09-20 11:54:00 +02:00
Martin Pulec
46522e312f Makefile [Mac] manual QtDBus copy workaround
Currently macdeployqt distributed with Qt 6 in Homebrew fails to deploy
transitive dependency (QTDBus in this case). So as a workaround we
hard-copy that for now.

It may not be problem of Qt 6 itself but just the Homebrew distribution,
see also [1].

[1]:
a6a9f108df
2023-09-15 15:36:43 +02:00
Martin Pulec
9a6b85aab1 mac GUI bundle: link Frameworks to libs
Macdeployqt copies ordinal libraries to Frameworks/ while we use libs/
with macdeployqt, so use symlink to avoid having 2 copies when lib is
used by both uv and uv-qt.
2023-09-14 16:11:39 +02:00
Martin Pulec
a41a5095c3 Makefile mac: gui bundle updates
do not run dylibbundler on uv-qt and macdeployqt on uv/hd-rum-transcode

This should no longer be needed and it simplifies things a bit.
2023-09-14 16:11:39 +02:00
Martin Pulec
4b1526e634 Makefile mac: cp Frameworks/ to bundle
Do not use hard-coded list of frameworks in Makefile, rather use list
generated by configure.ac in BIN_DEPS.

Needed frameworks are copied to Frameworks/ as part of BIN_DEPS target
(needed for TARGET), so that we can copy this directly to the bundle.
2023-09-14 16:11:39 +02:00
Martin Pulec
63ac91db3f configure.ac: simplified Qt
The whole stuff is no no longer needed - only qmake is needed to build
the GUI now (UG itself does no longer depend on Qt - shared IPC frame
now uses UNIX sockets).
2023-09-14 16:11:39 +02:00
Martin Pulec
c136250aa4 Makefile.in: reformated mac bundle target
keep 80 columns width
2023-09-14 16:11:36 +02:00
Martin Pulec
eebe224c10 build: do not link reflector with unneeded deps
Do not link all optional features to the reflector, only video compress
modules are actually requested for it.
2023-08-09 16:08:31 +02:00
Martin Pulec
9ab4edbf56 configure: non-essential objs are not needed for reflector
The non-essential object separated in HEAD^^^ happen not to be needed
for the reflector.
2023-08-09 16:08:30 +02:00
Martin Pulec
15d0f4ae55 removed capture_filter none
This capture filter is never initialized now (if none capture filter is
given, empty list of capture filters is used).
2023-08-09 16:08:30 +02:00
Martin Pulec
78b8ea7e7c disable non-essential files with --disable-all
Disable non-essential modules with --disable-all even if doesn't have
external dependencies and thus has been built unconditionally until
now. Individual files can then be re-enabled with --enable-file=src1,src2
option.
2023-08-09 16:08:30 +02:00
Martin Pulec
cb8d96d210 configure: option to disable reflector
The option will likely not be used alone but rather implicitly by
--disable-all and it can be used to speed-up the compilation if reflector
is not needed (and maybe also if its compilation is failing).
2023-08-08 16:12:45 +02:00
Martin Pulec
d17c5ea24c removed platform_time.c + references
get_time_in_ns() should be used instead time_since_epoch_in_ms(). Having
both may be misleading and may lead to errors when interchanged.
2023-08-08 15:32:29 +02:00
Martin Pulec
6c431eff87 Makefile: do not link unused files 2023-08-08 14:39:32 +02:00
Martin Pulec
3639d00dbf replaced not thread-safe *rand48 functions
Use rand_s() in Windows and random() in POSIX systems.
2023-08-02 10:07:19 +02:00
Martin Pulec
b634053b99 added silence audio filter 2023-07-26 12:33:09 +02:00
Martin Pulec
7da1be7911 mac CI: fixed distcheck
final bundle path has changed

+ [Makefile.am] the targets were not overriden
2023-07-03 11:14:05 +02:00
Martin Pulec
82aed12b1a Makefile: rewritten macOS bundling
Always create clean bundles (both with and without GUI).

The former approach was quite fragile and althoug it offered some
advantage that it wasn't needed to rebundle the libs all the time, it
perhaps doesn't overcome the disadvantages, eg. that it was actually
broken until now - first run was successfull but when the macos-wrapper
was deployed second time, it created broken bundle (the script doesn't
handle this case).

Some kind of caching of already processed steps may be readded in future
but definitely made in a more clean way.

+ removed bundle-nolib - doesn't seem to be needed; can be readded if
  needed, anyways
+ removed '; \' at line before 'cp -R $(GUI_BUNDLE_DEP)/* $(GUI_BUNDLE)'
  Not sure how it affects the behavior but that made the cp command
  part of the previous command, which is certainly not intended.
2023-07-03 11:14:05 +02:00
Martin Pulec
a8b46e48e7 Makefile macOS: do not use wrapper for scripts
currently only applicable on update.sh
2023-07-03 11:14:04 +02:00
Martin Pulec
e75a8e3e5d Makefile mac: copy all files from old to GUI bundle
the former was a bit error-prone and eg. since 2b9ed6c7 (2023-05-15),
icon.icns was not copied (just to old bundle but not re-copied to GUI
bundle). Also things like Vulcan shaderes were not copied.

Here, we use a no-clobber option not to override files specific to GUI
bundle.

+ fixed the actaull path of icon.icns inside the bundle
2023-07-03 11:13:35 +02:00
Martin Pulec
5555315b5c added override_prop cap. f.
This allows overriding some video props (only in metadata), eg.
25p->50i. Currently only FPS + interlacing change is supported.
2023-06-21 16:37:49 +02:00
Martin Pulec
bb3ff5e165 vidcap file: improved A/V synchronization
fixes GH-322
2023-06-20 13:37:49 +02:00
Martin Pulec
e51b965350 configure,Make DXT: small fixes
This doesn't do anything important at all (standard removed, headers
should be now properly removed by GENERATED_HEADERS var).
2023-06-07 13:48:45 +02:00
Martin Pulec
194849ad2b added video capture filter ratelimit
Limits frame rate to specified value.

This can be used if source doesn't keep its nominal frame rate, as some
Magewells do and use higher.

Another use case is just to limit the framerate from eg. 60 to 25 (which
are coprimes, for 60 and 30, already existing capture filter 'every')
can be used.
2023-05-24 09:35:17 +02:00
Martin Pulec
2b9ed6c795 Makefile: mac bundle: copy icon+update.sh directly
- renamed update.mac->update.sh
- moved update.sh + icon.icns to macOS bundle skeleton path
2023-05-15 16:49:26 +02:00
Martin Pulec
3db29d0c6c Makefile: do not echo CUDA compilation twice
The compiler is run twice - first for real compilation, second for
dependency tracking. Do not print compilation message the second one
since it may be confusing.
2023-03-30 17:03:23 +02:00
Martin Pulec
265c6b3f6e Win build: CUDA 8.0 compat
Although quite old, it is very simple to add support for it and it will
allow compilation for eg. CUDA CC 2.x.
2023-03-29 13:39:32 +02:00
Martin Pulec
35413ef700 rtsp server: removed rtsp_utils.c
The functions included are used only in h264_rtp.cpp so they may be
moved there directly.
2023-03-16 16:03:22 +01:00