180 Commits

Author SHA1 Message Date
subhransu mohanty
de6d53632b lottie/player: make sure model or composition available before calling api.
Change-Id: Ia1351bbd076d0e3189d033f708bd3ec281c30cd4
2018-08-09 09:59:05 +09:00
subhransu mohanty
d424320bd4 lottie/vector: added isEmpty() api in size class.
Change-Id: Ia49254b2d83c047d268ff7510c058c6b25873564
2018-08-09 09:51:43 +09:00
subhransu mohanty
0a7ca8137c lottie/render : fixed dash regression
Change-Id: I7a79295348ba23d8328718014a49760c2e11e731
2018-08-08 14:14:19 +09:00
subhransu mohanty
13966ac8c4 lottie/vector: fixed dasher issue.
Change-Id: If602ac7441469c5ed8bfe0500154a585087f433f
2018-08-08 13:57:39 +09:00
subhransu mohanty
62b1cea9e3 lottie/vector: refactored VRle class to use cow_ptr.
Change-Id: I00dd76c57e94a255efb478a61465ce6b20e8d0b5
2018-08-07 04:35:36 +00:00
subhransu mohanty
92c363da42 lottie/render: Implement drawRle() with position information.
Change-Id: Ia5bbcf911baaaa4b684045a6ac28c4dcfc14f841
2018-08-06 10:25:41 +09:00
Youngbok Shin
296534e3c0 lottie/render: don't redraw stroke/dash if there is no change
It will improve performance.

Change-Id: I3764d126d7eae19d009d72998247789e620205a1
2018-08-03 08:55:34 +00:00
Youngbok Shin
10cb2bda92 lottie: don't redraw path item if its properties are not changed
A path item has few animation frames, it has to be redrawn only in
animated frames. If the path item became static after animation frames,
it shouldn't redraw its path.
It will improve performance.

Change-Id: I583f2b8a889208a07530f6d06ed90469bcee726c
2018-08-03 08:48:32 +00:00
subhransu mohanty
649c463f4e lottie: always get the item by ref or const ref.
Change-Id: Id798812b135d2e1ef1fb593412808f15e2645761
2018-08-02 17:06:41 +09:00
Youngbok Shin
e8cb8100e6 lottie/raster: remove Const qualifier from VPath parameters
The given VPath should be moved by std::move.
The std:move only work as our purpose when it is non-const variable.
And it also fix a crash issue when its path is not changed, but its other properties are changed.

Change-Id: I4135066f99c0eed07e033c368dc4b60e6703ca37
2018-08-02 16:59:59 +09:00
Youngbok Shin
d0d3f36493 lottie/vector: move VPath to raster/drawable methods
It prevents to increase ref count of VPath meaninglessly.
It could be helpful to improve performance by avoiding alloc/dealloc/copy.

Change-Id: I597ca0ea99cdc10bfe9c83a644d20caeab6162b3
2018-08-02 16:05:20 +09:00
Youngbok Shin
a9def49291 lottie/vector: add clone method to copy data without increasing ref count
It helps to improve performance by avoiding copy job from writing COW data.

Change-Id: I72d1c7106fc4fe53fa6db05e7ed8c74f1b70fe95
2018-08-02 13:55:36 +09:00
subhransu mohanty
3ef4a6b6ae lottie/render: fixed logic where the memory will only grow when needed.
Change-Id: I2367433c69083b5c52d109ff854b9fa3b9019247
2018-08-02 13:11:28 +09:00
Youngbok Shin
b9fe04a251 lottie: reuse path for reducing constructor/destructor calls from getPath()/toPath()
It helps to improve performance by avoiding constructor/destructor calls.
The getPath function is renamed to updatePath function.
And it does not return VPath anymore.

Change-Id: I6e6cc52ec3f1560aac2ee0633cdf5a8c224dcc6e
2018-08-02 03:12:59 +00:00
subhransu mohanty
4b823247bd lottie: add support for arm fast path in vector render backend.
Change-Id: I6e2524290eb22cf889033ebb129b9a699bcdaf07
2018-08-02 10:45:10 +09:00
subhransu mohanty
6204af6ab6 lottie: remove dead code.
Change-Id: Ia56674a813a65007f07b2a54d230743ced6b6511
2018-08-01 13:06:44 +09:00
subhransu mohanty
4954721403 lottie/optimization: move the rle object to rletask thread to reuse
the object between frames.

