* reuse-managed license/copyright headers
reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.
* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
- Add headers to source files
- Change blanket licensing in .reuse/dep5 to only cover binary media
- Import CC-BY-3.0 license and assign to sintel_trailer
* Protect values against integer overflow
When the code multiplies integer values in an rvalue context before
it's stored in a larger type, the on-the-fly math is stored as int.
The value can overflow before it reaches the wider memory space.
To prevent this, we explicitly cast the result of the arithmetic
to the destination type.
Issues flagged by GitHub CodeQL.
* Apply these fixes correctly
When the code multiplies integer values in an rvalue context before
it's stored in a larger type, the on-the-fly math is stored as int.
The value can overflow before it reaches the wider memory space.
To prevent this, we explicitly cast the result of the arithmetic
to the destination type.
Issues flagged by GitHub CodeQL.
Turns out, macOS's libc++ doesn't apply fill padding / alignment
the same way other libs do. (Known issue due to ambiguity in the
standard.) https://timsong-cpp.github.io/lwg-issues/2703
Reverting the "Adjusting Timeline final_cache to match the video
caching thread max_frames, so one doesn't clobber the other." part of
a previous commit.
Setting the cache size in SetMaxSize() ignores OpenShot's cache
preferences. It prevents using a cache larger than the preview
buffer, which is often a desirable thing.
This partially reverts commit 0c4e1bcce4.
Includes code amendments as requested upstream, improved accuracy,
new keying methods and the addition of a secondary halo threshhold
(pixels in the halo threshold get an alpha between zero and one).