Michael Fabian 'Xaymar' Dirks
4b36c91fe8
plugin: Don't leak CUDA load exceptions
2023-04-05 18:51:12 +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
bb03864664
filter/video-superresolution: Add Video Super-Resolution filter
2023-04-05 18:51:09 +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
6fc18faab0
util/profiler: Adjust to match coding guidelines
2023-04-05 18:51:08 +02:00
Michael Fabian 'Xaymar' Dirks
61c143a0c8
util: Add is_close function
2023-04-05 18:51:07 +02:00
Michael Fabian 'Xaymar' Dirks
5279993f4b
plugin: If CUDA is requested, ensure it is loaded first
2023-04-05 18:51:07 +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
b4c7d5f91c
util/library: Convert paths to native format
2023-04-05 18:51:06 +02:00
Michael Fabian 'Xaymar' Dirks
57f15b64f7
util/platform: Add Path and String conversion utility functions
2023-04-05 18:51:06 +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
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
733b325f98
gfx/blur/dual-filtering: Clean up code
...
Cleans up the code slightly, without affecting actual functionality
2023-04-05 18:51:02 +02:00
Michael Fabian 'Xaymar' Dirks
011bee032a
gfx/blur/gaussian: Fix Gaussian Kernel generation
...
While the previous method worked, it matches no other implementation including a reference implementation. The new implementation almost perfectly matches the reference implementation and uses oversampling to achieve the goal. This has the downside of limiting the blur size to just 64, but it is necessary in order to achieve correct results.
Fixes #573
2023-04-05 18:51:01 +02:00
Michael Fabian 'Xaymar' Dirks
8a10ca93e5
util: Add Pascal Triangle and integer power
2023-04-05 18:51:01 +02:00
Michael Fabian 'Xaymar' Dirks
cda430ccad
gfx/shader: Apply coding guidelines
2023-04-05 18:51:01 +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
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
015fac588b
obs: Apply coding guidelines
2023-04-05 18:50:58 +02:00
Michael Fabian 'Xaymar' Dirks
82ed11e6c1
source/mirror: Apply coding guidelines
2023-04-05 18:50:58 +02:00
Michael Fabian 'Xaymar' Dirks
2622fd9a3c
source/shader: Apply coding guidelines
2023-04-05 18:50:58 +02:00
Michael Fabian 'Xaymar' Dirks
94e947df03
transition/shader: Apply coding guidelines
2023-04-05 18:50:58 +02:00
Michael Fabian 'Xaymar' Dirks
eb61112d76
util: Remove unused legacy function
2023-04-05 18:50:58 +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
4ead07c23a
ffmpeg: Apply coding guidelines
2023-04-05 18:50:57 +02:00
Michael Fabian 'Xaymar' Dirks
67e122eb65
encoders/codecs: Apply coding guidelines
2023-04-05 18:50:57 +02:00
Michael Fabian 'Xaymar' Dirks
0d13d43dd8
encoders/handlers/amf: Apply coding guidelines
2023-04-05 18:50:56 +02:00
Michael Fabian 'Xaymar' Dirks
13d80dbfbe
encoders/handlers/nvenc: Apply coding guidelines
2023-04-05 18:50:56 +02:00
Michael Fabian 'Xaymar' Dirks
05c6b54838
encoders/ffmpeg: Apply coding guidelines
2023-04-05 18:50:56 +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
b535dec38b
encoders/handlers/nvenc: Fix NVIDIA trademark
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
298e32dad4
nvidia/ar: Fix NVIDIA Trademark
2023-04-05 18:50:55 +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
96c7b101e5
obs/gs/texture: Add new flags and fix flag decoding
2023-04-05 18:50:53 +02:00
Michael Fabian 'Xaymar' Dirks
1d183ae680
uitl/bitmask: Add 'has' function
2023-04-05 18:50:53 +02:00
Michael Fabian 'Xaymar' Dirks
47ef5dd995
nvidia/cuda: Add function to query version directly
2023-04-05 18:50:52 +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
Michael Fabian 'Xaymar' Dirks
70f54b312b
nvidia/cuda: Print the Driver CUDA version to the log
2023-04-05 18:50:52 +02:00
Michael Fabian 'Xaymar' Dirks
3c05d892e6
filter/nvidia-face-tracking: Update to nvidia::cuda::obs
2023-04-05 18:50:52 +02:00
Michael Fabian 'Xaymar' Dirks
18afbdea25
filter/nvidia-face-tracking: Update to new CUDA code
2023-04-05 18:50:52 +02:00
Michael Fabian 'Xaymar' Dirks
fc05b3e4d2
nvidia/ar: Fix bad function definition
2023-04-05 18:50:51 +02:00
Michael Fabian 'Xaymar' Dirks
5adebc5f03
project: Apply formatting
2023-04-05 18:50:51 +02:00
Michael Fabian 'Xaymar' Dirks
7bedb337b9
nvidia/cuda/obs: Add simple CUDA manager for OBS
2023-04-05 18:50:51 +02:00
Michael Fabian 'Xaymar' Dirks
c0a108bf4a
nvidia/cuda/stream: Add synchronize function
2023-04-05 18:50:51 +02:00
Michael Fabian 'Xaymar' Dirks
4dac477500
nvidia/cuda/gs-texture: Add accessors for internals
2023-04-05 18:50:51 +02:00
Michael Fabian 'Xaymar' Dirks
5cd1d13d5f
nvidia/cuda/context: Merge context-stack into context header
2023-04-05 18:50:50 +02:00
Michael Fabian 'Xaymar' Dirks
7b38114469
nvidia/cuda: Log extra information when built for Debug
2023-04-05 18:50:50 +02:00
Michael Fabian 'Xaymar' Dirks
9332d9377c
nvidia/cuda: Add custom exception for CUDA
2023-04-05 18:50:50 +02:00
Michael Fabian 'Xaymar' Dirks
98f711523e
nvidia/cuda: Use util::library and remove CUDA library argument
...
The CUDA library is always available as a singleton, so it does not make sense for it to be passed in. Instead we can simply grab it from the singleton and use it as it is, which makes the code easier to maintain and automates certain code.
2023-04-05 18:50:50 +02:00
Michael Fabian 'Xaymar' Dirks
b4a229e26f
util/logging: Add logging utility
...
Also contains the function signature and name macros.
2023-04-05 18:50:49 +02:00
Michael Fabian 'Xaymar' Dirks
ab22b0d69e
ui/about: Update Supporter and Translator entries
2023-03-28 13:11:22 +02:00
Michael Fabian 'Xaymar' Dirks
d1c5cb4fce
ui/about: Fix stack size problem
2023-03-28 13:11:22 +02:00
Michael Fabian 'Xaymar' Dirks
d1747ff403
ui/about: Remove outdated entry roles
2023-03-28 13:11:21 +02:00
Michael Fabian 'Xaymar' Dirks
f040588570
ui/about: Replace buttons with clickable Entries
...
This reduces the total amount of links Supporters can submit to just one instead of two. Additionally by removing the buttons and making the entry itself clickable, the UI can show more entries at once and allow users to easily make the connection between the entry and the link it opens when clicked.
2023-03-28 13:11:21 +02:00
Michael Fabian 'Xaymar' Dirks
3533a86b96
ffmpeg/tools: Adjust to match ffmpeg-mux color settings
...
The 'obs-ffmpeg-mux.c' file specifies different color parameters than StreamFX does. This causes re-muxing to go haywire, and editors that trust these tags suddenly spew out bad colors for BT.601 and sRGB.
Reverts #478
2023-03-28 13:11:21 +02:00
Michael Fabian 'Xaymar' Dirks
ba61329dd1
ui: Prevent Qt from automatically assigning Menu roles
...
Qt defaults to give every QAction a TextHeuristicRole, which means that certain key words will cause Qt to change how the QAction behaves. We do not want this, so we explicitly assign it to have NoRole instead.
Fixes #323
2023-03-28 13:11:21 +02:00
Michael Fabian 'Xaymar' Dirks
465158476a
ui: Insert StreamFX menu before OBS "Help" menu
...
Instead of adding ourselves as the last entry which seems to confuse the MacOS Qt implementation, we instead insert ourselves before the Help menu. This should hopefully prevent the StreamFX menu from overriding the OBS About entry.
Fixes #323
2023-03-28 13:11:20 +02:00
Michael Fabian 'Xaymar' Dirks
f01d2e6db1
filters/sdf-effects: Improve user experience with visual property groups
...
Grouping properties by what they do improves the user experience as the user does not have to guess at what belongs to which part of the effect. Additionally toggleable groups automatically disable all child elements, so the user is not confused by them still being active.
2023-03-28 13:11:20 +02:00
Michael Fabian 'Xaymar' Dirks
a8c8d3beaa
filters/displacement: Permanently deprecate the filter
2023-03-28 13:11:20 +02:00
Michael Fabian 'Xaymar' Dirks
5a65cf3525
plugin: Replace long descriptions with "Open Manual" button
...
While the long descriptions were useful, keeping the updated and translated is pretty much impossible. Technology moves fast and not everyone that translates the project knows a lot about technology.
Therefore the long descriptions have now been replaced with a button that opens the wiki page for the feature instead. This should drastically reduce the number of help cases, and improve the translation coverage at the same time.
2023-03-28 13:11:20 +02:00
Michael Fabian 'Xaymar' Dirks
48ba34538e
plugin: Add function to open an URL
2023-03-28 13:11:19 +02:00
Michael Fabian 'Xaymar' Dirks
21d455b674
filters/color-grading: Add proper suffixes to UI properties
2023-03-28 13:11:19 +02:00
Michael Fabian 'Xaymar' Dirks
cd7f45eec4
source/shader: Fix missing buffered draw requirement ( #516 )
...
Fixes #516
2023-03-28 13:11:19 +02:00
Michael Fabian 'Xaymar' Dirks
b324ed2b28
filters/color-grading: Adjust range for Lift and Gain ( #515 )
...
Fixes #515
2023-03-28 13:11:19 +02:00
Michael Fabian 'Xaymar' Dirks
0a44333c11
transition/shader: Use direct rendering ( #501 )
2023-03-28 13:11:17 +02:00
Michael Fabian 'Xaymar' Dirks
a2f518224f
source/shader: Use direct rendering ( #501 )
2023-03-28 13:11:17 +02:00
Michael Fabian 'Xaymar' Dirks
4a3d1d4fa5
filter/shader: Use direct rendering ( #501 )
2023-03-28 13:11:17 +02:00
Michael Fabian 'Xaymar' Dirks
e7dd44e3ec
gfx/shader: Allow specifying effect for direct rendering ( #501 )
2023-03-28 13:11:17 +02:00
Michael Fabian 'Xaymar' Dirks
4e21830627
filter/dynamic-mask: Require buffered rendering
2023-03-28 13:11:17 +02:00
Michael Fabian 'Xaymar' Dirks
ed92e7390a
filter/displacement: Require buffered rendering
2023-03-28 13:11:16 +02:00
Michael Fabian 'Xaymar' Dirks
29d60180cc
filter/color-grade: Add direct rendering support ( #501 )
2023-03-28 13:11:16 +02:00
Michael Fabian 'Xaymar' Dirks
4c082ad3a9
filters/color-grade: Fix support for translucent Inputs
...
Additionally also document some of the code and enforce certain GPU states for rendering.
2023-03-28 13:11:16 +02:00
Michael Fabian 'Xaymar' Dirks
303c14de4e
ffmpeg/tools: Fix incorrect transfer characteristics
...
Both Rec. 601 and sRGB looked extremely wrong before, resulting in weird or warped colors. Since it is very difficult to find up to date and accurate information on standards, we should simply go for what has the most widespread support.
2023-03-28 13:11:12 +02:00
Michael Fabian 'Xaymar' Dirks
1909ee01d6
obs/gs/vertex: Don't include unused headers
2023-03-28 13:11:12 +02:00
Michael Fabian 'Xaymar' Dirks
b0ac0b724a
nvidia/cuda: Use reinterpret_case instead of static_cast
2023-03-28 13:11:12 +02:00
Michael Fabian 'Xaymar' Dirks
26a76e0451
filters/color-grade: Redesign for use with LUTs
...
There is hardly any reason for us to recalculate everything all the time. LUTs can cache the work once, and then re-use it every time necessary, drastically reducing the impact of Color Grading by almost 60% (on some GPUs even more). Additionally this fixes the negative gamma issue, which plagued the filter for a while.
In the future, once PR 4199 (https://github.com/obsproject/obs-studio/pull/4199 ) has been merged, we can cut away one intermediate rendering step currently required to make the effect work. Hopefully this will be with the 27.x release of OBS Studio.
2023-03-28 13:11:11 +02:00
Michael Fabian 'Xaymar' Dirks
eba0a467d5
gfx/lut: Add a simple but efficient LUT producer and consumer
...
For simple image and video editing, LUTs (Look-Up Tables) are vastly superior to running the entire editing operation on each pixel - especially if all the processing can be done inside a single shader.
Due to the post-processing requirements for our LUTs, we are limited to 8 bits per channel - though clever use of the unused Alpha channel may result in additional space. For our purposes however, this is definitely enough.
2023-03-28 13:11:11 +02:00
tytan652
6ccac3331a
ui: Don't reference Updater if it's been disabled
...
Merges #446
2023-03-28 13:11:10 +02:00
Michael Fabian 'Xaymar' Dirks
5ac894c59c
cmake: Refactor component and dependency system
...
A complete redesign of the component and dependency system is necessary in order to support additional platforms, such as MacOS and other Linux platforms. Additionally it results in a much cleaner code base, which is less confusing overall.
Eventually it might be necessary to push components of StreamFX into their own CMake projects, as it is getting kind of complex now. Especially with the push for a proper plugin manager, things get dicey for big plugins like StreamFX.
2023-03-28 13:11:10 +02:00
Michael Fabian 'Xaymar' Dirks
b8ff72d6c8
sources/mirror: Clamp minimum size to 1x1
...
This works around an issue in our code with asynchronous or delayed sources.
2023-03-28 13:11:10 +02:00