Commit Graph

191 Commits

Author SHA1 Message Date
coolsoft.rf bba606e439 gfx/shader: Support for visible and active tracking in parameters
Co-authored-by: Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
2023-04-05 18:51:42 +02:00
Michael Fabian 'Xaymar' Dirks d1fdab45fc filter/transform: Fix mip-map level calculation 2023-04-05 18:51:40 +02:00
Michael Fabian 'Xaymar' Dirks 50a23799b0 filter/transform: Swap parameter names in migration code 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks 29bbe22bec obs/gs/effect: Preprocess shaders to improve platform compatibility
Improves cross-platform compatibility of Shaders written for StreamFX through the use of preprocessing to make things a bit more compatible. While we don't perform any proper parsing, this will be able to prevent basic issues.
2023-04-05 18:51:38 +02:00
Michael Fabian 'Xaymar' Dirks aeb889091e filter/autoframing: Remaining part of ff235b765e 2023-04-05 18:51:37 +02:00
Michael Fabian 'Xaymar' Dirks 2b3535f089 filter/autoframing: Allow specifying Tracking Frequency in Hz 2023-04-05 18:51:36 +02:00
Michael Fabian 'Xaymar' Dirks ad3ac69cd7 filter/auto-framing: Frame your face, automatically! 2023-04-05 18:51:36 +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 f0b0b0d33d filter/denoising: Wait for internal task to be completed 2023-04-05 18:51:33 +02:00
Michael Fabian 'Xaymar' Dirks 926cb740b3 filter/upscaling: Wait for internal task to be completed 2023-04-05 18:51:33 +02:00
Michael Fabian 'Xaymar' Dirks 21f872edfc filter/virtual-greenscreen: Wait for internal task to be completed 2023-04-05 18:51:33 +02:00
Michael Fabian 'Xaymar' Dirks a7fd867be6 filter/upscaling: Set correct parameters to the appropriate textures 2023-04-05 18:51:32 +02:00
Michael Fabian 'Xaymar' Dirks 90bb03779c filter/virtual-greenscreen: Add Virtual Greenscreen filter 2023-04-05 18:51:31 +02:00
Michael Fabian 'Xaymar' Dirks a7faa2e445 filter/transform: Enable Anisotropic Filtering with Mip-Mapping 2023-04-05 18:51:29 +02:00
Michael Fabian 'Xaymar' Dirks 150b728419 filter/transform: Implement 'Corner Pin' mode
'Perspective' and 'Orthographic' work great if you know what the parameters were to generate the exact object position, but what if you don't know them? That is where 'Corner Pin' comes in! With it you can specify the exact location of every corner down to the micro-pixel, instead of fiddling with parameters.

Fixes #565
2023-04-05 18:51:29 +02:00
Michael Fabian 'Xaymar' Dirks e0c6e55259 filter/transform: Modernize code base for future expansion 2023-04-05 18:51:29 +02:00
Michael Fabian 'Xaymar' Dirks a40021b17b filter/transform: Migrate a number of settings for future use 2023-04-05 18:51:29 +02:00
Michael Fabian 'Xaymar' Dirks 948976fce1 effects: Add Draw, DrawPremultiplied to 'standard.effect' 2023-04-05 18:51:29 +02:00
Michael Fabian 'Xaymar' Dirks e3563c7cf4 filter/dynamic-mask: Prevent recursive filter graphs 2023-04-05 18:51:25 +02:00
Michael Fabian 'Xaymar' Dirks 5952dfe73f filter/upscaling: Restore alpha after processing
As none of the known Upscaling algorithms handle Alpha, we need to manually restore and interpolate it properly. While this technically reduces visual quality slightly, the chances of this being noticed are slim to none considering that Upscaling is already a questionable solution to quality. Linear was picked here as it produces the best overall result for scaling, keeping gradients mostly in one piece. Mostly.

