Commit graph

118 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
c13b9c3641 cmake: Add support for local Unix installs 2020-04-03 01:16:33 +02:00
Michael Fabian 'Xaymar' Dirks
34e3601eda cmake: Add support for Linux standalone builds 2020-04-02 20:37:45 +02:00
Michael Fabian 'Xaymar' Dirks
59fa1d36d7 common: Common header include for improved platform support
This header includes all common data between headers used in the plugin. This should improve cross-platform compiling support whenever possible, as all platform-dependent common includes and defines can be done here.
2020-04-02 17:02:01 +02:00
Michael Fabian 'Xaymar' Dirks
43f1dcf205 filter-nv-face-tracking: Nvidia exclusive Face Tracking filter
Ever wished you had a professional camera operator to highlight and follow the action, ensuring the audience never misses a beat? Thanks to NVIDIA, you can now do this at home for free! The new NVIDIA AR SDK unlocks augmented reality features, including motion tracking for faces.

This allows me to provide you with an automated zoom and cropping solution for your video camera to transform your streams into a slick, polished broadcast, where you’ll always be the star of the show. Don’t forget - everything is customizable so the possibilities are endless. You can even recreate that Futurama squinting meme if you wanted to (with some scripting)!

The filter requires compatible Nvidia RTX hardware and the Nvidia AR SDK Runtime to be installed ahead of time. This filter is considered "stable" and shouldn't change much from version to version.
2020-03-31 21:46:47 +02:00
Michael Fabian 'Xaymar' Dirks
43b5d309eb transition: Add initial version of Shader filter
These allow you to apply any kind of filtering to a any source, using just standard HLSL. Just like transitions, one extra parameter is set called 'InputA'.

Fixes #95
2020-03-28 18:54:56 +01:00
Michael Fabian 'Xaymar' Dirks
ead355beea transition-shader: Add initial version of Shader transitions
With this, the first proper shader effect is now possible. By using the four new automated shader parameters 'InputA', 'InputB', 'TransitionTime' and 'TransitionSize' you can write your own transition in HLSL.

