Commit Graph

243 Commits

Author SHA1 Message Date
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
Brenno
b579ea6499 Added functionality to link a clip to a tracked object (Animations)
- Added KeyframeBase class
- Adjusted the inheritance of KeyframeBase to KeyframeBBox and Keyframe
- Added feature to attach clip to bounding box
- Added support to select tracked object with a dropdown list and removed keyframebbox downcasting
2020-12-22 21:32:36 -03:00
Jonathan Thomas
ac73bd965d Fixing an issue caused by timeline::GetClip returning a ClipBase instead of a Clip (broke waveform generation).
Also adding a swig definition for the Caption effect.
2020-12-03 10:52:27 -06:00
Jonathan Thomas
172348417c Improvement to video caching thread, to recover from the separation of cache vs display frame #. Also found a mutex that was needed, to prevent crashing when the video thread calls timeline::GetFrame at certain times... colliding with another thread (and independent of OpenMP). 2020-10-23 17:52:20 -05:00
Jonathan Thomas
e556d0fded Added 2 new unit tests for Clip's with a Timeline associated with them, and FFmpegReaders with a Clip/Timeline associated with them. 2020-10-23 01:35:46 -05:00
FeRD (Frank Dana)
a1e44edad4 Merge branch 'develop' into clip-refactor-keyframes 2020-10-19 16:28:49 -04:00
Jonathan Thomas
d2521bcbff Fixing some additional cpp_test complaints 2020-10-19 16:22:27 -04:00