Commit graph

191 commits

Author SHA1 Message Date
Xaymar
aad4835fe9
locale: New Crowdin updates (#464)
* New translations en-US.ini (Japanese)
2021-02-21 04:35:36 +01:00
Michael Fabian 'Xaymar' Dirks
e436d22367 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.
2021-02-06 16:22:22 +01:00
Michael Fabian 'Xaymar' Dirks
f396f52054 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.
2021-02-06 16:22:22 +01:00
Michael Fabian 'Xaymar' Dirks
92e0c03008 effects: Add RGB, HSV, and YUV conversion functions 2021-02-06 16:22:22 +01:00
Michael Fabian 'Xaymar' Dirks
6d1d85ae2b effects: Add generic shared header with common code 2021-02-06 16:22:22 +01:00
Xaymar
7b2da84ded
locale: New Crowdin updates (#449)
* New translations en-US.ini (French)
2021-02-06 13:35:50 +01:00
kilin
999362b5f9
examples: Add Pixelation filter shader (#418) 2021-02-06 13:18:05 +01:00
Xaymar
e10d4d106b
locale: New Crowdin updates (#401)
* New translations en-US.ini (Turkish)
* New translations en-US.ini (Sinhala)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (Czech)
* New translations en-US.ini (Serbo-Croatian)
2021-01-31 17:21:14 +01:00
Xaymar
9300acec84
locale: New Crowdin updates (#397) 2020-12-04 13:37:29 +01:00
Xaymar
6d1492e57f
locale: New Crowdin updates (Turkish) (#373) 2020-12-04 08:34:05 +01:00
Michael Fabian 'Xaymar' Dirks
cbd75767fa encoders/ffmpeg: Implement AMF H.264 and H.265 handlers
Adds support for the AMD Advanced Media Framework H.264 and H.265 encoders via FFmpeg. The majority of settings are supported, and the UI/UX experience mimics that of the NVENC implementation. Various settings are left out due to their complexity and should be controlled via the custom parameters field.
2020-12-04 08:32:20 +01:00
Michael Fabian 'Xaymar' Dirks
ad249a8e73 examples: Fix typo "_Random" -> "Random"
Fixes: #356
2020-11-02 01:49:49 +01:00
Daniel Hodgson
96ea36e07a
examples: Added adjustable luminance to hexagon size (#364) 2020-11-01 17:28:45 +01:00
Daniel Hodgson
6841e883a9
examples: Fix incorrect angles for "hexagonize" effect
The value for "deg30" was incorrectly calculated as (pi / 15.0) instead of (tau / 12.0).
2020-10-31 11:28:18 +01:00
Xaymar
a769bc4548
locale: New Crowdin updates (#342) 2020-10-09 22:01:11 +02:00
Michael Fabian Dirks
01ce07327b
locale: New Crowdin updates (#335) 2020-09-25 21:34:17 +02:00
Michael Fabian 'Xaymar' Dirks
81a970473f updater: Add functionality to check for updates
Implements a manual and automatic update checker with support for both release and testing update channels, allowing users to stay as up to date as possible. It is fully compliant with privacy regulations around the world, as it stays completely silent and inactive until the user gives the Ok to connect to GitHub for the latest releases.
2020-09-24 02:01:40 +02:00
Michael Fabian Dirks
7c55202140
locale: New Crowdin updates (#308) 2020-09-07 22:39:47 +02:00
Charles Fettinger
1794a8c7dd
examples: Add colored and inverted luma burn varitions (#283)
Adds colored and inverted colored variations for Luma Burn, enabling some more fancy transitions with it. All variations with color support smooth fading, and allow choosing any possible color for the transition.
2020-09-07 22:06:30 +02:00
Robert Moggach
f2ec4200cf
examples/sahders: Add concentric rings shader (ShaderToy: Xsl3RX) (#310) 2020-08-10 02:29:32 +02:00
Michael Fabian Dirks
c9c6f1803d
locale: Update with latest Crowdin changes 2020-07-26 19:24:24 +02:00
Charles Fettinger
60686e7f23
examples/shaders: Add Shadertoy effects and conversion template (#270) 2020-07-14 16:59:00 +02:00
Michael Fabian 'Xaymar' Dirks
d5f34f5a41 encoders/handlers/nvenc: Update locale text
The new text should make it easier to understand for end-users.
2020-07-06 01:28:30 +02:00
Michael Fabian 'Xaymar' Dirks
f10258becb encoders/handlers/nvenc: Don't list 'each' mode for H.264 2020-07-06 01:28:30 +02:00
Michael Fabian 'Xaymar' Dirks
1ba3db5719 encoders/handlers/nvenc: Improve UI/UX for NVENC
* "Quality" Minimum/Maximum is actually QP Minimum/Maximum
* Bitrate Limits is now just Limits
* Buffer Size and Quality Target have been moved into "Limits".
2020-07-06 01:28:30 +02:00
Michael Fabian 'Xaymar' Dirks
2f9eeb3e6a examples/shaders: Add new per-activation random to sliding bars transition 2020-07-06 01:27:23 +02:00
Michael Fabian 'Xaymar' Dirks
717b38f3f7 gfx/shader: Add Per-Instance/Activation/Frame Random values 2020-07-06 01:27:23 +02:00
Michael Fabian 'Xaymar' Dirks
6e0f85d3f7 encoders/ffmpeg: Rebase onto obs::encoder_factory 2020-06-21 19:24:58 +02:00
Michael Fabian 'Xaymar' Dirks
7b8774b834 gfx/shader: Inlining, std::string_view and optimizations 2020-05-31 01:41:07 +02:00
Michael Fabian Dirks
5aed075978
locale: New Crowdin translations (#195) 2020-05-13 04:21:14 +02:00
Michael Fabian 'Xaymar' Dirks
f111330f8e filters/nv-face-tracking: Improve tracking and remove high priority CUDA stream
The high priority CUDA stream causes libOBS to be at a lower priority than the tracking, which is not what we want. Instead we want tracking to be incomplete in those cases, rather than slowing down encoding and other things.

Geometry updates are also now done once per frame instead of one per tracking update, which should improve the smoothness without affecting performance too much. Additionally all tracking info is now in the 0..1 range, which drastically simplifies some math - especially with texture coordinates.

To deal with tracking and updates being asynchronous, a very simple approximation of movement velocity has been added. This is mostly wrong, but it can bridge the gap where tracking updates are slower, as the values are all filtered anyway.
2020-05-13 02:30:15 +02:00
Michael Fabian 'Xaymar' Dirks
a26827f614 ui/about: Add version information 2020-05-12 15:07:38 +02:00
Michael Fabian 'Xaymar' Dirks
7cd14daa1f examples: Remove broken effects 2020-05-02 21:43:14 +02:00
Michael Fabian 'Xaymar' Dirks
28aca9ff15 gs-mipmapper: Update API usage, remove broken options and optimize
The new libOBS API allows us to directly access the underlying API instead of having to mess around in memory. By using it we can avoid crashing in case the compiler for it is different, or in case the actual back end structure changes.

Additionally the mostly unimplemented and unused options have also been removed, which streamlines the use of this class even further and reduces both shader and code complexity.

Finally by optimizing the use of the internal render target we can achieve a speed up of up to 3000% over the old way, allowing for many more mipmapped filters.
2020-04-25 08:40:06 +02:00
Michael Fabian 'Xaymar' Dirks
93207d4655 gfx-shader: Actually write alpha channel to render target 2020-04-24 06:18:12 +02:00
Michael Fabian Dirks
69a39e7708
locale: New Crowdin translations (#178) 2020-04-24 05:35:56 +02:00
Michael Fabian 'Xaymar' Dirks
ead6f28ca9 locale: Fix missing '[Alpha]' 2020-04-24 01:34:18 +02:00
Michael Fabian 'Xaymar' Dirks
cb215881a9 source-shader: Add ShaderToy MslfRn
Adds 'https://www.shadertoy.com/view/MslfRn' as a usable shader.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
b765d6e745 source-shader: Add ShaderToy MslGRn
Converts 'https://www.shadertoy.com/view/MslGRn' into a usable StreamFX shader.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
98ea37b2e2 source-shader: Add ShaderToy 3tlXWS
Converts 'https://www.shadertoy.com/view/3tlXWS' into a usable StreamFX Shader.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
fdcecf25c9 source-shader: Add ShaderToy 3l23Rh
Converts 'https://www.shadertoy.com/view/3l23Rh' into a Shader usable by StreamFX's Shader Source.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
d42d26db3d filter-shader: Add 'semiline' effect
The 'semiline' effect blanks out horizontal lines of increasing size, with some configuration options. Example: https://cdn.xaymar.com/private/2020-04-23/2020-04-23T08-00-37_obs64_HeartyNavyblueAtlanticridleyturtle.png
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
7a929d6af4 locale: Add missing and remove unused strings 2020-04-23 09:14:31 +02:00
Michael Fabian 'Xaymar' Dirks
d0941895ad project: Refactor into namespace streamfx 2020-04-23 00:50:39 +02:00
Michael Fabian Dirks
fec55909ef
locale: New Crowdin translations (#167) 2020-04-22 23:15:16 +02:00
Michael Fabian Dirks
6794edb223
locale: New Crowdin translations (#153) 2020-04-17 11:13:57 +02:00
Michael Fabian 'Xaymar' Dirks
a989709b6f examples: Fix some example shaders and add new ones
* Fixed 'Pixelator's color transition point being off-center and uncontrollable.
* Fixed 'Drunk' filter not working at all.
* Added an inverted mode to 'Luma Burn'.
* Added exponential Luma to 'Luma Burn'.
* Fixed odd color behavior in the 'Color Shift' transition by switching out HSL with HSV.
* Added a new 'Sliding Bars' transition shader, for an example of it see this clip: https://clips.twitch.tv/RacyEndearingHorseradishAMPTropPunch .
2020-04-17 11:13:36 +02:00
Michael Fabian Dirks
e16b4f0004
locale: New Crowdin translations (#133) 2020-04-08 23:10:19 +02:00
Michael Fabian 'Xaymar' Dirks
4b5754679e ffmpeg-encoder/prores: Fix typo in english locale 2020-04-05 06:50:54 +02:00
Michael Fabian 'Xaymar' Dirks
9e9e9cbcd5 ffmpeg-encoder/prores: Improve pixel format override logic 2020-04-04 19:34:58 +02:00