Commit Graph

1539 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks b1a35118ee encoder/ffmpeg/nvenc: Fix localization file order 2023-04-05 18:51:24 +02:00
Michael Fabian 'Xaymar' Dirks 7e9e9e037d encoder/ffmpeg/nvenc: Fix missing settings and CQ being applied in CBR mode 2023-04-05 18:51:24 +02:00
Michael Fabian 'Xaymar' Dirks e2efc01917 encoder/aom-av1: Add CPU Usage 10 2023-04-05 18:51:24 +02:00
Michael Fabian 'Xaymar' Dirks e2fab9c28b third-party: Update libAOM to v3.2.0-0-287164d 2023-04-05 18:51:24 +02:00
Xaymar c0b4e6b869 locale: New Crowdin updates (#657)
* New translations en-US.ini (Indonesian)
* New translations en-US.ini (Indonesian)
2023-04-05 18:51:24 +02:00
Radegast-FFXIV 998a72a882 examples: Add 'Bulge/Pinch', 'Wave' and 'ZigZag' 2023-04-05 18:51:24 +02:00
Michael Fabian 'Xaymar' Dirks a628dfebae encoder/aom-av1: Respect "Default" setting for Metric tune setting 2023-04-05 18:51:23 +02:00
Michael Fabian 'Xaymar' Dirks 8250e63fd3 encoder/aom-av1: Fix automatic selection of AV1 profile 2023-04-05 18:51:23 +02:00
Michael Fabian 'Xaymar' Dirks 2abbbfe133 encoder/aom-av1: Bitrate Overshoot only goes to 100% 2023-04-05 18:51:23 +02:00
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