3122 Commits

Author SHA1 Message Date
Jonathan Thomas
de012ac6c8 Improve seek retry fallback and clean up hw decode logging
- add adaptive seek fallback and switch fprintf to ZmqLogger
- improves seeking on certain files by up to 30% (faster)
- avoids situations where seeking too far would sometimes freeze on certain videos
2026-02-06 16:46:40 -06:00
Jonathan Thomas
43f9ed89ae VideoCacheThread: add directional preroll
- start cache rebuilds with a preroll offset (settings-based)
- tighten isReady to require frames ahead/behind playhead add unit tests for preroll clamping and readiness
2026-02-05 12:39:06 -06:00
Jonathan Thomas
47b308122f Merge pull request #1026 from OpenShot/install-prefix-python
Take 2: Trying again to fix the python fallback directory detection f…
2025-12-16 23:23:44 -06:00
Jonathan Thomas
3f60f601ca Take 2: Trying again to fix the python fallback directory detection for Launchpad build servers 2025-12-16 23:23:07 -06:00
Jonathan Thomas
faa6827f1c Merge pull request #1025 from OpenShot/install-prefix-python
Fixing Cmake fallback python folder detection (to not return /usr/local)
2025-12-16 21:53:04 -06:00
Jonathan Thomas
353e6ae4f1 Changing python install detected folder, to be relative folder. This is breaking on some build servers, due to returning an absolute path that is installed outside of the install prefix. 2025-12-16 21:05:23 -06:00
Jonathan Thomas
ff45df1e99 Merge pull request #1024 from OpenShot/missing-sstream-includes
Adding missing <sstream> includes
2025-12-16 19:02:22 -06:00
Jonathan Thomas
16f791a55a Adding missing <sstream> includes for older compilers, and because it should be included anyway 2025-12-16 18:23:57 -06:00
Jonathan Thomas
13e1d9d0b3 Merge pull request #1016 from OpenShot/release-20250612
Release of 0.5.0 libopenshot (for OpenShot 3.4)
2025-12-16 02:03:54 -06:00
Jonathan Thomas
2a82bed607 Adding upscaling for crop effect + resize property - so cropping into higher resolution content does not become blurry. v0.5.0 2025-12-15 23:34:48 -06:00
Jonathan Thomas
bd59e6bb37 Fix mixing licensing headers 2025-12-15 21:13:34 -06:00
Jonathan Thomas
7fdd145dc2 Adding new memory trimming to more forcefully return memory to the OS after major memory clearing events (i.e. clearing all cache, closing readers, or large amounts of cache cleared). Also, refactoring default cache sizes in Timeline, FrameMapper, and FFmpegReader to better support high frame rate and high resolution videos (i.e. 4k 60 fps) so we don't immediately run out of memory. 2025-12-14 23:53:36 -06:00
Jonathan Thomas
1f06f03e9c Adding unit tests for image magic durations 2025-12-10 18:38:07 -06:00
Jonathan Thomas
94fab00048 Updating video_length and duration calculations to be consistent on image readers also (QtImageReader, ImageReader) 2025-12-08 18:33:23 -06:00
Jonathan Thomas
eea55982fd FFmpegReader: add duration strategy modes and unify duration/frame calculations. This is a potentially breaking change, where we ensure all durations and video_length calculations coming from FFmpegReader are now fully consistent - even if we must slightly adjust a duration from the video or audio stream. This keeps the 2 attributes identical in meaning (video_length X FPS == duration, no exceptions). Unknown durations are no longer -1 video_length but 0, and 0 duration. 2025-12-08 17:07:21 -06:00
Jonathan Thomas
af9a4893ed Fixing regression inside AudioWaveformer so it uses a proper detached reader, and no longer mutates the Clip's reader (preventing a bug which caused our video to disappear when waveforms were used on the clip) 2025-11-24 18:33:25 -06:00
Jonathan Thomas
d4647b5525 Refactoring the AudioWaveformer again, this time to de-couple it from the actual clip object passed to it, and to no longer iterate over the potential longer time keyframes using GetFrame alone. Now, we only decode audio-streams, and only get the original samples (reduced sample rate drastically), and finally we apply keyframes (volume and time) to modify our original samples. This is a HUGE speed-up boost for waveform generation. 2025-11-23 14:11:53 -06:00
Jonathan Thomas
0dfc8a8a37 Updating 1D and 3D unit tests for Color Map to use a more obvious cube color map, with 1D = green and blue, and 3D = red and blue. 2025-11-18 18:11:37 -06:00
Jonathan Thomas
e25763d089 Adding awareness of DOMAIN_MIN and DOMAIN_MAX properties of LUT Color Map files and new unit tests to validate them 2025-11-18 17:36:30 -06:00
Jonathan Thomas
1c912d8fd6 Fixing clip unit tests due to regression in the initial rotation keyframe 2025-11-18 14:34:23 -06:00
Jonathan Thomas
2f82e7d27b Adding support for 1D and 3D LUT Color Map files. Also added new unit tests to verify 1D and 3D LUT files. 2025-11-18 14:26:59 -06:00
Jonathan Thomas
355bea44d9 Fixing small regression on initial rotation keyframes from our previous commit. 2025-11-18 13:43:40 -06:00
Jonathan Thomas
a7dfc596ca Fixing regression in Clip::init_reader_rotation() function, which could sometimes override scale_x and scale_y, when a rotation keyframe contained more than 1 point. 2025-11-13 16:18:18 -06:00
Jonathan Thomas
8d72b4b64b Updating godot git hash 2025-11-13 16:17:07 -06:00
Jonathan Thomas
5596344575 Fixing AudioWaveformer::ExtractSamples to pause temporarily when a clip's reader is closed, and resume extracting when it's open again. This prevents a very common crash / bug when generating waveforms for longer audio clips and continuing to make chagnes on the timeline (which closes all clips temporarily - interrupting the waveform extracting). 2025-11-06 14:51:57 -06:00