* Limit max size of preview to the timeline size (this renders very small profiles correctly)
* Fixing CRF quality setting to allow "low" quality without breaking
* Refactor of Coorindate and Keyframe optimized for performance (much faster than previously). Also refactored FrameMapper to not use a Keyframe, and to only process frame mapping when needed... speeding up Json loading of project files.
* Fixing FrameMapper linear calculation to match existing Keyframe calculation
* Fixing Keyframe to pass original unit tests, and correctly calculate the Keyframe repeat fractions and deltas.
* Small refactor of time mapped logic in Clip.cpp
* Handle MP3 files with special logic, since they typically only have 1 frame of video
* Better support for missing frames (handling of missing audio and missing video data separated), and fixed a missing audio regression.
* First implementation of CRF (Constant Rate Factor)
* Include AV1 in the codecs that can use crf
* First version that uses SetOption to set crf quality
* Clarify comments
* Delete setting the bitrate for crf in SetVideoOption because it
is not needed, it is set later with SetOptions.
* Search for libresvg.so in RESVGDIR also
This means that RESVGDIR can be pointed to the `target/release` dir
where resvg was built, and both `libresvg.so` and `include/resvg.h` will
be found.
* ReSVG: Fix up discovery module
`find_package_handle_standard_args` is supposed to set the `_FOUND`
variable automatically (as the comment right above it says), as well as
handling things like REQUIRED, QUIETLY, etc. It should always be run at
the end of a module, for this reason.
This change removes the conditionals around the call, lets it handle
what it's meant to handle, and defines a custom failure message for
discovery that replaces the one in `src/CMakeList.txt`.
In addition, the `REQRUIRED` is removed from `tests/CMakeLists.txt`,
since it's _supposed_ to mark the module as required (which ReSVG is
not), and was only working due to the aforementioned improper
conditional wrapping of the module's cleanup.
* FindRESVG.cmake does not set RESVG_DEFINITIONS
Remove the comment that claims it does.
* Integration of libresvg SVG library (optional during build)
* Major refactor of max_width and max_height for preview optimization
* Fixed many bugs related to preview resizing, with regards to cached frames
* Updating gitlab CI to find RESVGDIR correctly for windows, and adding svgz support
* Updating cmake findresvg module to search for windows locations first, to prevent an issue on our windows builders and updating some CMake output.
* Removing folder path from resvg header, since it could be installed in different named folders. This is an attempt to fix Windows include issues.
* Making call to AV_FREE_FRAME conditional for non windows systems (because it crashes on Windows for seemingly no reason). Needs more investigation.
* FFmpeg4 support. Compile warnings fixes. Credit goes to many people, including ferdnyc, peterM, and other awesome folks!
* Adding environment checking to enable/disable omp taskwait after each video/audio frame is processed. This is experimental for some users with crashes.
* Moving `omp taskwait` to after the ProcessVideoPacket() method, since that is the only place it is useful.
* Fixing crashes on missing Clip source file, and changing FFmpeg scaling algorthm from SWS_BILINEAR to SWS_LANCZOS (for higher quality scaling)
* Update FindFFmpeg.cmake module, and updating build script. Also enabling debug builds.
* Updating experimental travis build script
* Fixed unit test for newer version of FFmpeg (audio resampling)
* Experimental travis multiple jobs
* Adding OMP schedule hint (thanks PeterM), which prevents crashes in some circumstances.