Commit graph

1580 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
d3808f3960 project: Version 0.11.0a5
- Updated the AOM library to libAOM v3.1.2-882-03b6f69.
- Fixed the Denoising filter not working correctly with unexpected sizes.
- Fixed the Denoising filter not rendering at the correct size.
- Fixed the Denoising and Upscaling filter destroying the Alpha channel.
- Fixed the Denoising filter running twice on the same image, resulting in a far worse image.
- Fixed Upscaling not automatically deciding on a proper scale factor for you when the selected one is not supported.
2023-04-05 18:51:23 +02:00
Xaymar
36d322e662 locale: New translations en-US.ini (Russian) (#647) 2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
d0762e7150 nvidia/vfx/superresolution: Reduce overall CPU usage by caching results 2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
d1c8cda0a3 nvidia/vfx/superresolution: Automatically select ideal scale factors
Prevents some scale factors from simply not rendering anything at all, resulting in weird scene layouts. While this may incur a higher performance penalty, it does fix the issue with enough accuracy to be deployed into production.
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
5952dfe73f filter/upscaling: Restore alpha after processing
As none of the known Upscaling algorithms handle Alpha, we need to manually restore and interpolate it properly. While this technically reduces visual quality slightly, the chances of this being noticed are slim to none considering that Upscaling is already a questionable solution to quality. Linear was picked here as it produces the best overall result for scaling, keeping gradients mostly in one piece. Mostly.

Fixes #646
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
fc479bcdaf filter/denoising: Restore alpha after processing
As the Alpha channel is completely ignored and possibly destroyed by denoising algorithms, we should restore the Alpha channel manually. Linear interpolation was chosen here as it will behave like Point if the size matches, and properly interpolate if the size doesn't match.

Fixes: #646
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
889fea6422 effects: Add standard effect file
There are a number of duplicate shader routines we should combine into a single shader to save disk space, and remove unexpected errors in one copy but not the other.
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks
e40e7526de filter/upscaling: Update Source Identifier 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks
0e5709f7da filter/denoising: Update Source Identifier 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks
f9c03f2c86 filter/denoising: Don't denoise the same image twice 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks
3735627b13 filter/denoising: Use actual size instead of base size of target 2023-04-05 18:51:21 +02:00
Michael Fabian 'Xaymar' Dirks
45cedde1ae filter/denoising: Restrict size to reasonable numbers
Prevents invalid sizes from being used by the filter, which sometimes happens with Async Sources that aren't quite ready yet.

Fixes: #642
2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks
c2955d8480 third-party: Update libAOM to v3.1.2-882-03b6f69 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks
7e39f613e0 ci: Properly check if cache was restored 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks
f0ccb6dd43 ci: Pull Requests shouldn't invoke CI twice 2023-04-05 18:51:20 +02:00
Xaymar
05343df585 locale: New Crowdin updates (#639)
* New translations en-US.ini (Italian)
* New translations en-US.ini (Turkish)
* New translations en-US.ini (Russian)
* New translations en-US.ini (German)
* New translations en-US.ini (Indonesian)
* New translations en-US.ini (Dutch)
* New translations en-US.ini (Russian)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (French)
* New translations en-US.ini (Russian)
* New translations en-US.ini (Turkish)
* New translations en-US.ini (Russian)
* New translations en-US.ini (French)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (German)
* New translations en-US.ini (Polish)
* New translations en-US.ini (Italian)
* New translations en-US.ini (Dutch)
* New translations en-US.ini (Italian)
* New translations en-US.ini (French)
* New translations en-US.ini (German)
2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks
168d04293a project: Version 0.11.0a4
* The "Super Resolution" filter is now called "Upscaling" and in the future will support additional providers, like FidelityFX "Super-Resolution" and NVIDIA "Upscaling".
* The entire plugin now has identical logging behavior, so it should be easy to identify exact parts of the plugin in log files.
* A crash caused by log functions on Linux/Mac has been fixed, which was caused by reusing variable length arguments. (#632)
* Radeghast submitted a new 'Swirl' example shader. (#618)
* Added an AV1 encoder based on AOM-AV1, although its stability and quality may not be great so far.
* Denoising of Video content is now possible with the new "Denoising" filter on NVIDIA RTX hardware.
* Fixed a few bugs affecting the "Upscaling" (previously "Super Resolution") filter.
* Fixed references to NVIDIA missing the ®.
2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks
a5166c409e filter/denoising: Fix incorrect define checks 2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks
1d5d601256 ci: (AOM) Replace files if they exist
This shouldn't happen, but it seems our 'if' case is not working right. Will have to investigate this in the future.
2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks
9f600f4bfe project: Update issue Template 2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks
0ff1e3145d locale: Adjust text to match reality 2023-04-05 18:51:18 +02:00
Xaymar
c9b84c583e locale: New Crowdin updates (#638)
* New translations en-US.ini (German)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (Italian)
* New translations en-US.ini (Russian)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (German)
* New translations en-US.ini (Italian)
* New translations en-US.ini (German)
* New translations en-US.ini (Polish)
* New translations en-US.ini (Russian)
2023-04-05 18:51:18 +02:00
Michael Fabian 'Xaymar' Dirks
175dcc0669 locale: Fix incorrect key for provider 2023-04-05 18:51:18 +02:00
Michael Fabian 'Xaymar' Dirks
a0fc00ed64 cmake: Fix incorrect target for interface include directories 2023-04-05 18:51:18 +02:00
Xaymar
edebfa6a5f locale: New Crowdin updates (#635)
* New translations en-US.ini (Arabic)
* New translations en-US.ini (Bosnian)
* New translations en-US.ini (Bulgarian)
* New translations en-US.ini (Chinese Simplified)
* New translations en-US.ini (Chinese Traditional)
* New translations en-US.ini (Chinese Traditional, Hong Kong)
* New translations en-US.ini (Croatian)
* New translations en-US.ini (Czech)
* New translations en-US.ini (Danish)
* New translations en-US.ini (Dutch)
* New translations en-US.ini (English, Australia)
* New translations en-US.ini (English, Canada)
* New translations en-US.ini (English, United Kingdom)
* 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 (Serbo-Croatian)
* New translations en-US.ini (Sinhala)
* New translations en-US.ini (Spanish)
* New translations en-US.ini (Swedish)
* 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:51:18 +02:00
Michael Fabian 'Xaymar' Dirks
247553fa74 filter/denoising: Add Denoising filter 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks
843a76d1c6 filter/upscaling: 'Video Super-Resolution' -> 'Upscaling'
The previous name was too strict on what could be put into the effect, and would result in additional clutter in the Filter menu when we eventually decide to support other Upscaling methods than Super-Resolution networks.
2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks
03e6ce0dbc filter/video-superresolution: Fix missing UI when selecting Providers 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks
37666b0dc1 filter/video-superresolution: Fix incorrect symbol name 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks
496fe424f4 filter/video-superresolution: Catch all exceptions 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks
33c665982e nvidia/vfx/denoising: Add wrapper for Denoising effect 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks
cebd8fa744 nvidia/vfx/effect: Implement managed effect wrapper
Slightly simplifies interaction with effects.
2023-04-05 18:51:16 +02:00
Michael Fabian 'Xaymar' Dirks
7c7ea3c3b6 nvidia/vfx/superresolution: Round to nearest instead of truncate
Slightly improves the accuracy of the scaled size calculations.
2023-04-05 18:51:16 +02:00
Michael Fabian 'Xaymar' Dirks
48d4f195da third-party: Update NVIDIA Maxine Video Effects SDK 2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks
772d21a8b6 nvidia/cuda: Add cuMemsetD# functions 2023-04-05 18:51:15 +02:00
Xaymar
62918f5462 locale: New Crowdin updates (#634) 2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks
9a4ab558c0 encoders/aom-av1: AV1 encoder based on libaom 2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks
bb58424b22 cmake: Add find package module for libAOM 2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks
12f976fde3 obs/encoder-factory: Don't require implementing all virtual functions
As not all encoders need all functions, classes inheriting from this should not need to implement all of them as no-ops. Instead the header should take care of this, which reduces duplicated empty code paths.
2023-04-05 18:51:14 +02:00
Radegast-FFXIV
e24c283561 examples: Add Swirl shader (#618) 2023-04-05 18:51:14 +02:00
William Pettersson
3eacc47085 util/logging: Don't reuse vargs (#632)
As vargs may be modified by some functions, we should not reuse it and instead create a copy of it. This fixes a segfault on logging calls happening with GCC, and potentially may fix other compilers and platforms as well.
2023-04-05 18:51:14 +02:00
Michael Fabian 'Xaymar' Dirks
04c7116f5a project: Fix various warnings 2023-04-05 18:51:14 +02:00
Michael Fabian 'Xaymar' Dirks
380d75f770 project: Unify logging structure 2023-04-05 18:51:14 +02:00
Michael Fabian 'Xaymar' Dirks
b8f23fa8ab project: Don't leak exceptions if possible 2023-04-05 18:51:13 +02:00
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
Michael Fabian 'Xaymar' Dirks
668b8af213 project: Version 0.11.0a3 2023-04-05 18:51:12 +02:00
Xaymar
db554c7fea locale: New translations (#594) 2023-04-05 18:51:12 +02:00