Commit Graph

  • 523fb5acf9 Massive improvement to object detection sort logic, to keep IDs more stable and less jitter / ID jumping between detections. Jonathan Thomas 2025-08-11 23:35:09 -05:00
  • 981e18de95 Fixing logic to set ObjectDetection JSON (Detector was not updating the box values - due to ID mismatches) Jonathan Thomas 2025-08-11 16:22:54 -05:00
  • 4613b5239f Fixing logic to set Tracker JSON (Tracker was not updating the box values - due to ID mismatches) Jonathan Thomas 2025-08-11 15:38:09 -05:00
  • e43f87552d Small refactor to assign Clip and Effect ids in base class Jonathan Thomas 2025-08-11 14:52:24 -05:00
  • 6cea273b77 Fix timeline cache when updating Clips with ApplyJsonDiff (old and new position) Jonathan Thomas 2025-07-08 15:19:17 -05:00
  • 713cf39c4f Updating godot git ref Jonathan Thomas 2025-07-08 15:15:32 -05:00
  • 9cbfc80e2c Fixing Tracker and Object Detection effect to not crash when camera quickly makes tracked object go offscreen (go pro mp4 from raffi) Jonathan Thomas 2025-07-08 00:21:57 -05:00
  • 22cd56331f Removing SkipEmptyParts from modified ObjectDetection.cpp code (old QT build server doesn't have this) Jonathan Thomas 2025-06-17 19:06:48 -05:00
  • 055975a212 Improving Tracker and Object Detector to include effect ID in the tracked Object IDs they return - to allow for multiple effects on the same clip, and to not accidentally clobber trackedObject IDs (i.e. "0" as the default tracked object ID) Jonathan Thomas 2025-06-17 18:27:52 -05:00
  • 515c4ff509 Improving Tracker effect to better track occluded objects, follow objects offscreen and back onscreen without getting lost, and improved unit tests. Jonathan Thomas 2025-06-15 16:01:17 -05:00
  • c6720bb59b Lowering version required for libopenshot-audio, since technically it's fine to link against the previous library. Jonathan Thomas 2025-06-12 17:34:36 -05:00
  • f60d6659e1 Bumping version to 0.5.0, SO 28, this is a major new release of libopenshot. Jonathan Thomas 2025-06-12 17:30:17 -05:00
  • 7b4e999242 Merge pull request #1015 from OpenShot/fix-update-regression Jonathan Thomas 2025-06-07 17:55:44 -05:00
  • 0d492ec77f Removing Play/Stop implementation from VideoCacheThread. Adding back in a ClearAllCache in Seek(), to handle updates via the UI correctly. Jonathan Thomas 2025-06-07 16:05:19 -05:00
  • 805af0dffc Fix Timeline::ApplyJsonDiff to make changes to our data first, and then clear cache afterwards (potential race condition) Jonathan Thomas 2025-06-07 16:03:55 -05:00
  • cdaccf2e90 Merge pull request #1014 from OpenShot/ffmpeg-performance Jonathan Thomas 2025-06-06 23:38:41 -05:00
  • 099fe59dcd Including missing sstream include on Profile tests Jonathan Thomas 2025-06-06 17:46:22 -05:00
  • 0fcdcdb326 Removing debug code Jonathan Thomas 2025-06-06 16:11:18 -05:00
  • 68d3850efa Exposing VideoCacheThread to SWIG bindings for Python, Ruby, and Java. This will be called from openshot-qt in Python, to speed up exports. Jonathan Thomas 2025-06-06 15:33:43 -05:00
  • 2d6db64b52 Incorporating VideoCacheThread into openshot-example executable, to experiment with caching during export. It works great! Jonathan Thomas 2025-06-06 15:33:04 -05:00
  • 7ee4643a60 Splitting FF_NUM_PROCESSORS into a VIDEO and AUDIO constant. Also limiting VIDEO encoders to 16 threads and audio encoders to 2 threads. Jonathan Thomas 2025-06-06 15:28:28 -05:00
  • 57a0bae9ac Refactor of Settings to no longer duplicate them in the *.h and Instance() method. Also changing FF_THREADS and OMP_THREADS to use # of processors on device. Jonathan Thomas 2025-06-06 15:26:40 -05:00
  • a6ca7d9a2f Adding back Setting::VIDEO_CACHE_MAX_FRAMES, to limit the video cache thread to a hard #. Also, minor refactor to reduce duplication of capacity. Jonathan Thomas 2025-06-06 15:25:46 -05:00
  • a4b2af4eb8 Adding FFmpegWriter into openshot-example executable to test with valgrind heapgrind. Jonathan Thomas 2025-06-05 19:38:53 -05:00
  • 5e4bc364cb Remove per-thread scalers; use single persistent frames and SwsContext for video scaling. Total improvement of 8-9% when testing h.264 encoding @ 720p. Jonathan Thomas 2025-06-05 19:38:15 -05:00
  • 54b33ed609 Reverting experimental libopenshot Mac build changes related to "image not found" errors when running unit tests. Jonathan Thomas 2025-06-05 00:23:30 -05:00
  • 2003ae1d92 Experiment for Mac unit tests Jonathan Thomas 2025-06-05 00:10:42 -05:00
  • 15936baf46 Experiment for Mac unit tests Jonathan Thomas 2025-06-05 00:05:42 -05:00
  • 32f291c4c3 Fixing unit test building on Mac runner Jonathan Thomas 2025-06-04 23:46:09 -05:00
  • 81a04a12f8 Add libopenshot unit tests back into Mac builder GitLab CI script Jonathan Thomas 2025-06-04 23:03:23 -05:00
  • 60fbb7fe5e Fix incorrect _MSC_VER and replace with _WIN32 Jonathan Thomas 2025-06-04 22:42:34 -05:00
  • 38afcea242 Use aligned memory free for QImage / frame buffer (fix crash on Win32 running unit tests for FFmpegReader) Jonathan Thomas 2025-06-04 21:29:31 -05:00
  • b2333ab389 Refactoring aligned malloc to work on Mac, Windows, and Linux (inside FFmpegUtilities.h) Jonathan Thomas 2025-06-04 20:45:19 -05:00
  • c487aa4389 Fixing the alignment of our FFmpegReader video buffers to be 32 / AVX2. This increases performance by a factor of 3X. Jonathan Thomas 2025-06-04 18:37:46 -05:00
  • 6e73a23259 Changing example program to time decoding of test video, forwards and backwards, with time print-outs. Jonathan Thomas 2025-06-04 17:19:01 -05:00
  • c95fd837b6 Small improvement to caching sws scale context and reusing AVFrame objects. About 1.5% less CPU calls, and more even memory allocations (less spikey). Jonathan Thomas 2025-06-04 17:18:23 -05:00
  • 9a4dcf252a Merge pull request #1013 from OpenShot/caching-improvements Jonathan Thomas 2025-06-03 23:20:10 -05:00
  • 364fb37565 Unit tests for new VideoCacheThread, to test all helper methods and ensure our general logic is correct (caching forward and backwards) Jonathan Thomas 2025-06-03 22:24:34 -05:00
  • 6c39b0f8e5 Another large refactor of our primary cache thread, to split out many functions which we can test in our unit tests. Jonathan Thomas 2025-06-03 19:36:05 -05:00
  • fd91892fea More tweaks to keep the cache window centered on the playhead, so different speeds (- and +) still result in moving cache window. Jonathan Thomas 2025-06-03 17:49:56 -05:00
  • ec81c1d1cd Simplification and another small refactor of Run code (to make it more maintainable) Jonathan Thomas 2025-06-03 16:46:04 -05:00
  • 6d5e55175b Huge refactor of VideoCacheThread, to provide better caching, fixing many edge cases that cause our cache to become unsynced with playback. This is still a work-in-progress though.. Jonathan Thomas 2025-06-03 16:23:17 -05:00
  • 06ddfc1320 Add virtual Touch() function to CacheBase, and rename MoveToFront in CacheMemory.cpp and CacheDisk.cpp to Touch. Jonathan Thomas 2025-06-03 09:24:16 -05:00
  • 28aacfd4ef Merge pull request #1012 from OpenShot/fix-deinterlace-crash Jonathan Thomas 2025-06-02 17:33:16 -05:00
  • 7f130cb65c Improving performance of Mask effect (transitions) using OMP + reducing floating point operations per pixel and caching variables Jonathan Thomas 2025-06-02 16:09:30 -05:00
  • 3e2dc8a3f8 Fix crash on deinterlace effect, and add in omp performance improvements. Also fixed issue with isOdd being accidentally read-only Jonathan Thomas 2025-06-02 15:50:53 -05:00
  • 3c3572a128 Merge pull request #1011 from OpenShot/godot-bindings Jonathan Thomas 2025-06-01 21:01:47 -05:00
  • 26e6ef404c Adding reuse copyright and licensing info Jonathan Thomas 2025-05-31 17:56:32 -05:00
  • 05c8a5489e Reverting FFmpegReader depreciation changes around side data (due to Mac build errors) Jonathan Thomas 2025-05-31 16:31:18 -05:00
  • d62be06bab Including sub-module for godot-cpp, required for the GDExtension (disabled by default) Jonathan Thomas 2025-05-31 16:03:05 -05:00
  • efedc09cd9 Initial GDExtension demo code, which can initialize a Timeline and FFmpegReader instance, print Profiles, and send an Image into Godot 4.4/4.5. This is highly experimental, and disabled by default. Requires ENABLE_GODOT=1 to build, and manually copying the gdextension and bindings/godot/*.so file into your Godot project bin. NOTE: This also required a locally compiled version of Godot and Godot-cpp. Jonathan Thomas 2025-05-31 16:00:10 -05:00
  • ff1b7b6ced Removing sstream from Frame and ClipBase (unused) Jonathan Thomas 2025-05-30 18:08:52 -05:00
  • b2b28e5cc6 Removing sstream from Profile code, and pretty large refactor to support this effort. All unit tests now passing. Jonathan Thomas 2025-05-30 17:23:48 -05:00
  • 9b650bab97 Fixing FFmpegReader sidedata depreciation warnings (this is related to Spherical Metadata) Jonathan Thomas 2025-05-30 16:54:10 -05:00
  • 039aeaf722 Removing sstream usage when to_string works fine Jonathan Thomas 2025-05-30 16:53:16 -05:00
  • b879d01124 Removing sstream usage from ReaderBase (godot crash) when calling << on the stringstream (probably due to ABI issues on libstdc++.so Jonathan Thomas 2025-05-30 16:22:42 -05:00
  • cf1bad8bf2 Merge pull request #1008 from OpenShot/lens-flare Jonathan Thomas 2025-05-29 18:55:48 -05:00
  • 2a44ff54ea Merge branch 'develop' into lens-flare Jonathan Thomas 2025-05-29 12:24:46 -05:00
  • 53ca6dd186 Merge pull request #1010 from OpenShot/sqs-builds Jonathan Thomas 2025-05-29 11:28:17 -05:00
  • e39bd39dc6 Making windows builds use 4 CPUs (testing performance of this change) Jonathan Thomas 2025-05-29 11:00:27 -05:00
  • 6dce2ed54e Updating tags Jonathan Thomas 2025-05-29 10:49:24 -05:00
  • 377c5b923e Integrating dynamic SQS-based Auto-scaling builders into our Gitlab CI pipeline Jonathan Thomas 2025-05-29 10:47:29 -05:00
  • d26ef4dcbb Merge branch 'develop' into lens-flare Jonathan Thomas 2025-05-28 20:34:51 -05:00
  • 6cc627bf0e Merge pull request #1009 from OpenShot/colormap-effect Jonathan Thomas 2025-05-28 17:52:38 -05:00
  • 3db2fe14fb Adding unit tests for Lens Flare effect, and adding effect to Python SWIG bindings Jonathan Thomas 2025-05-28 17:40:47 -05:00
  • 8c5ec9fa5e Removing depreciated calls to alphaChannel() Jonathan Thomas 2025-05-28 17:18:14 -05:00
  • 7034771c18 Updating alpha channel support, so we can draw on transparent regions of any frame Jonathan Thomas 2025-05-28 17:05:29 -05:00
  • 7b8af5388b Fully working lens flare effect, based on the Gimp FlareFX filter (added original GPL license and author credits). Still has an issue with alpha channels... Jonathan Thomas 2025-05-28 16:07:59 -05:00
  • 540fd7a7ee Initial, somewhat working demo of a lens flare. Inspired by the Gimp lens flare, but still a work-in-progress. Jonathan Thomas 2025-05-26 22:23:59 -05:00
  • fe51dbb87e Replacing QRegEx with QRegularExpression, and removing Qt:SkipEmptyParts due to compatibility issues with older versions of Qt5 Jonathan Thomas 2025-05-26 14:07:47 -05:00
  • f06b6c0e55 Removing SkipEmptyParts arg from regex cube parsing, to better support older Qt versions (i.e. our Linux builder) Jonathan Thomas 2025-05-26 00:11:23 -05:00
  • 6a2f4f539f Adding missing effects to .i swig files Jonathan Thomas 2025-05-25 23:29:50 -05:00
  • 82f7607ee9 Updating Color Map effect name and description to be more clear to users Jonathan Thomas 2025-05-25 18:30:22 -05:00
  • 789944f576 Adding unit tests for Color Map effect Jonathan Thomas 2025-05-25 18:22:41 -05:00
  • e23b693a16 Adding overall intensity keyframe to quickly affect all color channels. Jonathan Thomas 2025-05-25 17:43:11 -05:00
  • ac9bd8fa1a Adding back in needed includes Jonathan Thomas 2025-05-24 15:49:00 -05:00
  • 48a7a07066 Initial ColorMap effect, which loads a LUT (.cube) file and applies color grading by mapping colors by channel. Jonathan Thomas 2025-05-24 15:30:16 -05:00
  • dffa84b391 Merge pull request #1005 from OpenShot/sharpen-effect Jonathan Thomas 2025-05-24 00:17:29 -05:00
  • 7548f87046 Fixing some effect includes in effects.h, since I forgot to add them with Sharpen and Spherical Projection. Jonathan Thomas 2025-05-23 22:28:03 -05:00
  • 86ebbb8ff9 Merge branch 'develop' into sharpen-effect Jonathan Thomas 2025-05-23 22:26:35 -05:00
  • ea74c500a0 Merge pull request #1004 from OpenShot/360-spherical Jonathan Thomas 2025-05-23 22:22:07 -05:00
  • 1af80cc22b Merge pull request #1006 from OpenShot/align-memory-32 Jonathan Thomas 2025-05-23 22:18:39 -05:00
  • 68b885ee77 Adding 32 bit alignment for simd into our AV_ALLOCATE_IMAGE macro, and some code cleanup Jonathan Thomas 2025-05-23 18:35:03 -05:00
  • 4983a45f74 Merge pull request #987 from ArmstrongCN/bugfix/ffmpeg Jonathan Thomas 2025-05-23 18:13:29 -05:00
  • 91588fa554 Adding licensing and copyright to new sharpen effect files Jonathan Thomas 2025-05-23 16:50:04 -05:00
  • 874c2514ab Updating sharpen effect description Jonathan Thomas 2025-05-23 16:42:48 -05:00
  • 1615f974b3 Fixing all unit tests and expanding them for Sharpen effect Jonathan Thomas 2025-05-23 16:11:17 -05:00
  • 21ac97a4ec Fixing HighPass mode, and changing default to luma channel Jonathan Thomas 2025-05-23 15:57:59 -05:00
  • d205ebecf1 Fixing threshold to work over full range (0 to 1) Jonathan Thomas 2025-05-23 15:12:59 -05:00
  • 52988ee5b3 Initial unit tests for Sharpen effect, still failing though. Jonathan Thomas 2025-05-23 15:09:02 -05:00
  • fd1ddb6c2b Initial code for Sharpen effect. Jonathan Thomas 2025-05-23 15:08:51 -05:00
  • ec890fe74d Adding unit tests for spherical project effect, using 2 PNG assets Jonathan Thomas 2025-05-21 18:25:22 -05:00
  • f93d7861f2 Adding fisheye mode to spherical projection effect, and cleaning up code. Jonathan Thomas 2025-05-21 16:15:01 -05:00
  • 9d33c45d84 Adding new spherical projection effect, to flatten out 360/180 videos into the viewport. Jonathan Thomas 2025-05-21 01:28:26 -05:00
  • 90931734a1 Improving unit tests for spherical to actually assert things and verify everything worked. Jonathan Thomas 2025-05-20 20:48:25 -05:00
  • 7fb8308cc7 Adding spherical support to FFmpegWriter and FFmpegReader, so they can optionally write the correct side data for Spacial and equirectangular 360 videos. Jonathan Thomas 2025-05-20 20:21:32 -05:00
  • 88b7f8181e Updating git ignore rules, adding new 360 spherical property to profiles, and new unit tests for Profiles. Jonathan Thomas 2025-05-20 16:02:23 -05:00
  • 36e6ea34f0 Merge pull request #1003 from OpenShot/caption-miliseconds Jonathan Thomas 2025-05-10 21:53:15 -05:00
  • c2bd0f934d Fixing off by 1 error on caption rendering, and forcing milliseconds into 3 digits (for accurate time / frame calculations) Jonathan Thomas 2025-05-10 18:22:01 -05:00
  • 6722bc093e Merge pull request #1002 from OpenShot/python-path-sysconfig-fallback Jonathan Thomas 2025-05-05 21:38:07 -05:00