Change-Id: Ia551fea9346c27aa4b6c020670a287b83b8a472e
2018-08-01 11:46:31 +09:00
subhransu mohanty
79af60fc2f lottie/vector: added reset() api to VRle class.
Change-Id: Iace73912f6ab4510c0adb15387029e2038ad15be
2018-08-01 11:43:37 +09:00
subhransu mohanty
14f66bb3b5 lottie/render: fixed rendering backend issue for arm.
Change-Id: I23b2f24b0ed995cb76ba554228e4ff72677806bd
2018-07-31 17:10:30 +09:00
subhransu mohanty
7465055289 lottie/render: add support for arm backend build.
Change-Id: I2cd319c4f599ead2e33056b037828d417d47753b
2018-07-31 17:08:54 +09:00
subhransu mohanty
23557dff62 lottie: treat undefined symbol as error while building library and enable assembly building.
Change-Id: I034d8bb84e61ecc56da6a66c18e620e8611dcb0b
2018-07-31 17:03:11 +09:00
Youngbok Shin
d7084820c3 lottie: remove hardcoding pathes in pkgconfig file. (.pc)
Change-Id: I284cc1fc0af6f58e0da16ea8ab3d17de7f3b4286
2018-07-31 14:57:12 +09:00
subhransu mohanty
46d1fec227 lottie: move logging system initialization to player.
disable loggin for tizen till issue resolved.

Change-Id: I24664f43128c6edfacd09f7296d63cad636c0c81
2018-07-31 14:29:51 +09:00
subhransu mohanty
a5528fc85d lottie: fixed pc file for linking issue of lottie library in tizen
thanks to youngbok for the help

Change-Id: Iff2cb41b58102892b8903cf17cc7847ff3c9163e
2018-07-31 13:52:57 +09:00
subhransu mohanty
333d888a42 lottie: add cmake config file so that library can be found with find_package()
Change-Id: I4e1c29f79a1a24636808079762cc88501fe2389b
2018-07-31 10:20:46 +09:00
subhransu mohanty
abb7872b79 lottie/vector: reserve memory ahead to minimize reallocation.
Change-Id: Idb973bb7660c4ec95f36aa36d3707aa6030f5ffc
2018-07-30 16:47:18 +09:00
Youngbok Shin
b7f8007431 lottie: use make_unique construct
Change-Id: I8618541470fb636d2315aa39360fadc58c182dd3
2018-07-30 07:02:02 +00:00
Youngbok Shin
33e6a807c9 lottie/vector: reserve memory space ahead for minimizing reallocation - Polystar/Polygon
It also fix to use vIsZero() instead of equal(=) for floating values.

Change-Id: Iebe619a1a7be58b00e7261d8a6079e8ea817e055
2018-07-30 15:24:11 +09:00
Youngbok Shin
29eedc78ea lottie/vector: remove a warning message from 64 bits compilation
uint64_t is same as unsigned long long in 32 bits compilation.
But, it is same as unsigned long in 64 bits compilation.

