99 Commits

Author SHA1 Message Date
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
James Park
f046177c4f obs-filters: Remove unused function in shader
SampleYUVToRGB() is no longer used after the previous DrawMatrix purge.
2019-03-23 18:31:38 -07:00
Colin Edwards
609c7dfa2a obs-filters: Add luma key filter 2019-03-20 11:37:38 -05:00
James Park
7d811499e0 Add "Area" scale filter
This new scale filter computes pixels by weighing the coverage area of
source pixels over the target pixel. This algorithm works well for both
upsampling and downsampling, but was mainly designed to upscale
high-quality low-resolution sources like RGB/HDMI retro consoles. I've
heard of people using odd workarounds like scaling up to very high
resolutions before scaling back down to preserve pixel shartpness. This
algorithm directly addresses this use-case in a much more direct
fashion.

The Area scale filter does a better job of preserving the thickness of
thin features than the Point filter.

The Area scale filter does not look at source pixels that lie outside
of the target pixel, leading to a much sharper image than Bilinear,
Bicubic, and Lanczos filters.

This filter should interpolate pixels in linear space, but OBS is not
equipped to do that at the moment.

libobs: Add GPU effect, and wire up scene serialization.

obs-filters: Add Area as an option for scale_filter.

UI: Add Area as an option for both scene items, and canvas downscaling.
2019-03-06 20:53:15 -08:00
Gol-D-Ace
ec42739ad5 Update translations from Crowdin 2019-02-24 23:26:47 +01:00
Gol-D-Ace
c3711bdd5e Update translations from Crowdin 2019-02-20 22:26:07 +01:00
pkviet
fcc9f4e1f9 obs-filters: Add downward expander filter
The downward expander acts as an advanced gate with smoother effect
since it lowers the level instead of discarding audio when below the
threshold.
2019-01-31 20:20:52 +01:00
pkviet
6e8758aa28 obs-filters: Add limiter filter
This adds a hard limiter (based on compressor).
2018-11-28 14:20:06 +01:00
Jim
5cb76c9e79
Merge pull request #1389 from Andersama/scale-filter-variable-resolutions
obs-filters: Add base canvas resolution option
2018-09-18 12:10:04 -07:00
Jim
8435e581ac
Merge pull request #1377 from Andersama/chroma-key-optimization
obs-filters: Optimize chroma key's box filter
2018-09-17 02:18:41 -07:00
Philip Loche
7cfbdcf184 obs-filters: Add "Invert Polarity" audio filter
Allows inverting the polarity of the audio data, which can be useful for
ether purposefully canceling out audio or preventing audio cancellation.

Amends pull request obsproject/obs-studio#1404
2018-09-13 02:51:07 -07:00
Alex Anderson
72cf77102c obs-filters: Avoid skewing chroma key's box filter average
Passes the sample directly to the box filter before it is multiplied by color.
2018-09-12 23:52:22 -07:00
Alex Anderson
73d8220f16 obs-filters: Optimize chroma key's box filter
Reduces number of samples taken for same effect.
2018-09-12 23:52:13 -07:00
Alex Anderson
f8f23a36e7 obs-filters: Add base canvas resolution option
Add a variable resolution to scale to. Requires first commit of #1390.
2018-09-07 18:23:10 -07:00
Gol-D-Ace
a79aaa28ab Update translations from Crowdin 2018-08-18 04:16:35 +02:00
Gol-D-Ace
88282c168c Update translations from Crowdin 2018-03-15 09:00:28 +01:00
Gol-D-Ace
ae22886f67 Update translations from Crowdin 2018-01-22 04:55:52 +01:00
jp9000
60530c8206 obs-filters: Add sidechain source option to compressor
Adds a sidechain (ducking) option to the compression filter.
2017-12-02 13:59:26 -08:00
jp9000
7bd06e7f26 Update translations from Crowdin 2017-10-17 05:39:22 -07:00
Gol-D-Ace
8d8c2e5a22 Update translations from Crowdin 2017-08-10 16:07:40 +02:00
Cephas Reis
f53a595ea2 obs-filters: Optimize and fix alpha in color grade filter
Closes jp9000/obs-studio#945
2017-07-02 15:45:51 -07:00