Commit Graph

297 Commits

Author SHA1 Message Date
Brenno
8b861f0ff3 Merge remote-tracking branch 'origin/develop' into effect-parenting 2021-03-02 20:35:25 -03: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
Brenno
c0c2a82336 Merge branch 'develop' into keyframe-refactor 2021-02-01 14:22:41 -03:00
FeRD (Frank Dana)
3ac7eb86a8 Keyframe: Remove Coordinate ctor unit test 2021-01-29 03:59:34 -05:00
Jonathan Thomas
47afa205c7 Merge pull request #585 from OpenShot/opencv
3 New OpenCV Effects (Tracker, Stabilization, and Object Detection)
2021-01-28 17:28:15 -06:00
Jonathan Thomas
ea9e774f1e Fixing a big issue where SVG files are not correctly scaled to larger resolutions, for cases where the default size is smaller than the Timeline size (or preview size). Now SVG files are rescaled/re-rasterized larger when needed, and otherwise cached. 2021-01-28 15:46:39 -06:00
Brenno
3f11361f09 Added support to attach a clip to another clip 2021-01-27 17:41:39 -03:00
FeRD (Frank Dana)
6bd3110bce Coordinate_Tests: include Exceptions.h 2021-01-27 05:48:53 -05:00
Frank Dana
dbaac4debd Merge branch 'develop' into frac-python-types 2021-01-27 03:50:45 -05:00
FeRD (Frank Dana)
2f3615f706 Move Exceptions.h includes to .cpp files 2021-01-26 10:52:04 -05:00
Brenno
d6e0acb0cb ObjectDetection: show object's icons and transform handlers per frame
Only show the tracked object's icon (on the mini-GUI to attach a clip to it) and transform handler if the object appears on the screen (i.e. it has data for the requested frame)
2021-01-22 20:03:05 -03:00
Brenno
d481e5a75b Fixed codacy review warnings 2021-01-19 16:32:50 -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
3d5d907c5d Updated Clip.cpp to support GUI to select attached object
Modified Clip.cpp PropertiesJSON function and applied minor fixes to Keyframe_Tests
2021-01-14 15:45:28 -03:00
Brenno
61accdfe95 Merge branch 'opencv' into keyframe-refactor 2021-01-14 15:00:04 -03:00
FeRD (Frank Dana)
c84d77d1d8 Merge branch 'develop' into frac-python-types 2021-01-03 20:52:50 -05:00
Frank Dana
2699e7d1d0 Unit tests: Don't use OpenShot.h header (#607)
- To prevent slow compiles of unit tests, replace all of the
  '#include "OpenShot.h"' invocations with includes of the
  individual headers actually needed by each test file.
2020-12-26 21:51:24 -05:00
FeRD (Frank Dana)
f21cf35d36 Remove OpenShot.h from OpenCV unit tests 2020-12-26 06:15:53 -05:00
FeRD (Frank Dana)
ed77db81d2 Unit tests: Don't use OpenShot.h header
- To prevent slow compiles of unit tests, replace all of the
  '#include "OpenShot.h"' invocations with includes of the
  individual headers actually needed by each test file.

Revert "Unit tests: Don't use OpenShot.h header"

This reverts commit e5cc4f8bf91fc60697996023a86dc618637f6161.

Unit tests: Don't use OpenShot.h header

- To prevent slow compiles of unit tests, replace all of the
  '#include "OpenShot.h"' invocations with includes of the
  individual headers actually needed by each test file.
2020-12-26 06:15:53 -05:00
FeRD (Frank Dana)
5cfe52b9f7 CMake: Add ENABLE_OPENCV option, use targets 2020-12-24 10:07:08 -05: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
Brenno
e48405da9b Merge remote-tracking branch 'origin/develop' into keyframe-refactor 2020-12-17 22:36:41 -03:00
Brenno
5b5763eebb Merge remote-tracking branch 'origin/develop' into opencv 2020-12-17 22:19:10 -03:00
Brenno
4fdd325ea3 Added rotation transform to the tracker bounding-box.
Changed the bounding-box struct point convention to (cx, cy, width, height, angle).
The GetFrame member function from Tracker class now uses the cv::RotatedRect object to represent the bounding-box and draw it on screen.
The JSON and Protobuf communication between the backend and frontend still uses the (x1,y1)(x2,y2) point convention, the backend performs the adequate transformations.
2020-12-14 18:08:44 -03:00
Brenno
60cec478d3 Refactored KeyframeBBox
-Moved the methods that handles protobuf data from Tracker to KeyframeBBox
-Displacement and scale keyframes are now properties of KeyframeBBox
-Changed interface that updates the KeyframeBBox properties.
2020-12-12 20:23:34 -03:00