Commit graph

1392 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
98e2447ec8 common: Add macro to force inlining 2023-04-05 18:58:20 +02:00
Michael Fabian 'Xaymar' Dirks
f160580794 cmake: Improve build system with additional features and options
- Moved all auto-dependencies to a uniform subdirectory for easier caching and cleanup.
- Add an option to download or specify a path for libOBS+obs-frontend-api.
- Remove the dependency on the non-standard obs-frontend-apiConfig.cmake file.
- Add an option to download or specify a path for OBS Dependencies.
- Add an option to download or specify a path for Qt.
- Add an option to download or specify a path for AOM.
- Fix and improve architecture and platform detection.
- Fix some messages having two :, or no prefix at all.
- Fix detection of obs-frontend-api.
- Fix applying custom compiler and linker flags for MSVC and GNU-style builds.
- Use target_compile_options over add_compile_options for compatibility.
2023-04-05 18:58:20 +02:00
Xaymar
56f2ae4290 locale: New Crowdin updates (#786)
* 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, Hong Kong)
* New translations en-US.ini (Chinese Traditional)
* 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 (Indonesian)
* 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 (Persian)
* New translations en-US.ini (Polish)
* New translations en-US.ini (Portuguese, Brazilian)
* New translations en-US.ini (Portuguese)
* 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:58:20 +02:00
carsten.braun
0540a18f27 encoders/ffmpeg/dnxhr: Add Avid DNxHR Encoder based on FFmpeg 2023-04-05 18:58:18 +02:00
Xaymar
a6b11f68d3 locale: New Crowdin updates (#778)
* New translations en-US.ini (Finnish)

* New translations en-US.ini (Finnish)

* New translations en-US.ini (German)

* New translations en-US.ini (Chinese Simplified)
2023-04-05 18:58:18 +02:00
Chris Pence
f93d5c2202 encoder/ffmpeg: Remove legacy API usage (#783)
The build breaks if compiling against a newer version of ffmpeg which does not define the FF_API_NEXT macro and has fully removed the av_codec_next() API.
2023-04-05 18:58:18 +02:00
Michael Fabian 'Xaymar' Dirks
03b16786e7 encoders/ffmpeg/nvenc: Improve compatibility with FFmpeg
Replaces some very specific code with generic support for FFmpeg, which should last us much longer than the old way. Also improves the migration of settings, which wasn't quite working with the previous way.
2023-04-05 18:58:17 +02:00
Michael Fabian 'Xaymar' Dirks
378f2b3f0e ffmpeg/tools: Improve helper functions for AVOption lists 2023-04-05 18:58:17 +02:00
Xaymar
0da1e77b22 locale: New Crowdin updates (#772)
* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Japanese)

* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Thai)

* New translations en-US.ini (Turkish)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Chinese Traditional)

* New translations en-US.ini (Russian)

* New translations en-US.ini (English, United Kingdom)

* New translations en-US.ini (Portuguese)

* New translations en-US.ini (Japanese)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (French)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Arabic)

* New translations en-US.ini (Czech)

* New translations en-US.ini (German)

* New translations en-US.ini (Finnish)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Hungarian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Korean)

* New translations en-US.ini (Dutch)

* New translations en-US.ini (Norwegian)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (Hungarian)

* New translations en-US.ini (Hungarian)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Russian)
2023-04-05 18:58:17 +02:00
Michael Fabian 'Xaymar' Dirks
36aec3be54 encoders/ffmpeg/nvenc: Ensure compatibility with more than just FFmpeg 4.2
When FFmpeg Encoders was originally written, FFmpeg 4.2 was still new and OBS Studio did not seem to want to update to anything newer for a while. This led to code being fine-tuned for FFmpeg 4.2, which stops working the moment OBS Studio upgrades FFmpeg. This removes the dependency on FFmpeg 4.2 hopefully, and allows using newer FFmpeg versions - or perhaps even older versions.

Additionally the nonsensical behavior of the Target Quality slider was fixed. It is now from 0 to 51, instead of from 0 to 100, and as such matches FFmpeg exactly.
2023-04-05 18:58:17 +02:00
Michael Fabian 'Xaymar' Dirks
7f6047f43f ffmpeg/tools: Helpers for easily populating OBS property lists 2023-04-05 18:58:17 +02:00
Michael Fabian 'Xaymar' Dirks
881c7d920a ci: Ignore specific Packages versions 2023-04-05 18:58:17 +02:00
Xaymar
1e086365ca locale: New Crowdin updates (#748)
* New translations en-US.ini (Japanese)

* New translations en-US.ini (Dutch)

* New translations en-US.ini (Dutch)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Polish)
2023-04-05 18:58:16 +02:00
Michael Fabian 'Xaymar' Dirks
4d4db59b23 project: Version 0.11.0 2023-04-05 18:51:56 +02:00
Michael Fabian 'Xaymar' Dirks
1f11f699a2 examples: Fix #698 2023-04-05 18:51:56 +02:00
Michael Fabian 'Xaymar' Dirks
53e9811f11 project: Version 0.11.0c1 2023-04-05 18:51:56 +02:00
Michael Fabian 'Xaymar' Dirks
a32c2b1104 ui/about: Remove additional spacers
These just break the flow, with no visual improvement.
2023-04-05 18:51:55 +02:00
GitHub Actions
2b0f4bc9bd project: Update Contributors and Supporters 2023-04-05 18:51:55 +02:00
Michael Fabian 'Xaymar' Dirks
d83cdf48b9 ci: Properly install Qt@5 on MacOS 2023-04-05 18:51:55 +02:00
Michael Fabian 'Xaymar' Dirks
b5cb3440f2 filters/autoframing: Always set projection matrix
Fixes #739
2023-04-05 18:51:55 +02:00
Xaymar
7dd9f7bfef locale: New Crowdin updates (#736)
* New translations en-US.ini (Turkish)

* New translations en-US.ini (Turkish)

* New translations en-US.ini (Japanese)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Chinese Traditional)

* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Portuguese)

* New translations en-US.ini (English, United Kingdom)

* New translations en-US.ini (Sinhala)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Japanese)

* New translations en-US.ini (German)

* New translations en-US.ini (Turkish)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (French)

* New translations en-US.ini (Arabic)

* New translations en-US.ini (Czech)

* New translations en-US.ini (Finnish)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Korean)

* New translations en-US.ini (Dutch)
2023-04-05 18:51:55 +02:00
Michael Fabian 'Xaymar' Dirks
decca6e906 ui/about: Use auto-generated credits for "About StreamFX"
As contributors and translators always increase in number and never decrease, it was getting difficult to thank everyone properly with every update. So instead of manually writing each entry we should take advantage of the power of automation and use APIs to gather this information properly. As long as the user is not actively hiding their profile, they will be thanked properly.

This also includes a potential fix for the problem with multi-lingual text in the About StreamFX window.
2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
241e752b5c locale: Remove unused string 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
497678ba2f ci: Fix typo in 'authors.yml' 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
b72e4ee83e project: Version 0.11.0b3 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
d15e8d58da encoders/ffmpeg/nvenc: Fix new Reference Frames setting 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
2505b193c8 encoders/ffmpeg/nvenc: Allow OBS to detect or override bitrate
We won't allow OBS to override everything, just the bare minimum necessary for Replay Buffer, Dynamic Bitrate and generic Streaming.
2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
567620a6ad encoders/ffmpeg/nvenc: Support reconfiguration during encoding 2023-04-05 18:51:53 +02:00
Michael Fabian 'Xaymar' Dirks
19689d1a11 encoders/ffmpeg: Add support for re-configuration of encoders 2023-04-05 18:51:53 +02:00
Michael Fabian 'Xaymar' Dirks
977716d679 encoders/ffmpeg/nvenc: Always set rc_max_rate if needed 2023-04-05 18:51:53 +02:00
Michael Fabian 'Xaymar' Dirks
6cf663ffff encoders/aom-av1: Set proper packet priority and drop priority 2023-04-05 18:51:53 +02:00
Michael Fabian 'Xaymar' Dirks
ac466a65f8 encoders/ffmpeg: Set proper packet priority and drop priority
With increasing complexity in video encoders, we end up with complex priority and drop priority structures. While the fields are currently ignored by the default libOBSs output plugins, in the future this might no longer be the case. In any case, the increase in complexity requires us to adjust to it.
2023-04-05 18:51:53 +02:00
Michael Fabian 'Xaymar' Dirks
b151a44790 encoders/ffmpeg: Support proper settings migration 2023-04-05 18:51:53 +02:00
Michael Fabian 'Xaymar' Dirks
132c58632e obs/encoder-factory: Support proper settings migration 2023-04-05 18:51:52 +02:00
Michael Fabian 'Xaymar' Dirks
bc5de8061f encoders/codecs/h264: Basic support for parsing NALs 2023-04-05 18:51:51 +02:00
Michael Fabian 'Xaymar' Dirks
afa47646f5 encoders/ffmpeg/nvenc: Don't migrate already correct settings 2023-04-05 18:51:51 +02:00
GitHub Actions
b5e6c581d1 project: Update Contributors and Supporters 2023-04-05 18:51:51 +02:00
Michael Fabian 'Xaymar' Dirks
1c54fee038 ci: Only regenerate authors on dispatch 2023-04-05 18:51:51 +02:00
GitHub Actions
efda77554a project: Update Contributors and Supporters 2023-04-05 18:51:51 +02:00
Michael Fabian 'Xaymar' Dirks
479c05b14a cmake/codesign: Remove broken Timestamping servers 2023-04-05 18:51:51 +02:00
Michael Fabian 'Xaymar' Dirks
e38f117abe ci: Author Information and Upstream Branch 2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks
9857194794 tools: Sort using natural sort 2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks
d3a99e032d ci: Fix some invalid commands 2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks
e3302fa163 ci, tools: Automatically generate contributor attribution files
Also includes a tool to convert Patreon Membership .csv files into a support patch set.
2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks
3c1fecfd1e project: Fix up mailmap file for git contributions 2023-04-05 18:51:49 +02:00
Xaymar
7c10ffe1a4 locale: New Crowdin updates (#728)
* New translations en-US.ini (Spanish)

* New translations en-US.ini (Spanish)
2023-04-05 18:51:49 +02:00
Michael Fabian 'Xaymar' Dirks
cce33eef80 gfx/shader/texture: Fix incorrect placement of modified_type
The previous placement would result in the properties not yet existing.
2023-04-05 18:51:49 +02:00
Michael Fabian 'Xaymar' Dirks
ba05258547 gfx/shader/texture: Improve load/acquire behavior
Prevents massive stalls from happening unexpectedly due to repeatedly loading the same thing over and over.
2023-04-05 18:51:49 +02:00
Michael Fabian 'Xaymar' Dirks
7994d03166 gfx/shader/texture: Add default file annotation 2023-04-05 18:51:49 +02:00
Michael Fabian 'Xaymar' Dirks
c3b1dc2ec2 gfx/shader: Call defaults before update before properties
Fixes an unusual order of initialization bug resulting in poor user experience
2023-04-05 18:51:48 +02:00