Commit Graph

224 Commits

Author SHA1 Message Date
FeRD (Frank Dana)
2257aec524 Timeline/Base: Fix Clips() inheritance 2021-06-10 08:17:26 -04:00
Brenno
cd7d6fe00c Merge remote-tracking branch 'origin/develop' into effect-parenting 2021-05-24 11:01:28 -03:00
Jonathan Thomas
a505f875d1 Refactoring timeline_frame_number out of apply_layer() and TimelineInfoStruct, we already have this data in scope (on the background frame instance) 2021-05-20 13:15:13 -05:00
Jonathan Thomas
441cb186f6 Refactor of global timeline effects, to address a regression with global/timeline Mask/Transitions no longer working correctly. This was caused by an optimization that broke the general behavior of the global transitions. 2021-05-18 14:25:36 -05:00
Brenno
2c9d2f2a32 OpenCV is again an optional dependency 2021-04-15 22:05:35 -03:00
Brenno
99b5d1e7ab Fixed variable names and comments
thanks to Frank Dana
2021-04-12 21:18:21 -03:00
FeRD (Frank Dana)
c8c92b5c5d Merge branch 'develop' into effect-parenting 2021-04-10 19:26:22 -04:00
FeRD (Frank Dana)
8227a91502 Timeline: Add constructor accepting ReaderInfo 2021-03-31 20:20:16 -04:00
Brenno
8b861f0ff3 Merge remote-tracking branch 'origin/develop' into effect-parenting 2021-03-02 20:35:25 -03:00
Jonathan Thomas
0e30ecccfd Removing caching from Clip object. Causes too many issues and does not add any performance (in my tests) 2021-02-18 16:14:14 -06:00
Jonathan Thomas
3daa5bdb7b Large refactor of OpenMP integration (or rather the removal of OpenMP on the Timeline and FFmpeg-related classes). The logic behind this decision, was based on profiling libopenshot and the amount of wasted CPU idle time on all the various threads. The slow code is still synchronous, and all the threads must wait on each other, adding additional overhead. So, removing lots of unneeded threads, and simplifying the underlying Timeline->Clip->FFmpegReader flow. Also, removed 2 calls to QPainter::drawImage, by improving the flexibility of Clip->GetFrame. 2021-02-17 19:44:44 -06:00
Jonathan Thomas
15695e3c0c Reducing the # of threads on the Timeline in half, with a minimum of 4. Trying to experiment and reduce stuttering. 2021-02-05 18:18:31 -06:00
Jonathan Thomas
0c4e1bcce4 Improving performance after working with google-prof, to profile CPU. Calling OMP_MP_NUM_PROCESSORS less often, since it's quite expensive according to profiling. Adjusting Timeline final_cache to match the video caching thread max_frames, so one doesn't clobber the other. Also, fixing an issue with openshot-player, where a video file with no audio skips horribly. 2021-02-04 17:28:07 -06:00
Brenno
67895f7c23 Added support to set an effect's properties by it's parent effect 2021-02-04 16:11:27 -03:00
Brenno
c0c2a82336 Merge branch 'develop' into keyframe-refactor 2021-02-01 14:22:41 -03:00
Brenno
4a28654bcc Added support to show the transform handler for the selected object
When using the ObjectDetection effect, it's now possible to select one detected object and update it's properties through it's transform handler.
2021-01-27 16:52:15 -03:00
FeRD (Frank Dana)
2f3615f706 Move Exceptions.h includes to .cpp files 2021-01-26 10:52:04 -05:00
Brenno
5eb9f60eea Added support to update the detected bounding-boxes keyframes
Added support to show transform handlers for the bounding-boxes (Tracked Objects) detected by the Object Detection effect and update their Keyframes.
2021-01-22 19:47:36 -03:00
Brenno
32a217eda7 Added support to attach clip to detected object (ObjectDetection) effect
This feature let's the user attach a clip to an object detected by the Object Detection effect, in the same way it is done with the Tracker Effect.
2021-01-22 19:28:16 -03:00
Brenno
cb61f914f7 Tracker effect and export video fixes
Fixed bug that made Openshot crash if two or more Tracker effects were added to the same video.
Fixed bug that made the clips to be incorrectly attached to tracked objects in the exported video.
2021-01-18 15:30:11 -03:00
Brenno
b08e65f24f Tracked object bounding box transform handler fix
Fixed bug that caused the tracked object bounding box to be incorrectly updated when the user interacted with it's transform handler.
2021-01-18 15:17:10 -03:00
Brenno
a5feadce1e Changed KeyframeBBox to TrackedObjectBBox and added TrackedObjectBase
Added new base class TrackedObjectBase, changed class KeyframeBBox to TrackedObjectBBox and changes it's inheritance from KeyframeBase to TrackedObjectBase.
2021-01-18 14:52:01 -03:00
Brenno
61accdfe95 Merge branch 'opencv' into keyframe-refactor 2021-01-14 15:00:04 -03:00
Frank Dana
6009a26e4c Eliminate TooManySeeks exception (#611)
Since commit bfa050409c (2015-08-24),
there is no code in libopenshot which ever throws TooManySeeks.

- Removed catch() statements for TooManySeeks from multiple functions
- Removed the exception from Exceptions.h
- in Qt/AudioPlaybackThread.h:
  - Removed the "SafeTimeSliceThread" class definition, as it only
    existed to catch TooManySeeks.
  - Replaced SafeTimeSliceThread with a standard juce::TimeSliceThread
2021-01-01 05:24:48 -05:00
Jonathan Thomas
f5d6ee22e7 Reverting 'clear the cache when the user seeks' experiment. It was a failed experiement, not to mention that it destroys performance on the "Transform" tool. 2020-12-31 18:09:39 -06:00