Change-Id: Ibcddaf17d1fa1f6c972906f6571c05253292b752
2018-07-30 14:48:28 +09:00
Youngbok Shin
e99664a5ca lottie/vector: remove an unused variable warning message
Change-Id: I1ac0b9c3ec314ac01da8d3be3d11a1b21ef9938a
2018-07-30 14:41:23 +09:00
subhransu mohanty
3b5bac83a0 lottie/vector: reserve memory only when required.
Change-Id: Ia86c292d66c1060d33ccffd2fe5922480d219eb4
2018-07-30 14:34:24 +09:00
subhransu mohanty
dfe59f9fd5 lottie/vector: updated paths reserve api policy.
Change-Id: I9b6e97526d887ec6d342384cb7f2046584dbaf04
2018-07-30 14:31:19 +09:00
subhransu mohanty
548051c0e1 lottie: save extra memory allocation by reusing FtOutline object.
Change-Id: Ib3574052524cd38cd106ba27620ac825eb6a3f2a
2018-07-30 14:22:11 +09:00
subhransu mohanty
aa29d857d8 lottie: fixed warning.
Change-Id: Icc12cc76584913dd1f219207c23b987c61bb4829
2018-07-30 14:17:54 +09:00
subhransu mohanty
21867e1bd1 lottie: Enable compiler Optimization on library.
Change-Id: I4edee092788670e5438139ea60a8daa9998c6575
2018-07-30 13:44:09 +09:00
subhransu mohanty
e527a3d7c0 lottie: remove inline from public api.
Change-Id: Ia6fdd2ddf0029f7aa1af57446e327ac6887708c8
2018-07-30 13:40:24 +09:00
subhransu mohanty
9e63597b97 lottie: Follow Tizen coding guideline.
Change-Id: Ice6a5af7cb08e768e157f8bb45bef64bb4062dce
2018-07-30 13:18:28 +09:00
sub.mohanty@samsung.com
485f55f99b lottie/model: unique pointer will do the job.
Change-Id: If421eb50bfbb529dece4d42fce1b71ff70574694
2018-07-30 02:49:00 +00:00
subhransu mohanty
6bf0c9bf69 lottie: Updated clang-format based on tizen coding guide line.
Change-Id: I25ddd59307ded91b71d7aaf46c2fc32e8e88fd33
2018-07-30 02:48:30 +00:00
sub.mohanty@samsung.com
6b363ae021 lottie/model: refactor Keyframe class for space optimization.
Change-Id: I5b5a614ef69ab430459003764e7707ace4575ebd
2018-07-30 00:47:16 +00:00
sub.mohanty@samsung.com
99e3caa0d2 lottie/render: ported sse2 srcOver composition from pixman.
Change-Id: I8d38caf4190a97a8575c5cecd9847fc37f4ef256
2018-07-30 09:45:39 +09:00
sub.mohanty@samsung.com
61bb4fba3e lottie/vector: Remove the hack with mutable data member.
NOTE: if you need to modify the object in a const member function make the data as mutable.

Change-Id: I28b2cc18d75433475f75b048af878297747980db
2018-07-28 17:29:58 +09:00
sub.mohanty@samsung.com
e6bce26b6e lottie: fix some more warning.
Change-Id: I0b1fe8773ec1f795e7df603a35a02687697f3e00
2018-07-28 17:08:32 +09:00
sub.mohanty@samsung.com
a5223736af lottie/render: fixed std::move copy elision warning
Change-Id: I0eee41225dbc19ee958b7d747d2536532efb3445
2018-07-28 17:02:37 +09:00
subhransu mohanty
edb4dd17a1 lottie/render: fixed regression in dash rendering.
Change-Id: I3f4a4aa5d990b9386ddf2ceddc141c2ac83cda76
2018-07-27 18:50:42 +09:00
Jaeun Choi
c607e87f97 lottie/vector: clean up vpathmesure and use vdasher in it
Change-Id: Id5367613f89487f4a764010ef155d19f78e2372a
2018-07-27 17:42:16 +09:00
Jaeun Choi
86d179f9b1 vector: add length() function in vpath
Change-Id: I94e2a3d7a1441f250ca722f53de018efce191c74
2018-07-27 17:04:49 +09:00
subhransu mohanty
0255310b08 lottie/render: Disable buggy sse2 implementation till it fixed.
Change-Id: Iffc2006afc1bb29a65944a6da23fa308ce0b5955
2018-07-27 07:32:12 +00:00
Jaeun Choi
1570254a2e vector: fixed variable type from int to float
Change-Id: I5ab0d6f14de6e1aa302cb6b4df1f61781dd3468b
2018-07-27 15:43:34 +09:00
subhransu mohanty
e62f74b624 lottie/render: Use AlignCenter rule when the composition dosen't scale exactly to the requested size.
Change-Id: Ibd8aa929186104378287b65785afbc799cad0e04
2018-07-27 14:51:58 +09:00