361 Commits

Author SHA1 Message Date
Lain c3046ec172 libobs/graphics: Break image file API to prevent ABI issues 2026-08-21 15:43:20 -04:00
Matt Gajownik f2db0972ee Update translations from Crowdin 2026-07-09 14:48:07 -04:00
PatTheMav d838e11983 plugins: Force C language for clang-format
Only applies to actual C-based plugins.
2026-06-17 15:17:09 -04:00
jpark37 290904c47d obs-filters: Add filter to compose SDR into HDR
Provide ability to use power of 2.4 to simulate BT.1886 for Rec. 709.
2026-05-26 15:16:00 -04:00
Exeldro b093030106 frontend, obs-filters: Add missing file support for filters 2026-05-07 12:58:16 -04:00
Ryan Foster 9a4666e284 obs-filters: Remove unnecessary nvafx-load.h header
This was left behind from 50b0943cec.
2026-02-12 18:13:00 -05:00
Matt Gajownik a5f0988933 Update translations from Crowdin 2026-01-10 01:02:43 -05:00
Matt Gajownik 99c3a4b797 Update translations from Crowdin 2025-09-08 22:38:40 -04:00
pkv 50b0943cec obs-filters: Purge NVIDIA Noise suppression
This completely removes what remained in obs-filters of NVIDIA FX, which
have been moved to their own project.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv ffd3a2a34e obs-filters: Remove unused NVIDIA effect
The greenscreen effect was moved to nv-filters project.
But this file failed to be removed.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
PatTheMav 813c95f4ca libobs: Update sharpness effect to enable compilation for Metal
A boolean comparison that involves at least one vector type will
result in a boolean vector (not a boolean scalar) for Direct3D and
Metal, whereas OpenGL returns a scalar boolean.

To avoid unnecessary code complexity, use the "distance" function
instead, which treats the color values as vectors and returns a
non-zero value if they are any different, achieving the same result.
2025-08-20 17:01:09 -04:00
Matt Gajownik 70c85f9875 Update translations from Crowdin 2025-07-01 13:34:08 -04:00
Matt Gajownik ffef7504ac Update translations from Crowdin 2025-06-09 14:55:50 -04:00
PatTheMav d6e5ecd88a plugins: Add ARM64 support to obs-ffmpeg, obs-filters, and obs-outputs 2025-03-12 16:33:00 -04:00
thirumalai-qcom b9fa929ab3 obs-filters: Rename S_THRESHOLD to S_FILTER_THRESHOLD
Rename S_THRESHOLD to S_FILTER_THRESHOLD to prevent macro redefinition
warnings in obs-filters.
2025-02-28 16:29:57 -05:00
jpark37 689c0094b8 libobs: plugins: Use MAD for sRGB functions
Also fix stray comment about pow behavior.
2025-01-29 14:11:34 -05:00
pkv 69a825b71b obs-filters: Maintain order of migrated NVAFX filters
This fixes a bug where the NVIDIA NVAFX filters are migrated but not
kept in their original order, with respect to other filters.

Signed-off-by: pkv <pkv@obsproject.com>
2024-12-10 14:34:48 -05:00
Translation Updater 0b2c85845e Update translations from Crowdin 2024-12-06 23:21:55 +00:00
Exeldro f08c9523e4 obs-filters: Move nvafx migration to queued task 2024-11-07 16:07:13 -05:00
Translation Updater e6d9f73736 Update translations from Crowdin 2024-10-05 05:02:27 +00:00
Ryan Foster a1fbf1015f clang-format: Increase column limit from 80 to 120 2024-10-04 18:19:27 -04:00
PatTheMav 6c590805e8 cmake: Update supported CMake version range to 3.28 and 3.30 2024-09-13 14:42:32 -04:00
tytan652 31385006d5 Remove legacy_check CMake macro
The macro was not removed in 72428ccd97
waiting for submodules to be be updated to a commit where their legacy
code path is removed.
2024-09-11 13:24:39 -04:00
pkv 7fdcb166b4 obs-filters: Fix building of noise reduction
If speex and rnnoise are disabled but nvafx is enabled, the noise
reduction filter still needs to be built. This fixes the issue.

Co-authored-by: Ryan Foster <ryan@obsproject.com>
Signed-off-by: pkv <pkv@obsproject.com>
2024-09-10 14:50:46 -04:00
tytan652 72428ccd97 Remove CMake legacy code path
Except submodules and legacy_check macro since the former depend on it.
2024-08-28 13:53:25 -04:00
PatTheMav b8cfacaec3 Update formatting of CMake files 2024-08-14 12:07:47 -04:00
pkv 00c495b203 obs-filters: Move NVIDIA filters in their own project
This commit does the following:
1. Factor out NVIDIA Audio Effects from Noise Suppression filter.
2. Move NVIDIA Audio Effects to a new filter in a new nv-filters
project.
3. Migrate Noise Suppression filter settings to the new filter when
NVIDIA Audio effects were used.
4. Migrate NVIDIA AI Greenscreen to the new nv-filters project for
easier maintainance of all NVIDIA Maxine effects.

Context:
 Currently, the three NVIDIA Audio Effects (noise suppression, room
echo removal, noise suppression + room echo removal combined) are part
of the noise suppression filter.
Historically, it's because a lot of code was shared between speex,
rnnoise & NVIDIA noise suppression.
But the NVIDIA code has become bulkier & cumbersome due to:
- addition of other effects;
- addition of a deferred loading thread.
The factorisation makes the code very difficult to maintain for
(un)readability reasons.
This will make it easier to add other audio effects, should we wish to.
Developers life will be easier too when debugging.
The code has been reorganized and comments added.
I also added a mutex in the process_fx function to avoid a crash when
swapping effects.

Signed-off-by: pkv <pkv@obsproject.com>
2024-08-08 15:53:52 -04:00
Norihiro Kamae d2971d1aaa obs-filters: Remove unused functions when NvAFX is disabled 2024-08-07 17:27:49 -04:00
Translation Updater e7d6707fa7 Update translations from Crowdin 2024-07-17 09:34:12 +00:00
Translation Updater 8999d9fef9 Update translations from Crowdin 2024-06-07 09:47:58 +00:00
Exeldro 97a20c478c obs-filters: Do not load NVVFX on OpenGL 2024-06-05 19:27:00 -04:00
cg2121 f60d6bcfe2 rnnoise: Fix compilation not working on latest gcc
The latest gcc spits out an error about calloc parameters that are
in the wrong order.
2024-05-16 18:29:06 -04:00
PatTheMav 34f8abae1f plugins: Update Linux slice of cross-platform plugins for CMake 3.0
Also silences acknowledged compile warnings introduced by the updated
compiler settings in the CMake update.
2024-04-13 23:48:38 -04:00
Warchamp7 b67338c448 plugins: Remove dynamic default path properties 2024-04-09 21:10:50 -04:00
Translation Updater 10b02e11d0 Update translations from Crowdin 2024-03-12 18:11:06 +00:00
Vainock 7ae66c72fd Update translations from Crowdin 2024-02-28 14:20:05 -05:00
Translation Updater ac484a066f Update translations from Crowdin 2024-01-29 20:47:38 +00:00
derrod 8ec91bab04 obs-filters: Replace circlebuf with deque 2024-01-16 16:45:10 +01:00
PatTheMav eae5cc1e38 plugins: Update CMake formatting with manual format choices 2023-12-19 17:59:44 -05:00
Translation Updater f674d17168 Update translations from Crowdin 2023-12-05 22:04:31 +00:00
PatTheMav 7ae1c35fcb obs-filters: Remove LTCG linker flag for SpeexDSP builds on Windows
Flag was added in CMake 2.0 update and is incompatible with incremental
linking enabled by default for Debug configuration (MSVC default).

The original error that necessitates adding LTCG is not present with
current obs-deps anymore, so remove it instead and disable the
hard-coded default library directive in Debug configuration.
2023-11-16 23:24:41 +01:00
jpark37 35f8481498 obs-filters: Add maxRGB tonemapper for SDR
Preserves saturation better than our Reinhard.
2023-11-11 17:50:34 -06:00
jpark37 e79e28598b libobs,obs-filters: Use common straight alpha math
This pattern uses fewer instructions and also avoids using max, which
does not work on infinity.

Also remove unreferenced techniques from scale filters.
2023-11-04 18:12:22 -05:00
Translation Updater 0d450a34a0 Update translations from Crowdin 2023-10-10 13:34:41 +00:00
jpark37 e11e2133e2 libobs,obs-filters: Fix NAN when tonemapping
Can happen when colors are wider than Rec. 2020.
2023-10-04 19:33:54 -04:00
pkv 737b21230d obs-filters: Add a mutex when running NVIDIA Audio FX
This fixes a bug when swapping NVIDIA effects.
The update signal triggers a destruction of the previous effect, but the
effect would still run, potentially causing a crash.
The mutex added in the NVIDIA processing function prevents that.

Signed-off-by: pkv <pkv@obsproject.com>
2023-08-19 16:44:11 -07:00
pkv 79232c3cec obs-filters: Update NVIDIA Effects SDK versions
We need to check for new versions of the NVIDIA Effects redistributables
because mismatched versions of the AUDIO and VIDEO sdk can have
different CUDA versions of the deps, which has caused crashes in obs.
It'd be way better that NVIDIA either ships a single installer with both
audio and video effects or that they auto-install with the drivers.
But meanwhile, we provide a warning to users which requires us to keep
in sync with what's released.

Signed-off-by: pkv <pkv@obsproject.com>
2023-08-17 03:37:30 -07:00
Translation Updater ecf914dd67 Update translations from Crowdin 2023-08-13 14:09:15 +00:00
Ryan Foster d00068cb6c plugins: Update CMake minimum to 3.22
Since Ubuntu 22.04 is now our minimum supported Ubuntu version, and it
has CMake 3.22, let's make CMake 3.22 the minimum CMake version.
2023-08-05 16:45:46 -07:00
Ryan Foster a167d7f916 obs-filters: Fix legacy CMake obs_status for RNNoise
Setting ENABLE_RNNOISE to OFF would result in SpeexDSP being logged as
disabled. Correct the CMake logging.
2023-07-12 12:10:20 -04:00