Michael Fabian 'Xaymar' Dirks
fa8d66b951
code: Disable useless alignment styling and update standard
2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks
5b2e28a723
code: Disable profiling on MacOS
...
This may address a nullptr crash on MacOS with several features.
2023-04-05 19:21:13 +02:00
Michael Fabian 'Xaymar' Dirks
5a3954ae0e
project: Fix License, License headers and Copyright information
...
Fixes several files incorrectly stated a different license from the actual project, as well as the copyright headers included in all files. This change has no effect on the licensing terms, it should clear up a bit of confusion by contributors. Plus the files get a bit smaller, and we have less duplicated information across the entire project.
Overall the project is GPLv2 if not built with Qt, and GPLv3 if it is built with Qt. There are no parts licensed under a different license, all have been adapted from other compatible licenses into GPLv2 or GPLv3.
2023-04-05 18:59:08 +02:00
Michael Fabian 'Xaymar' Dirks
08544b4116
cmake, code: Abuse pre-processor to disable/enable warnings
2023-04-05 18:58:39 +02:00
Michael Fabian 'Xaymar' Dirks
8e52bbf88b
code: Ignore warnings from external code
...
May need to find a better solution such as disabling all warnings on third party code.
2023-04-05 18:58:38 +02:00
Michael Fabian 'Xaymar' Dirks
4fa26dd2d6
code: Always initialize or cast to correct type
2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks
0fe5c7e654
code: Don't use try-catch as function definition
...
This breaks MSVC and results in leaked exceptions.
2023-04-05 18:58:37 +02:00
lainon
6e1566386e
project: Apply more C++ paradigms to the code
...
- Use auto in places where code clarity is improved or identical.
- Replace trivial constructors and destructors with default.
- Use true random for random generation.
- Use std::string_view where it is valid to do so.
- Apply const where it is valid to do so.
- Use references where it is valid to do so.
- Manually optimize memory usage with std::move and std::copy.
- Opt for memory efficient containers where the size is known ahead of time.
Signed-off-by: lainon <GermanAizek@yandex.ru>
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks
cbddee5b90
nvidia: Assign to std::string_view& instead of swapping
...
For unknown reasons this results in an error only when the project is built within git-bash and with cmake. It does not occur with cmake-gui or VS itself.
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks
e6ec0fc4c7
nvidia/ar/facedetection: Add Face Detection feature
2023-04-05 18:51:36 +02:00
Michael Fabian 'Xaymar' Dirks
c1ecfe70b3
nvidia/ar/feature: Add wrapper for AR features
2023-04-05 18:51:35 +02:00
Michael Fabian 'Xaymar' Dirks
913ac4b309
nvidia/ar: Add modern wrapper for Maxine AR SDK
2023-04-05 18:51:35 +02:00
Michael Fabian 'Xaymar' Dirks
c3440d2069
project: Remove undocumented "NVIDIA Face Tracking" feature
...
Originally intended to be an experiment with no future, it turned out to be very popular with streamers that move a lot. In the end it was popular enough that NVIDIA added their own variant to their Broadcast software, which works decently enough. Unfortunately my wrapper code around the library was written very poorly, so it didn't take long for it to break out of nowhere.
2023-04-05 18:51:35 +02:00
Michael Fabian 'Xaymar' Dirks
e4b15d0f73
nvidia/vfx/superresolution: Refactor onto effect class
2023-04-05 18:51:34 +02:00
Michael Fabian 'Xaymar' Dirks
8d029c97a2
nvidia/vfx/denoising: Refactor onto effect class
2023-04-05 18:51:34 +02:00
Michael Fabian 'Xaymar' Dirks
092ba2cad5
nvidia/vfx/greenscreen: Parent class already does this for us
2023-04-05 18:51:34 +02:00
Michael Fabian 'Xaymar' Dirks
883839ed2b
nvidia/vfx/effect: Auto-assign model path, and optimize with const-reference
...
Improves code performance slightly and reduces overall code duplication.
2023-04-05 18:51:34 +02:00
Michael Fabian 'Xaymar' Dirks
39c2fdb943
nvidia/vfx: Optimize by returning a const-reference
...
Prevents a needless deep clone of the path object.
2023-04-05 18:51:34 +02:00
Michael Fabian 'Xaymar' Dirks
939ad35dd7
nvidia/cv: Publicly inherit from std::runtime_error
...
It wasn't possible to cast these exceptions to the underlying type, so they were treated as unknown exceptions.
2023-04-05 18:51:33 +02:00
Michael Fabian 'Xaymar' Dirks
26d854b7ce
nvidia/vfx: Prefer AddDllDirectory over SetDefaultDllDirectories
2023-04-05 18:51:32 +02:00
Michael Fabian 'Xaymar' Dirks
6983be457a
nvidia/cv: Prefer AddDllDirectory over SetDefaultDllDirectories
2023-04-05 18:51:32 +02:00
Michael Fabian 'Xaymar' Dirks
6d20280956
nvidia/vfx/greenscreen: Simple wrapper for the Green Screen effect
2023-04-05 18:51:30 +02:00
Michael Fabian 'Xaymar' Dirks
c714d932b8
nvidia/vfx/effect: Fix 'run()' defaulting to async and expose internals
2023-04-05 18:51:30 +02:00
Michael Fabian 'Xaymar' Dirks
fe4ed123d0
nvidia/cv: Add specialized exception
2023-04-05 18:51:30 +02:00
Michael Fabian 'Xaymar' Dirks
d0762e7150
nvidia/vfx/superresolution: Reduce overall CPU usage by caching results
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
d1c8cda0a3
nvidia/vfx/superresolution: Automatically select ideal scale factors
...
Prevents some scale factors from simply not rendering anything at all, resulting in weird scene layouts. While this may incur a higher performance penalty, it does fix the issue with enough accuracy to be deployed into production.
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
33c665982e
nvidia/vfx/denoising: Add wrapper for Denoising effect
2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks
cebd8fa744
nvidia/vfx/effect: Implement managed effect wrapper
...
Slightly simplifies interaction with effects.
2023-04-05 18:51:16 +02:00
Michael Fabian 'Xaymar' Dirks
7c7ea3c3b6
nvidia/vfx/superresolution: Round to nearest instead of truncate
...
Slightly improves the accuracy of the scaled size calculations.
2023-04-05 18:51:16 +02:00
Michael Fabian 'Xaymar' Dirks
772d21a8b6
nvidia/cuda: Add cuMemsetD# functions
2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks
04c7116f5a
project: Fix various warnings
2023-04-05 18:51:14 +02:00
Michael Fabian 'Xaymar' Dirks
2c4e001751
nvidia/vfx/superresolution: Use resize instead of reallocate
2023-04-05 18:51:11 +02:00
Michael Fabian 'Xaymar' Dirks
cfc463ec0d
nvidia/cv/image: Store alignment for later use
2023-04-05 18:51:11 +02:00
Michael Fabian 'Xaymar' Dirks
faf85138fe
nvidia/cv: NvCVImage_Dealloc returns void
2023-04-05 18:51:11 +02:00
Michael Fabian 'Xaymar' Dirks
cb88682f7c
nvidia/vfx/superresolution: Add wrapper for Super-Resolution effect
2023-04-05 18:51:09 +02:00
Michael Fabian 'Xaymar' Dirks
02c6156f2e
nvidia/vfx: Add wrapper for NVIDIA Video Effects SDK
2023-04-05 18:51:09 +02:00
Michael Fabian 'Xaymar' Dirks
04c3b88d5d
nvidia/cv/texture: Wrapper for gs::texture Images
2023-04-05 18:51:08 +02:00
Michael Fabian 'Xaymar' Dirks
8784c91ec6
nvidia/cv/image: Wrapper for Images
2023-04-05 18:51:08 +02:00
Michael Fabian 'Xaymar' Dirks
84a7685d7b
nvidia/cv: Add NVIDIA Computer Vision wrapper
2023-04-05 18:51:08 +02:00
Michael Fabian 'Xaymar' Dirks
7a94007283
nvidia/cuda: Don't be so extremely spammy
2023-04-05 18:51:08 +02:00
Michael Fabian 'Xaymar' Dirks
0f92a4b499
nvidia/cuda/obs: Release stream before context
2023-04-05 18:51:07 +02:00
Michael Fabian 'Xaymar' Dirks
0f56f822c3
nvidia/cuda/context: Don't try to destroy device contexts
2023-04-05 18:51:07 +02:00
Michael Fabian 'Xaymar' Dirks
6ba51efceb
nvidia/cuda/context: Log the current device name, UUId und LUId
2023-04-05 18:51:07 +02:00
Michael Fabian 'Xaymar' Dirks
1a5dad8d97
nvidia/cuda: Add functions to get device name, UUId and LUId
2023-04-05 18:51:07 +02:00
Michael Fabian 'Xaymar' Dirks
7f5916dd72
nvidia/ar: Adjust to match coding guidelines
2023-04-05 18:51:05 +02:00
Michael Fabian 'Xaymar' Dirks
cd8abac142
nvidia/cuda: Adjust to match coding guidelines
2023-04-05 18:51:05 +02:00
Michael Fabian 'Xaymar' Dirks
dcd4f7f9f0
nvidia/cuda: Apply coding guidelines
2023-04-05 18:50:59 +02:00
Michael Fabian 'Xaymar' Dirks
c84c301d49
obs/gs: Apply coding guidelines
2023-04-05 18:50:59 +02:00
Michael Fabian 'Xaymar' Dirks
d62da72ce5
util: Apply coding guidelines
2023-04-05 18:50:57 +02:00
Michael Fabian 'Xaymar' Dirks
298e32dad4
nvidia/ar: Fix NVIDIA Trademark
2023-04-05 18:50:55 +02:00