Skip to content

Conversation

@jonoomph
Copy link
Member

Bumping version to 0.5.0, SO 28, this is a major new release of libopenshot. Related to OpenShot/libopenshot-audio#166

@codecov
Copy link

codecov bot commented Jun 12, 2025

Codecov Report

❌ Patch coverage is 69.66681% with 701 lines in your changes missing coverage. Please review.
✅ Project coverage is 58.81%. Comparing base (7b4e999) to head (0932af2).

Files with missing lines Patch % Lines
tests/Benchmark.cpp 0.00% 166 Missing ⚠️
src/effects/SphericalProjection.cpp 44.07% 118 Missing ⚠️
src/effects/ObjectDetection.cpp 0.00% 107 Missing ⚠️
src/effects/Tracker.cpp 7.00% 93 Missing ⚠️
src/effects/AnalogTape.cpp 59.90% 85 Missing ⚠️
src/sort_filter/sort.cpp 14.63% 35 Missing ⚠️
src/Qt/VideoCacheThread.cpp 9.09% 20 Missing ⚠️
src/CVTracker.cpp 87.32% 18 Missing ⚠️
src/sort_filter/KalmanTracker.cpp 0.00% 15 Missing ⚠️
src/AudioWaveformer.cpp 89.36% 10 Missing ⚠️
... and 10 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1016      +/-   ##
===========================================
+ Coverage    57.31%   58.81%   +1.50%     
===========================================
  Files          198      204       +6     
  Lines        18166    19775    +1609     
===========================================
+ Hits         10412    11631    +1219     
- Misses        7754     8144     +390     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

jonoomph added 26 commits June 15, 2025 16:01
…ects offscreen and back onscreen without getting lost, and improved unit tests.
…cked 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)
…uickly makes tracked object go offscreen (go pro mp4 from raffi)
…stable and less jitter / ID jumping between detections.
…lusive on min, and exclusive on max (trying to prevent rounding errors on last frame)
…te input / output FOVs for fisheye processing.
… fish eyes for input and output). Fixing lots of issues with virtual camera controls (so controls don't flip axis randomly)
- make Add/Remove Effect methods thread safe
- Fix RemoveClip memory leak
- Improve performance of sorting clips by position and layer, cache some common accessors, and speed up "clip intersection" logic
- Don't resize audio container in loop - do it once
- Large refactor of looping through clips and finding top clip
- Protect ClearAllCache from empty Readers, prevent crash
- Expanded unit tests to include RemoveEffect, and test many of the changes in the commit.
- Replacing alpha with QPainter SetOpactity (much faster)
- Fixing get_file_extension to not crash with filepaths that do no contain a "."
- Removing render hints from apply_background (since no transform or text rendering), making compositing (faster in certain cases)
- Optionally adding SmoothPixmapTransform based on a valid transform (faster in certain cases)
- Skip Opacity for fully opaque clips
- New Clip unit tests to validate new functionality
…rtain cases, and added new wave effect unit test
…mparisons with different versions of OpenShot.

Initial results:
FFmpegWriter,7800
FrameMapper,3508
Clip,4958
Timeline,30817
Timeline (with transforms),53951
Effect_Mask,9283
Effect_Brightness,12486
Effect_Crop,5153
Effect_Saturation,15545
Overall,147136
-Normal
-Darken
-Multiply
-Color Burn
-Lighten
-Screen
-Color Dodge
-Add
-Overlay
-Soft Light
-Hard Light
-Difference
-Exclusion
…accuracy of GIF files, plus GIF with time curves.
…ed_frame_count, and make isReady() return correctly. The result of this bug was audio starting playback sooner than video - and some general jank around video caching.
…for time-curved clips that have a modified duration/video_length (i.e. repeated clips, slowled down clips, etc...). Adding a new ReaderBase.h VideoLength() that can be overridden in Clip.cpp when time curves are involved.
…re actually reversed over the length of the clip without skipping or missing a single one.
…n 0.0 early - which was breaking reversed time curves (zero'ing out the first frame or two)
…), so we can safely flip audio buffer direction when needed (i.e. time curves, reversed time). Also adding a new SetDirectionHint function to FrameMapper class - so our Clip class can inform the FrameMapper of its direction at any given moment. Also, clear resampler when changing directions inside a Time curve (since the audio buffer will be flipped - the resampler internal cache must be cleared).
…), so we can safely flip audio buffer direction when needed (i.e. time curves, reversed time). Also adding a new SetDirectionHint function to FrameMapper class - so our Clip class can inform the FrameMapper of its direction at any given moment. Also, clear resampler when changing directions inside a Time curve (since the audio buffer will be flipped - the resampler internal cache must be cleared).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant