119 Commits

Author SHA1 Message Date
jpark37
6eec19771a obs-filters: Reduced GPU work for common LUT cases
Add "Passthrough Alpha" checkbox where alpha doesn't need sanitization.

Remove domain checks, Intel UHD Graphics 750: 591 µs -> 532 µs
Alpha passthrough, Intel UHD Graphics 750: 532 µs -> 486 µs
2022-02-19 15:29:48 -08:00
jpark37
873e3a0aae obs-filters: Reduce 3D LUT calculations
Single tap is good enough.

Intel UHD Graphics 750: 860 µs -> 591 µs
2022-02-19 15:29:48 -08:00
jpark37
8e8c29d84c obs-filters: Interpolate LUT in linear space
More accurate and cheaper.

This is a breaking change because Amount is also now computed as linear,
but most users are probably using 1.0, so v2 isn't worthwhile.

Intel UHD Graphics 750: 980 µs -> 860 µs
2022-02-19 15:29:48 -08:00
jpark37
c434d4d39b obs-filters: Update original.cube
Need more LUT entries to reduce error when shader is optimized.
2022-02-19 15:29:48 -08:00
Translation Updater
ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
Translation Updater
062de2c998 Update translations from Crowdin 2021-12-17 08:01:29 +00:00
Translation Updater
261345f9ef Update translations from Crowdin 2021-12-12 02:38:59 +00:00
Vainock
11a690b038 Update translations from Crowdin 2021-09-24 09:42:08 -07:00
Translation
ef2b1eb1c6 Update translations from Crowdin 2021-06-11 07:18:15 -07:00
jpark37
08c5f02010 obs-filters: Fix swapped chroma distance values 2021-06-02 03:37:46 -07:00
Gol-D-Ace
90df8d44df Update translations from Crowdin 2021-05-30 20:33:35 +02:00
jpark37
9e3dfa2409 obs-filters: Premultiply alpha for precision
For Apply LUT, and Luma Key, multiply alpha in shader instead of blend
unit for extra precision.
2021-05-14 01:01:05 -07:00
jpark37
9e092bf28e obs-filters: Fix color key distance
Was incorrectly computing distance between linear color and nonlinear
key. Make color nonlinear to match previous behavior.
2021-05-11 20:23:19 -07:00
jpark37
67c2c45964 obs-filters: Fix shader for LUT on OpenGL 2021-05-05 09:42:11 -07:00
jpark37
e55bfa8e20 obs-filters: Increase opacity precision
For v2 filters, switch Opacity settings from integer [0, 100] to
floating-point [0.0, 1.0] with four decimal places for granular blacks.

Also multiply alpha in shader to maintain precision.
2021-04-30 00:19:49 -07:00
jpark37
8c513ab84c obs-filters: Fix bad math in Color Key v1
Do not treat incoming color uniform as premultiplied.
2021-04-29 13:35:50 -07:00
jpark37
607ee098c5 obs-filters: Handle premultiplied alpha input
Mostly by converting to straight alpha in shader when necessary.
2021-04-28 18:09:52 -07:00
Ryan Foster
8946f02270 obs-filters: Use correct branding for NVIDIA Noise Removal
The feature name is "Noise Removal" with that exact capitalization.
"NVIDIA Noise Removal" or "Noise Removal, powered by NVIDIA Broadcast"
are the two valid options for displaying this feature name in the UI.
2021-04-27 15:29:08 -04:00
pkv
a5fab92d6f obs-filters: Better describe denoiser methods in menu
The description of the noise suppression methods was updated to
reflect cpu usage and quality in a more accurate manner.
2021-04-25 09:34:45 -07:00
jpark37
54656af340 obs-filters: Add color settings to correction v2
Restore color tint/overlay functionality, but with separate controls for
tinting (multiply) and overlay (add).
2021-04-09 06:45:13 -07:00
jpark37
593835c227 obs-filters: Perform chroma key in nonlinear space
Don't want to deal with regressions from using linear space right now.
2021-04-04 00:58:38 -07:00
pkv
54892b27db obs-filters: Add RTX denoiser
This adds RTX denoiser filter to be used with RTX GPUs.
(from Nvidia Audio Effects SDK)
2021-03-13 12:17:11 -08:00
jpark37
b460f025ed obs-filters: Fix pow arguments
GLSL does not auto-promote float to vector where HLSL does.
2021-01-23 01:53:11 -08:00
jpark37
a11e34615d obs-filters: Apply sharpness filter in linear space 2021-01-21 07:57:57 -08:00
jpark37
ad2527765f obs-filters: Apply luma key filter in linear space
Also switch from 601 to 709 luma coefficients to match other filters.
2021-01-21 07:57:43 -08:00
jpark37
e66d49cd83 obs-filters: Apply color key filter in linear space
Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:57:15 -08:00
jpark37
22a7fd1cf3 obs-filters: Apply color grade filter in linear space 2021-01-21 07:57:15 -08:00
jpark37
e812a133ee obs-filters: Apply color correction filter in linear space
The newly versioned filter also has color overlay removed. We can add it
back if the demand is there, but I'd rather not maintain it.

Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:56:34 -08:00
jpark37
47da18e26c obs-filters: Apply chroma key filter in linear space
Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:55:50 -08:00
Gol-D-Ace
7368a2c7cc Update translations from Crowdin 2020-12-14 00:29:44 +01:00
Gol-D-Ace
7ab98ca00f Update translations from Crowdin 2020-11-25 20:11:39 +01:00
Gol-D-Ace
c66ebde080 Update translations from Crowdin 2020-09-27 23:07:27 +02:00
Jérémy Farnaud
7e39109a86 obs-filters: Add option to use RNNoise for noise reduction
This commit adds support to using Xiph and Mozilla RNNoise library for
noise reduction.

