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.
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.
Just the conversions grew to a significant amount so it is better to
split the file to two to keep the general video codec utility functions
in one file and the conversions in the another.
The original name was now slightly misleading since there is also bob
and linear deinterlators.
Also for user it is "double_framerate", not corresponding with the
original file name (underscore instead of minus sign).
+ moved to C
For reporting audio volume on the sending side. The report format is similar
to reports from the recieving side, except instead of "ARECV", "ASEND"
is used, and the number of channels reported is the same as in the audio
frame.
The replacement was recently (since 6dfd098d) used even despite the
built-in has been implemented. The replacement was there because it
has supposedly better precision than the built-in. But since it is
no longer true (if it ever was), it is removed.
Note: there is also timespec_get (or UG wrapper get_time_in_ns) that can
be used in recent code instead of POSIX gettimeofday.
- update exclude list
- do not contain symlinks (not needed, UltraGrid doesn't use/create any,
on the other hand, the developer may have symlink eg. to build dir
which we do not want to include)
- added doc to .PHONY
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]
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.
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
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
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