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.
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.
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.
* 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)
* 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)
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.
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.