Fixes #646
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks fc479bcdaf filter/denoising: Restore alpha after processing
As the Alpha channel is completely ignored and possibly destroyed by denoising algorithms, we should restore the Alpha channel manually. Linear interpolation was chosen here as it will behave like Point if the size matches, and properly interpolate if the size doesn't match.

Fixes: #646
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks e40e7526de filter/upscaling: Update Source Identifier 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks 0e5709f7da filter/denoising: Update Source Identifier 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks f9c03f2c86 filter/denoising: Don't denoise the same image twice 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks 3735627b13 filter/denoising: Use actual size instead of base size of target 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks 45cedde1ae filter/denoising: Restrict size to reasonable numbers
Prevents invalid sizes from being used by the filter, which sometimes happens with Async Sources that aren't quite ready yet.

Fixes: #642
2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks a5166c409e filter/denoising: Fix incorrect define checks 2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks 0ff1e3145d locale: Adjust text to match reality 2023-04-05 18:51:18 +02:00
Michael Fabian 'Xaymar' Dirks 247553fa74 filter/denoising: Add Denoising filter 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks 843a76d1c6 filter/upscaling: 'Video Super-Resolution' -> 'Upscaling'
The previous name was too strict on what could be put into the effect, and would result in additional clutter in the Filter menu when we eventually decide to support other Upscaling methods than Super-Resolution networks.
2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks 03e6ce0dbc filter/video-superresolution: Fix missing UI when selecting Providers 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks 37666b0dc1 filter/video-superresolution: Fix incorrect symbol name 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks 496fe424f4 filter/video-superresolution: Catch all exceptions 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks b8f23fa8ab project: Don't leak exceptions if possible 2023-04-05 18:51:13 +02:00
Michael Fabian 'Xaymar' Dirks bb03864664 filter/video-superresolution: Add Video Super-Resolution filter 2023-04-05 18:51:09 +02:00
Michael Fabian 'Xaymar' Dirks 8d7f2ffec7 filter/nv-face-tracking: Adjust to match coding guidelines 2023-04-05 18:51:05 +02:00
Michael Fabian 'Xaymar' Dirks 66ecc90988 filter/blur: Apply coding guidelines 2023-04-05 18:51:00 +02:00
Michael Fabian 'Xaymar' Dirks 5cdf3d1201 filter/displacement: Apply coding guidelines 2023-04-05 18:51:00 +02:00
Michael Fabian 'Xaymar' Dirks d9d66a19af filter/dynamic-mask: Apply coding guidelines 2023-04-05 18:51:00 +02:00
Michael Fabian 'Xaymar' Dirks 5b0a8cf759 filter/sdf-effects: Apply coding guidelines 2023-04-05 18:50:59 +02:00
Michael Fabian 'Xaymar' Dirks ed84b7bd3e filter/shader: Apply coding guidelines 2023-04-05 18:50:59 +02:00
Michael Fabian 'Xaymar' Dirks f3a1a85340 filters/transform: Apply coding guidelines 2023-04-05 18:50:59 +02:00
Michael Fabian 'Xaymar' Dirks 578d84be63 gfx: 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 1c067b3b5d project: Apply coding guidelines 2023-04-05 18:50:57 +02:00
Michael Fabian 'Xaymar' Dirks 2fa423ca1f filters/color-grade: Apply coding guidelines 2023-04-05 18:50:56 +02:00
Michael Fabian 'Xaymar' Dirks dbfd27860c filters/nv-face-tracking: Apply coding guidelines 2023-04-05 18:50:56 +02:00
Michael Fabian 'Xaymar' Dirks 3c760d8e9c filters/nvidia-face-tracking: Update for new SDK and OBS 27.x 2023-04-05 18:50:53 +02:00
Michael Fabian 'Xaymar' Dirks f316e0aa70 nvidia/cuda: Update to match CUDA 11.1 and later
Adds several new functions that may be required for operation
2023-04-05 18:50:52 +02:00