RNNoise is a small library using an AI approach to noise reduction
using a pre-trained model like RTX Voice. But unlike RTX Voice, it is
very tiny, use CPU instead of GPU and only use little resources.
Obviously it is not as efficient but will effectively remove background
noise. It uses more CPU than the existing libspeex-based noise
reduction but it also sounds sounds way better.

RNNoise support is added to the noise reduction effect. It can be
enabled with a checkbox in the effect configuration. RNNoise has no
settings.
2020-08-18 11:25:21 -07:00
jpark37
34d70c6832 obs-filters: 3D LUT tetrahedral interpolation
As requested by Adobe CUBE spec.
2020-04-08 17:00:45 -07:00
jpark37
3aef198921 obs-filters: Implement CUBE LUT domain properly
Previously assuming zero to one instead of respecting values.
2020-03-22 18:25:32 -07:00
Gol-D-Ace
d74fc65047 Update translations from Crowdin 2020-03-16 20:14:50 +01:00
jpark37
5306f56e89 obs-filters: Add Cube LUT samples 2020-01-12 20:02:33 -08:00
jpark37
f452bfeedd obs-filters: Add grayscale LUT image
Not sure what effect black_and_white.png is going for. Add grayscale.png
to try to make it clear that the other image shouldn't be used for
desaturation.
2019-12-26 09:41:47 -08:00
jpark37
e4d8eaa1bc obs-filters: Use volume texture for LUT
Simplifies shader calculations. Not much perf gain, but GPA shows
bottleneck shift from Shader Execution to Sampler as expected.
2019-12-15 14:38:32 -08:00
VodBox
6645eaf1b8 obs-filters: Add toggle for scroll filter looping
By giving the option to disable the looping in the scroll filter, it
makes it more suitable for tasks like credits sequences, where you don't
want the texture to repeat and for the motion to only be performed once.
2019-11-07 06:25:36 -08:00
Clayton Groeneveld
2d6494ec00 obs-filters: Fix sharpness not being translated 2019-10-09 05:23:15 -05:00
Gol-D-Ace
03b5be75e4 Update translations from Crowdin 2019-09-17 23:21:00 +02:00
Clayton Groeneveld
3ea354b4e4 UI, obs-plugins: Add spinbox suffixes where necessary 2019-07-18 04:03:38 -05:00
Gol-D-Ace
973bc481ce Update translations from Crowdin 2019-06-11 01:42:42 +02:00
James Park
493648c6d2 obs-filters: Remove unused key_rgb shader variable
Variable was never used. Clean up both C++ and shader code.
2019-05-18 22:14:27 -07:00
James Park
dde6257bd9 obs-filters: Remove unused variable for color key 2019-05-18 22:12:19 -07:00
Jim
397f3733cf
Merge pull request #1685 from DDRBoxman/luma
obs-filters: Add luma key filter
2019-04-14 04:24:16 -07:00
Gol-D-Ace
e78ac5ebef Update translations from Crowdin 2019-04-04 16:19:51 +02:00
Jim
faa2ba3617
Merge pull request #1776 from jpark37/unused-function
obs-filters: Remove unused function in shader
2019-03-26 14:08:02 -07:00
James Park
36201d9b67 libobs: Remove dead code in sharpness effect
Not sure why, but there's a dead uniform and interpolant in the
sharpness effect. This change removes them.
2019-03-25 08:38:45 -07:00