Commit Graph

222 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks 91c9df3097 project: Apply Coding Guidelines 2023-04-05 18:51:13 +02:00
Xaymar 041989df91 locale: New Crowdin updates (#607) 2023-04-05 18:51:13 +02:00
Xaymar 88dbc816c7 locale: New Crowdin updates (#601) 2023-04-05 18:51:13 +02:00
Xaymar 0ec413a2e5 locale: New Crowdin updates (#600)
* New translations en-US.ini (Korean)
2023-04-05 18:51:12 +02:00
Xaymar db554c7fea locale: New translations (#594) 2023-04-05 18:51:12 +02:00
Carlos Baraza d166a26d4c examples: Add rounded-rect Shader
Adapted from (https://github.com/Oncorporation/obs-shaderfilter/blob/master/data/examples/rounded_rect.shader) by @carlosbaraza.
2023-04-05 18:51:11 +02:00
Xaymar 32ce289148 locale: New Crowdin updates (#590) 2023-04-05 18:51:10 +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 9563754bfb examples: Add 'Colorize' Filter Shader 2023-04-05 18:51:04 +02:00
Michael Fabian 'Xaymar' Dirks 85cd74a0a2 examples: Add 'Vignette' Filter Shader 2023-04-05 18:51:04 +02:00
Michael Fabian 'Xaymar' Dirks e0f896c02a examples: Add 'Repeat' Filter Shader 2023-04-05 18:51:04 +02:00
Michael Fabian 'Xaymar' Dirks 9f2035cb20 examples: Add 'Posterize' Filter Shader 2023-04-05 18:51:04 +02:00
Michael Fabian 'Xaymar' Dirks a7b9e3d28f examples: Add 'Spin Blur' Transition Shader 2023-04-05 18:51:03 +02:00
Michael Fabian 'Xaymar' Dirks 2b62d9a587 examples: Add 'Gaussian Blur' Filter Shader 2023-04-05 18:51:03 +02:00
Xaymar 5d53246c1a locale: New Crowdin updates (#575) 2023-04-05 18:51:03 +02:00
Michael Fabian 'Xaymar' Dirks a517514d37 gfx/blur: Fix type mismatch in OpenGL shaders 2023-04-05 18:51:03 +02:00
Xaymar c25231fcb3 locale: New Crowdin updates (#558) 2023-04-05 18:51:02 +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 5d4f88e614 gfx/blur: Reduce code duplication with shared file
A lot of the blur effects share quite a bit of code, which can be offloaded into a single include.
2023-04-05 18:51:01 +02:00
Michael Fabian 'Xaymar' Dirks 1fcd141f10 filter/blur: Don't pass bool as TEXCOORD1
Using a 'bool' as TEXCOORD1 is undefined behavior, so we should not abuse the intermediate shading storage like this.

Fixes #559
2023-04-05 18:51:01 +02:00
Michael Fabian 'Xaymar' Dirks dbfd27860c filters/nv-face-tracking: Apply coding guidelines 2023-04-05 18:50:56 +02:00
Xaymar aacbe53679 locale: New Crowdin updates (#556)
* New translations en-US.ini (Arabic)
* New translations en-US.ini (Chinese Simplified)
* New translations en-US.ini (Czech)
* New translations en-US.ini (Danish)
* New translations en-US.ini (Dutch)
* New translations en-US.ini (Estonian)
* New translations en-US.ini (Faroese)
* New translations en-US.ini (Finnish)
* New translations en-US.ini (French)
* New translations en-US.ini (German)
* New translations en-US.ini (Greek)
* New translations en-US.ini (Hebrew)
* New translations en-US.ini (Hungarian)
* New translations en-US.ini (Icelandic)
* New translations en-US.ini (Irish)
* New translations en-US.ini (Italian)
* New translations en-US.ini (Japanese)
* New translations en-US.ini (Korean)
* New translations en-US.ini (Mongolian)
* New translations en-US.ini (Norwegian)
* New translations en-US.ini (Polish)
* New translations en-US.ini (Portuguese)
* New translations en-US.ini (Portuguese, Brazilian)
* New translations en-US.ini (Romanian)
* New translations en-US.ini (Russian)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (Thai)
* New translations en-US.ini (Turkish)
* New translations en-US.ini (Ukrainian)
* New translations en-US.ini (Vietnamese)
2023-04-05 18:50:54 +02:00
Xaymar ffb8b3f319 locale: New Crowdin updates (#549) 2023-04-05 18:50:54 +02:00
Michael Fabian 'Xaymar' Dirks b06ec71fa3 examples: Improve 'crt-scanlines.effect' 2023-03-28 13:11:22 +02:00
Michael Fabian 'Xaymar' Dirks 8fa1ffc95a examples: Improve 'crt-curvature.effect'
The code of this effect was quite dated and no longer up to my standards of coding, and lacking pretty much all comments that explain what things do. This meant that it was not a great example by default, and couldn't be used by new Effect creators as a reference.

Also the following settings were adjusted:
- 'Strength' now ranges from 0 to 200 %.
- 'Border Color' defaults to Opaque Black.
- 'Feathering' now ranges from 0 to 100 %.
2023-03-28 13:11:22 +02:00
Michael Fabian 'Xaymar' Dirks d2df0fa24f examples: Add base effect for common functionality
Many shader examples share quite a bit of code, and the OBS Studio parser and GPU driver shader compiler actually get rid of unused code quite well. So we can simply share the code between many examples, which drastically improves the quality of the code.
2023-03-28 13:11:22 +02:00
Xaymar 84cff8235f locale: New Crowdin updates (#531)
* New translations en-US.ini (Turkish)
* New translations en-US.ini (Chinese Simplified)
* New translations en-US.ini (Romanian)
* New translations en-US.ini (German)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (French)
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 7e1c2ca80d filters/color-grading: Use explicit matrix initializer for GLSL support
Fixes #510
2023-03-28 13:11:21 +02:00
Xaymar cbb8b9bae3 locale: New Crowdin updates (#521)
* New translations en-US.ini (Turkish)
* New translations en-US.ini (Korean)
* New translations en-US.ini (Sinhala)
* New translations en-US.ini (Chinese Simplified)
* New translations en-US.ini (Russian)
* New translations en-US.ini (Portuguese)
* New translations en-US.ini (Polish)
* New translations en-US.ini (Norwegian)
* New translations en-US.ini (Dutch)
* New translations en-US.ini (Japanese)
* New translations en-US.ini (Romanian)
* New translations en-US.ini (Italian)
* New translations en-US.ini (Finnish)
* New translations en-US.ini (German)
* New translations en-US.ini (Czech)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (French)
* New translations en-US.ini (Thai)
* New translations en-US.ini (Portuguese, Brazilian)
* New translations en-US.ini (Serbo-Croatian)
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 083ba935bc filters/color-grading: Fix incorrect Lift logic (#515)
Fixes #515
2023-03-28 13:11:19 +02:00
Michael Fabian 'Xaymar' Dirks 27c3420f31 filters/color-grading: Fix Gamma function and improve code readability
Fixes #510
2023-03-28 13:11:19 +02:00
Michael Fabian 'Xaymar' Dirks fd3d514a20 filters/color-grading: Replace log10 command for GLSL (#510)
Fixes #510
2023-03-28 13:11:18 +02:00
Xaymar 622ae17161 locale: New Crowdin updates (#500) 2023-03-28 13:11:17 +02:00
Xaymar d7d34028a0 locale: New Crowdin updates (#482) 2023-03-28 13:11:16 +02:00
Xaymar 1036d274f6 locale: New Crowdin updates (#464)
* New translations en-US.ini (Japanese)
2023-03-28 13:11:14 +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
Michael Fabian 'Xaymar' Dirks 73f9257633 effects: Add RGB, HSV, and YUV conversion functions 2023-03-28 13:11:11 +02:00
Michael Fabian 'Xaymar' Dirks a027a57d09 effects: Add generic shared header with common code 2023-03-28 13:11:11 +02:00
Xaymar 2d878fcb59 locale: New Crowdin updates (#449)
* New translations en-US.ini (French)
2023-03-28 13:11:11 +02:00
kilin a7eac490d5 examples: Add Pixelation filter shader (#418) 2023-03-28 13:11:10 +02:00
Xaymar 49eff4a1cf 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)
2023-03-28 13:11:09 +02:00
Xaymar 781b254d47 locale: New Crowdin updates (#397) 2023-03-28 13:11:07 +02:00
Xaymar 64a2018295 locale: New Crowdin updates (Turkish) (#373) 2023-03-28 13:11:06 +02:00
Michael Fabian 'Xaymar' Dirks ff3f8cff03 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.
2023-03-28 13:11:06 +02:00
Michael Fabian 'Xaymar' Dirks efc048adcd examples: Fix typo "_Random" -> "Random"
Fixes: #356
2023-03-28 13:11:02 +02:00
Daniel Hodgson 02bdd85ed4 examples: Added adjustable luminance to hexagon size (#364) 2023-03-28 13:11:02 +02:00