Fixes #96
2020-03-28 18:38:45 +01:00
Michael Fabian 'Xaymar' Dirks
10fee7f048 util-profiler: Easy to use profiling helper 2020-03-27 20:10:09 +01:00
Michael Fabian 'Xaymar' Dirks
6776f2111c cmake: Disable some frequent unhelpful warnings
These warnings usually come from the standard code in MSVC or system headers, over which we have absolutely no control. Keeping them enabled does not improve our code at all.
2020-03-27 20:10:09 +01:00
Michael Fabian 'Xaymar' Dirks
67016ccd95 plugin: Version 0.8.0a3
* Updated libOBS to v25.0.1
* Fixed a freeze exclusive to v25.x with Source Mirror.
* Fixed audio mirroring only working on every 2nd configuration update with Source Mirror.
* Fixed audio being mirrored out of order on highly parallel systems (>4 Threads).
* Fixed discoloration of sources in 3D Transform.
* Fixed ffmpeg encoder not falling back to software if scaling is detected.
2020-03-21 09:23:54 +01:00
Michael Fabian 'Xaymar' Dirks
8f4313d8e8 cmake: Actually support delay loading on Windows 2020-03-20 23:39:21 +01:00
Michael Fabian 'Xaymar' Dirks
6d3c540349 cmake: Upgrade to OBS v25.0.1 2020-03-20 23:24:25 +01:00
Michael Fabian 'Xaymar' Dirks
6f2b50b0ad cmake: Redesign for future features 2020-03-20 23:09:46 +01:00
Brandon Edens
2dbed865bd
cmake: Fix file name for case-sensitive filesystem (#112)
Fixes #107 

Co-authored-by: Brandon Edens <bedens@fitbit.com>
2020-03-17 18:45:38 +01:00
Michael Fabian 'Xaymar' Dirks
f79846aa3b plugin: Version 0.8.0a2 2020-03-07 02:03:25 +01:00
Michael Fabian 'Xaymar' Dirks
08024049c2 util-threadpool: Implement global thread pool
This thread pool can take large or small tasks and as such alleviates the burden of having a thread per source. Particularly for large setups, this drastically reduces the number of threads running in the background waiting for work.
2020-03-03 01:52:54 +01:00
Michael Fabian 'Xaymar' Dirks
326fa68d9f obs-signal-handler: Helper classes for signals and audio 2020-02-14 07:30:46 +01:00
Michael Fabian 'Xaymar' Dirks
03930b6b42 cmake: Don't add custom target for in-obs builds 2020-02-13 10:33:46 +01:00
Michael Fabian 'Xaymar' Dirks
20d5eef32e cmake: Replace modified RelWithDebInfo with Speed 2020-02-13 10:11:33 +01:00
Michael Fabian 'Xaymar' Dirks
13316c4810 ci, cmake: Fix build failure and optimize for speed 2020-02-13 09:34:34 +01:00
Michael Fabian 'Xaymar' Dirks
7821bc1ab3 cmake: Don't enforce Clang submodule requirement 2020-02-13 05:21:06 +01:00
Michael Fabian 'Xaymar' Dirks
45a117c1d0 cmake: Fix clang integration 2020-02-13 05:13:45 +01:00
Michael Fabian 'Xaymar' Dirks
c6a1edf46f util-event: Fix and cleanup 2020-02-13 05:09:14 +01:00
Michael Fabian 'Xaymar' Dirks
cbb6c4f785 cmake: Use shared submodule for Clang integration 2020-01-22 11:12:34 +01:00
Michael Fabian 'Xaymar' Dirks
a627054e2f cmake: Fix windows support 2020-01-14 09:13:27 +01:00
Michael Fabian 'Xaymar' Dirks
844379f761 cmake: Additional optimization options 2020-01-14 01:39:04 +01:00
Michael Fabian 'Xaymar' Dirks
ebc50dcefe utility: Merge util-math and util-memory 2020-01-14 01:11:08 +01:00
Michael Fabian 'Xaymar' Dirks
52f789436d cmake: Fix native obs-studio builds 2020-01-14 00:41:09 +01:00
Michael Fabian 'Xaymar' Dirks
0a16ce07dc project: Merged FFmpeg Encoders Step 2 2020-01-13 22:40:15 +01:00
Michael Fabian 'Xaymar' Dirks
3eea289679 project: Merged FFmpeg Encoders Step 1 2020-01-13 01:52:30 +01:00
Michael Fabian 'Xaymar' Dirks
3018c9b9ea project: Version 0.8.0a1 2019-12-22 08:31:00 +01:00
Michael Fabian 'Xaymar' Dirks
8c3979a3c2 cmake: Add support for version suffixes 2019-12-22 08:28:32 +01:00
Michael Fabian 'Xaymar' Dirks
a99030f5c0 ci: Build Installers and rename to StreamFX 2019-12-22 07:55:13 +01:00
Michael Fabian 'Xaymar' Dirks
1482cb1d11 cmake: Add clang-format support
This does not rely on the "integrated" clang-format, but instead uses a custom target to achieve the goal. Supports file filtering (to ensure that clang-format only affects supported files), automatic dependency by the project (always run before build), multiple targets and a global target.

Options are:
- TARGETS <target> ...: Targets to add clang-format support to.
- DEPENDENCY: Add a dependency to the given targets so that clang-format runs before building.
- REGEX: Filter out files of the given targets, defaults to '\.(h|hpp|c|cpp)'.
- GLOBAL: Add a global CLANG_FORMAT target.
2019-12-21 17:05:53 +01:00
Michael Fabian 'Xaymar' Dirks
e6220b18f6 project: Temporarily disable Custom Shader filters 2019-12-18 06:39:07 +01:00
Michael Fabian 'Xaymar' Dirks
50ac6893bf gs-effect-parameter: Refactor effect_parameter onto std::shared_ptr
Prevents problems further down the line and supports multiple types of parents to ensure that lifetime is guaranteed.
2019-12-15 10:35:29 +01:00
Michael Fabian 'Xaymar' Dirks
0ad896e905 gfx-shader: Rename from gfx-effect-source 2019-12-15 09:09:11 +01:00
Michael Fabian 'Xaymar' Dirks
738b08de36 gs-effect-pass/technique: Implement wrapper code based on std::shared_ptr
These two wrap the underlying gs_epass and gs_effect_technique objects, to allow direct and improved access to them without relying on the libobs API to provide this access for us. Additionally these make it safe for us to use them instead of relying on C-like code to deal with it.
2019-12-15 09:05:23 +01:00
Michael Fabian 'Xaymar' Dirks
0b14b65ba8 cmake: Add deprecation warning to 32-bit builds 2019-12-03 17:45:37 +01:00
Michael Fabian 'Xaymar' Dirks
aa170c7c54 data: Move example data into examples/ 2019-11-18 03:03:11 +01:00
Michael Fabian 'Xaymar' Dirks
d47ab0570f obs-source-factory: Barebone Source Factory and Instance
This class and template should be used to reduce the code clutter from repeatedly doing the same thing. It requires OBS v24.0 or newer since the get_properties2 and get_defaults2 API were fully implemented with it.
2019-10-18 22:31:52 +02:00
Michael Fabian 'Xaymar' Dirks
5e50d64b8f cmake: Disable Spectre warnings 2019-10-13 06:16:46 +02:00
Michael Fabian 'Xaymar' Dirks
2ba8e9a994 cmake: Reformat 2019-10-13 05:42:54 +02:00
Michael Fabian 'Xaymar' Dirks
66cc3c9926 cmake: Don't warn about not explicitly handled cases in MSVC 2019-09-05 18:10:22 +02:00
Michael Fabian 'Xaymar' Dirks
4ab609015c cmake: Ignore more noise warnings in MSVC 2019-09-04 20:31:18 +02:00
Michael Fabian 'Xaymar' Dirks
5b5a2cd409 cmake: Don't override diagnostics mode in MSVC
This breaks MSVC somehow.
2019-09-04 04:02:58 +02:00
Michael Fabian 'Xaymar' Dirks
c6f75930af cmake: Disable even more MSVC warnings 2019-09-04 03:55:15 +02:00
Michael Fabian 'Xaymar' Dirks
56ee81e2a4 cmake: Disable additional MSVC warnings 2019-09-04 03:47:53 +02:00
Michael Fabian 'Xaymar' Dirks
b3eaa6c43e cmake: Disable warning 4201 and 4514 in MSVC 2019-09-04 03:43:43 +02:00
Michael Fabian 'Xaymar' Dirks
b63796d3ae cmake: Revert previous commit 2019-09-04 03:32:18 +02:00
Michael Fabian 'Xaymar' Dirks
d9e2fbe5c1 cmake: Set Warnings and standard before project call 2019-09-04 03:23:00 +02:00