platform/core/uifw/lottie-player.git
4 years agovector: lower the tolerance value of VDasher from 1.0 to 0.1
subhransu mohanty [Thu, 17 Oct 2019 00:56:15 +0000 (09:56 +0900)]
vector: lower the tolerance value of VDasher from 1.0 to 0.1

4 years agoreview fix: move reproducerts to test folder
Anatoly Korniltsev [Mon, 14 Oct 2019 07:14:28 +0000 (10:14 +0300)]
review fix: move reproducerts to test folder

4 years agoPrevent type confusion with NDEBUG
Anatoly Korniltsev [Wed, 9 Oct 2019 22:03:56 +0000 (01:03 +0300)]
Prevent type confusion with NDEBUG

4 years agoREADME: updated documentation.
Hermet Park [Mon, 14 Oct 2019 06:13:59 +0000 (15:13 +0900)]
README: updated documentation.

Removed C api usage.

This is not good to add in this context before we guide its basic usages.

4 years agovector stb: free the memory properly in the exception cases.
Hermet Park [Mon, 14 Oct 2019 05:14:16 +0000 (14:14 +0900)]
vector stb: free the memory properly in the exception cases.

Change-Id: I64103c03679f0fe14b31d904e5e35aa1c03e29ef

4 years agovector/rasterizer: safe rletask reset. 73/216573/1
subhransu mohanty [Mon, 28 Oct 2019 07:17:22 +0000 (16:17 +0900)]
vector/rasterizer: safe rletask reset.

check if the previous task is finished before reseting the task .
if the previous task is not finished may lead to inconsistant task state.

Change-Id: I934636745fcc87474d511eaa1c7f9a44027f8d60

4 years agovector stb: free the memory properly in the exception cases. 61/215661/1 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.015024 accepted/tizen/5.5/unified/mobile/hotfix/20201027.075200 accepted/tizen/unified/20191014.062459 submit/tizen/20191014.053053 submit/tizen/20191014.060638 submit/tizen_5.5/20191031.000005 submit/tizen_5.5_mobile_hotfix/20201026.185105 tizen_5.5.m2_release
Hermet Park [Mon, 14 Oct 2019 05:14:16 +0000 (14:14 +0900)]
vector stb: free the memory properly in the exception cases.

Change-Id: Ib2699f068217f20f565a2045f7e0fc53f32a8f95

4 years agolottie/perf: Avoid triggering render of a paint node when final opacity is zero submit/tizen/20191013.215822
subhransu mohanty [Fri, 11 Oct 2019 06:05:13 +0000 (15:05 +0900)]
lottie/perf: Avoid triggering render of a paint node when final opacity  is zero

4 years agorlottie_capi: Add Alpha member in ImageInfo
JunsuChoi [Fri, 11 Oct 2019 02:57:09 +0000 (11:57 +0900)]
rlottie_capi: Add Alpha member in ImageInfo

4 years agovector: support rendering of texture brush with alpha.
subhransu mohanty [Fri, 11 Oct 2019 00:58:14 +0000 (09:58 +0900)]
vector: support rendering of texture brush with alpha.

4 years agoREADME: remove an emptry space accepted/tizen/unified/20191014.005025 submit/tizen/20191010.214907 submit/tizen/20191011.230442
Hermet Park [Thu, 10 Oct 2019 11:30:02 +0000 (20:30 +0900)]
README: remove an emptry space

4 years agovector: refcator VBrush to reduce memory footprint
subhransu mohanty [Thu, 10 Oct 2019 06:42:18 +0000 (15:42 +0900)]
vector: refcator VBrush to reduce memory footprint

4 years agoupdated README.
Hermet Park [Thu, 10 Oct 2019 07:06:00 +0000 (16:06 +0900)]
updated README.

4 years agorlottie: refactor to reduce lottie item memory footprint
subhransu mohanty [Thu, 10 Oct 2019 04:34:18 +0000 (13:34 +0900)]
rlottie: refactor to reduce lottie item memory footprint

4 years agoREADME.md: Update Supported feature (Markers)
JunsuChoi [Thu, 10 Oct 2019 06:37:48 +0000 (15:37 +0900)]
README.md: Update Supported feature (Markers)

4 years agorlottie: support composition marker feature in lottie accepted/tizen/unified/20191011.015420 submit/tizen/20191009.211935
subhransu mohanty [Tue, 8 Oct 2019 04:33:57 +0000 (13:33 +0900)]
rlottie: support composition marker feature in lottie

4 years agodoc: fix typo accepted/tizen/unified/20191010.032850 submit/tizen/20191007.211537 submit/tizen/20191008.054409 submit/tizen/20191008.233305
Hermet Park [Mon, 7 Oct 2019 11:02:00 +0000 (20:02 +0900)]
doc: fix typo

4 years agovector stb_image: + fseek() error handling. accepted/tizen/unified/20191008.101627 submit/tizen/20191004.073158 submit/tizen/20191006.213409 submit/tizen/20191007.015014 submit/tizen/20191007.061708
Hermet Park [Fri, 4 Oct 2019 07:16:28 +0000 (16:16 +0900)]
vector stb_image: + fseek() error handling.

Shutdown code static analizer report...

Change-Id: I389049eb958b7c5d47435115343854af3527ec31

4 years agopixman vregion: remove unused function. submit/tizen/20191004.064529
Hermet Park [Fri, 4 Oct 2019 06:39:12 +0000 (15:39 +0900)]
pixman vregion: remove unused function.

Thatis acutally wrong that might access invalid data.

The below line, memory indexing

box_type_t *box = PIXREGION_RECTS(reg) + index;

won't work properly since the reg memory is not the exact box_type_t.

Change-Id: I872235580de839a1cc19aad8c5e7564ae56cc68e

4 years agovector vrle: remove a line affecting nothing.
Hermet Park [Fri, 4 Oct 2019 06:19:06 +0000 (15:19 +0900)]
vector vrle: remove a line affecting nothing.

Change-Id: Ib0079788720e9e6c0175c4a925e6bbd3ac9c9ec4

4 years agovector stb_image: + fseek() error handling.
Hermet Park [Fri, 4 Oct 2019 04:15:52 +0000 (13:15 +0900)]
vector stb_image: + fseek() error handling.

Shutdown code static analizer report...

Change-Id: If8b7f00f45eb845c89d35f6451f06853771e9315

4 years agovector/vdasher: initialize a member var with a default value.
Hermet Park [Fri, 4 Oct 2019 03:55:12 +0000 (12:55 +0900)]
vector/vdasher: initialize a member var with a default value.

Change-Id: Iaf9d4f10b17be6c60defdbfd99777dbcecaf7d4d

4 years agoupdated AUTHORS
Hermet Park [Fri, 4 Oct 2019 03:44:04 +0000 (12:44 +0900)]
updated AUTHORS

Change-Id: I8d9e0c1ce10005a5a738d35518d72e3f632f4179

4 years agolottie/parser: reduce memory allocation during shapedata parsing submit/tizen/20191003.212707
subhransu mohanty [Wed, 2 Oct 2019 07:04:38 +0000 (16:04 +0900)]
lottie/parser: reduce memory allocation during shapedata parsing

4 years agoExample : Enhancement dynamic property demo
JunsuChoi [Wed, 2 Oct 2019 06:21:33 +0000 (15:21 +0900)]
Example : Enhancement dynamic property demo

Change json sample and add more cases.

4 years agovector/ft: refactor to reduce branch miss.
subhransu mohanty [Wed, 2 Oct 2019 06:11:26 +0000 (15:11 +0900)]
vector/ft: refactor to reduce branch miss.

vtune profile shows branch miss in ft_trig_pseudo_polarize and ft_trig_pseudo_rotate
as both the if cases does similar expensive computation move then to start so that
we will not pay high penalty during branch miss.

4 years agoREADME.md : Add dynamic property accepted/tizen/unified/20191004.003714 submit/tizen/20191001.213324
JunsuChoi [Thu, 26 Sep 2019 11:24:36 +0000 (20:24 +0900)]
README.md : Add dynamic property

4 years agoIntroduce export map to completely hide private symbols
Nicholas Guriev [Fri, 27 Sep 2019 18:28:05 +0000 (21:28 +0300)]
Introduce export map to completely hide private symbols

Also put configureModelCacheSize into the rlottie namespace.

4 years agolottie/optimization: keep painter and surface in composition to avoid memory allocation accepted/tizen/unified/20191001.062516 submit/tizen/20190929.220413 submit/tizen/20190930.064714 submit/tizen/20191001.000056
subhransu mohanty [Fri, 27 Sep 2019 07:01:14 +0000 (16:01 +0900)]
lottie/optimization: keep painter and surface in composition to avoid memory allocation

4 years agovector: added reset() api to VBitmap
subhransu mohanty [Fri, 27 Sep 2019 06:59:44 +0000 (15:59 +0900)]
vector: added reset() api to VBitmap

4 years agolottie/optimization: keep a pathmesure object in trim item to avoid memory allocation submit/tizen/20190926.223052
subhransu mohanty [Thu, 26 Sep 2019 01:17:19 +0000 (10:17 +0900)]
lottie/optimization: keep a pathmesure object in trim item to avoid memory allocation

4 years agovector: refactor pathmesure to keep a scratch path object for memory efficieny
subhransu mohanty [Thu, 26 Sep 2019 01:16:10 +0000 (10:16 +0900)]
vector: refactor pathmesure to keep a scratch path object for memory efficieny

4 years agovector: refactor Vdasher to take result path as parameter
subhransu mohanty [Thu, 26 Sep 2019 01:15:00 +0000 (10:15 +0900)]
vector: refactor Vdasher to take result path as parameter

4 years agooptimization: avoid memory allocation when shape data has animation keyframe. accepted/tizen/unified/20190927.064512 submit/tizen/20190923.005744 submit/tizen/20190923.215628 submit/tizen/20190924.053902 submit/tizen/20190924.220547 submit/tizen/20190925.214157 submit/tizen/20190926.103214
subhransu mohanty [Fri, 20 Sep 2019 06:50:47 +0000 (15:50 +0900)]
optimization: avoid memory allocation when shape data has animation keyframe.

because of generic LOTAnimatable interface when shape has animation data
we were always created temporary shape data duting lerp. by crating a specialization
of AnimatableShape data and directly updating path value during animation we avoid
lot of memory allocation and deallocation.

4 years agolottie/optimization: optimize rendering when layer has clipper and mask
subhransu mohanty [Thu, 19 Sep 2019 07:56:46 +0000 (16:56 +0900)]
lottie/optimization: optimize rendering when layer has clipper and mask

When layer has clipper and mask we create a temporary rle in each frame rendering
by avoiding the extra Rle object avoids memory allocation and speeds up rendering.

4 years agovector/rle: added operator&=() api to VRle
subhransu mohanty [Thu, 19 Sep 2019 07:45:45 +0000 (16:45 +0900)]
vector/rle: added operator&=() api to VRle

4 years agovector/helper: let VGradientCache has perfect singletone interface.
Hermet Park [Tue, 17 Sep 2019 10:53:42 +0000 (19:53 +0900)]
vector/helper: let VGradientCache has perfect singletone interface.

4 years agoFix possible stack corruption.
John Preston [Sun, 1 Sep 2019 09:04:26 +0000 (12:04 +0300)]
Fix possible stack corruption.

4 years agoFix possible out of bounds reading.
John Preston [Sun, 1 Sep 2019 09:03:18 +0000 (12:03 +0300)]
Fix possible out of bounds reading.

Asserts could be disabled in the Release build.

4 years agoCheck that root layer was found.
John Preston [Sun, 1 Sep 2019 07:37:11 +0000 (10:37 +0300)]
Check that root layer was found.

4 years agovector: refactor code to remove a global instance.
Hermet Park [Mon, 16 Sep 2019 11:05:55 +0000 (20:05 +0900)]
vector: refactor code to remove a global instance.

This kind of global static instance is really dangerous in c++ because
We have no idea when the instance will be initalization exactly.

This might interrupt the program sequence, more worsely, it could break the program
while That breakage is totally up to the member instances of the class.

Very poor design.

Change-Id: I8ca788bad2fe2e90f9cd5449b84b1ed15c043f1e

4 years agoexample: bump up c++ version to 14 in cmake.
Hermet Park [Mon, 16 Sep 2019 09:34:18 +0000 (18:34 +0900)]
example: bump up c++ version to 14 in cmake.

Change-Id: Ice8b4b685d54138a1b883611f7abb7eff642bb95

4 years agolottie/parser: check for layer data integrity
subhransu mohanty [Thu, 5 Sep 2019 08:20:42 +0000 (17:20 +0900)]
lottie/parser: check for layer data integrity

this patch checkes if the layer has assigned itself as parent.

Change-Id: Id2d4b931614e9d6781d8dd73686972855a475fb2

4 years agolottie/model: keep a stat of model for future local allocator.
sub.mohanty@samsung.com [Sun, 18 Aug 2019 09:24:36 +0000 (18:24 +0900)]
lottie/model: keep a stat of model for future local allocator.
In a complex lottie resource layer counts can exceed above 100 or in
some cases 1000. As in each frame rendering we visit the whole tree
allocating all of them using a local allocator will speed up the tree
visit as well as creation and destruction.

As the number of layer objects are fixed in a resource we can make use of
a dumb monotonic allocator to allocate all objects in one place.

Change-Id: If824c7bba8bbd9c93dff8693fc72deac1fa4c893

4 years agoRevert "trial & error to figure out the lottie packaging issue in vd." accepted/tizen/unified/20190923.011146 submit/tizen/20190919.052822
Hermet Park [Thu, 19 Sep 2019 02:18:40 +0000 (11:18 +0900)]
Revert "trial & error to figure out the lottie packaging issue in vd."

This reverts commit 2e5c1c74ba887cf8170c8aa9e8ee4eb4d2c36a78.

This doens't work.

Change-Id: I764b8bdbadedbb0954cb1fe410d2a10f2da807e7

4 years agotrial & error to figure out the lottie packaging issue in vd. 59/214159/1
Hermet Park [Wed, 18 Sep 2019 11:31:45 +0000 (20:31 +0900)]
trial & error to figure out the lottie packaging issue in vd.

Change-Id: I3109d1dfc4fb00fc41a8aaed5c20b08018564b45

4 years agoRevert "Revert "rlottie/gbs: move gbs build from cmake to meson""
Hermet Park [Wed, 18 Sep 2019 11:24:10 +0000 (20:24 +0900)]
Revert "Revert "rlottie/gbs: move gbs build from cmake to meson""

This reverts commit 57603b6c4bf0fdca3ce91c5abe2e51e21cd8e442.

This dosen't affect vd packaging issue.

Change-Id: Ia9dad9a9a787a0d3b0c5561c26e09c1d9839f4b4

4 years agoRevert "rlottie/gbs: move gbs build from cmake to meson" 97/214097/1
subhransu mohanty [Wed, 18 Sep 2019 04:41:35 +0000 (13:41 +0900)]
Revert "rlottie/gbs: move gbs build from cmake to meson"

This reverts commit 734dc7289e72d51b03e49099e358d863e040e5b0.

Change-Id: I40957152a0aff3f52df3665b1213874efa63a9e7

4 years agoRevert "trial & error to figure out the lottie packaging issue in vd." 93/214093/1
Hermet Park [Wed, 18 Sep 2019 03:00:48 +0000 (12:00 +0900)]
Revert "trial & error to figure out the lottie packaging issue in vd."

This reverts commit 88a8144cb8b0757f983e68354c532a3aeb894e3a.

This doesn't affect that issue.

Change-Id: I688b1b9e2f64632415aa7205330f55e39820995e

4 years agotrial & error to figure out the lottie packaging issue in vd. 61/214061/1
Hermet Park [Tue, 17 Sep 2019 12:50:35 +0000 (21:50 +0900)]
trial & error to figure out the lottie packaging issue in vd.

Change-Id: Id466e545f341aa4db05a2cd3590d37f9a828663d

4 years agoRevert "trial & error to fix the lottie packaging issue in vd."
Hermet Park [Tue, 17 Sep 2019 12:06:58 +0000 (21:06 +0900)]
Revert "trial & error to fix the lottie packaging issue in vd."

This reverts commit c87f74e1b5228913404c313c31ed8ebe97ffd8a2.

This doesn't work.

Change-Id: I508850a45162a5c7502aa1b2661dbfbc26aea8aa

4 years agovector: refactor code to remove a global instance. submit/tizen/20190917.012523 submit/tizen/20190917.040942 submit/tizen/20190917.043123
Hermet Park [Mon, 16 Sep 2019 11:05:55 +0000 (20:05 +0900)]
vector: refactor code to remove a global instance.

This kind of global static instance is really dangerous in c++ because
We have no idea when the instance will be initalization exactly.

This might interrupt the program sequence, more worsely, it could break the program
while That breakage is totally up to the member instances of the class.

Very poor design.

Change-Id: I9d7dd12dc72a2936be95478d26aefc982e4eeeb9

4 years agoexample: bump up c++ version to 14 in cmake.
Hermet Park [Mon, 16 Sep 2019 09:34:18 +0000 (18:34 +0900)]
example: bump up c++ version to 14 in cmake.

Change-Id: Ibf1ce24e14e3484b381c8df7c7a307956a1a1528

4 years agolottie/parser: check for layer data integrity
subhransu mohanty [Thu, 5 Sep 2019 08:20:42 +0000 (17:20 +0900)]
lottie/parser: check for layer data integrity

this patch checkes if the layer has assigned itself as parent.

Change-Id: I3c46242adf741efb0ac06ca742cc224675bd7474

4 years agolottie/model: keep a stat of model for future local allocator.
sub.mohanty@samsung.com [Sun, 18 Aug 2019 09:24:36 +0000 (18:24 +0900)]
lottie/model: keep a stat of model for future local allocator.
In a complex lottie resource layer counts can exceed above 100 or in
some cases 1000. As in each frame rendering we visit the whole tree
allocating all of them using a local allocator will speed up the tree
visit as well as creation and destruction.

As the number of layer objects are fixed in a resource we can make use of
a dumb monotonic allocator to allocate all objects in one place.

Change-Id: I6c6c8ea83c8d6382609ea58b6640c033f7fd51f3

4 years agoremove -fPIE option. 19/213919/1
Hermet Park [Mon, 16 Sep 2019 12:42:54 +0000 (21:42 +0900)]
remove -fPIE option.

Seems this occurs the linking error.

Change-Id: I35d468580704eb8ecd809bbe27aefacc26f20629

4 years agotrial & error: to fix the lottie packaging issue in vd. 12/213912/1
Hermet Park [Mon, 16 Sep 2019 10:30:58 +0000 (19:30 +0900)]
trial & error: to fix the lottie packaging issue in vd.

no exact clue yet, check whether this affects the issue or not.

Change-Id: I7944ebab8b52b3edc2b5395ed49a566608154244

4 years agotrial & error to fix the lottie packaging issue in vd. 06/213906/1
Hermet Park [Mon, 16 Sep 2019 09:53:14 +0000 (18:53 +0900)]
trial & error to fix the lottie packaging issue in vd.

specify standard c++14 and pthread.

Change-Id: Id3402f20f3dbb4481dedbec300f453213a239166

4 years agostb: added exceptional handling. accepted/tizen/unified/20190905.232211 submit/tizen/20190905.064609
Hermet Park [Wed, 4 Sep 2019 08:26:26 +0000 (17:26 +0900)]
stb: added exceptional handling.

ftell() could return -1  but fseek() doesn't allow minus values.

Modified to skip irritating coverity report.

Change-Id: I7f66c2d0a3514d324ad23159c20be9fe1bb17724

4 years agostb: added exceptional handling.
Hermet Park [Wed, 4 Sep 2019 08:23:10 +0000 (17:23 +0900)]
stb: added exceptional handling.

ftell() could return -1  but fseek() doesn't allow minus values.

Modified to skip irritating coverity report.

Change-Id: Id2dbe0bb0852b3b30f5afe86b1677c99d5229e03

4 years agovector: refactor VBitmap to use rc_ptr instead of std::shared_ptr
sub.mohanty@samsung.com [Sun, 25 Aug 2019 06:53:52 +0000 (15:53 +0900)]
vector: refactor VBitmap to use rc_ptr instead of std::shared_ptr

4 years agolottie2gif: add option to set resolution
Hermet Park [Sat, 31 Aug 2019 09:11:26 +0000 (18:11 +0900)]
lottie2gif: add option to set resolution

Usage:
   lottie2gif [lottieFileName] [Resolution] [bgColor]

Examples:
    $ lottie2gif input.json
    $ lottie2gif input.json 200x200
    $ lottie2gif input.json 200x200 ff00ff

4 years agovector: added support rc_ptr and arc_ptr to vector
sub.mohanty@samsung.com [Sun, 25 Aug 2019 06:49:31 +0000 (15:49 +0900)]
vector: added support rc_ptr and arc_ptr to vector
why?
std::shared_ptr uses 2 pointer instead of 1.
we don't always need atomic ref count thats why rc_ptr
in situation where atomic ref cound needed use arc_ptr

4 years agolottie:move renderTree() implementation to its own file
sub.mohanty@samsung.com [Sun, 25 Aug 2019 03:32:25 +0000 (12:32 +0900)]
lottie:move renderTree() implementation to its own file

4 years agolottie: move cnodelist to capidata to reduce layer object size
sub.mohanty@samsung.com [Sun, 25 Aug 2019 01:27:51 +0000 (10:27 +0900)]
lottie: move cnodelist to capidata to reduce layer object size

Change-Id: Ie8321d759ae0c859a89cd0e3c27380300f65c56f

4 years agorlottie: refactor to avoid reversing the vector
sub.mohanty@samsung.com [Sat, 24 Aug 2019 11:35:56 +0000 (20:35 +0900)]
rlottie: refactor to avoid reversing the vector

Change-Id: I981c1dfbb0465af32032afab191f7dfd82fd513c

4 years agovector/matrix: added scale() api in vmatrix
sub.mohanty@samsung.com [Sun, 25 Aug 2019 02:50:28 +0000 (11:50 +0900)]
vector/matrix: added scale() api in vmatrix

Change-Id: Ide0ea9f1ae039fd9fd9a2a95cca8e45619254990

4 years agooptimization: refactor renderTree() api support to reduce lottie object size.
sub.mohanty@samsung.com [Sun, 18 Aug 2019 10:12:12 +0000 (19:12 +0900)]
optimization: refactor renderTree() api support to reduce lottie object size.

Moving all the data structure under LOTCApiData and allocationg it when needed
we will incur only a pointer overhead when renderApi() is not used.

Change-Id: I846cfabd14ba85397fa2ab8b3ee2caba41cd87cb

4 years agooptimization/model:refactor LOTData class to optimize memory accepted/tizen/unified/20190818.221648 submit/tizen/20190812.090759 submit/tizen/20190813.054738 submit/tizen/20190814.085144
sub.mohanty@samsung.com [Sat, 3 Aug 2019 06:47:11 +0000 (15:47 +0900)]
optimization/model:refactor LOTData class to optimize memory
As std::string uses short buffer optimization internally and because of
structure allignment the size of the LOTData was 32 byte.
by handling short buffer optimization ourself now size is reduced
from 32byte to 16 byte.

Change-Id: Icf7d43fb7f93d3dd9ee568130be7bf250809c98c

4 years agorlottie: change the name() api signature to return const char*
sub.mohanty@samsung.com [Sat, 3 Aug 2019 06:34:46 +0000 (15:34 +0900)]
rlottie: change the name() api signature to return const char*

this patch is a preparation for the optimization patch which
will manage the memory for name string itself instead of using std::string.

4 years agolottie/model: make LOTData class member data private and provide acessor function
sub.mohanty@samsung.com [Sat, 3 Aug 2019 06:25:06 +0000 (15:25 +0900)]
lottie/model: make LOTData class member data private and provide acessor function

4 years agoFix crash on invalid data.
John Preston [Mon, 5 Aug 2019 16:42:44 +0000 (17:42 +0100)]
Fix crash on invalid data.

4 years agorlottie: Fix typo
JunsuChoi [Tue, 6 Aug 2019 01:26:43 +0000 (10:26 +0900)]
rlottie: Fix typo

meter -> miter

4 years agoexample: remove a not permitted resource.
Hermet Park [Tue, 6 Aug 2019 05:31:45 +0000 (14:31 +0900)]
example: remove a not permitted resource.

4 years agocapi: rename the member name.
Hermet Park [Mon, 5 Aug 2019 11:35:30 +0000 (20:35 +0900)]
capi: rename the member name.

there is a conflict naming between name and keypath,
we should keep them same in one name.

4 years agocapi: keep code consistency.
Hermet Park [Mon, 5 Aug 2019 11:33:21 +0000 (20:33 +0900)]
capi: keep code consistency.

4 years agocapi: remove unused declaration.
Hermet Park [Mon, 5 Aug 2019 11:26:51 +0000 (20:26 +0900)]
capi: remove unused declaration.

Add it when it's really necessary.

4 years agoFix possible SW_FT_Outline points overflow.
John Preston [Tue, 30 Jul 2019 10:27:44 +0000 (12:27 +0200)]
Fix possible SW_FT_Outline points overflow.

4 years agoCAPI: Add capi to support the dynamic properties
JunsuChoi [Tue, 30 Jul 2019 11:03:00 +0000 (20:03 +0900)]
CAPI: Add capi to support the dynamic properties

 This function needs keypath and type of string type.
 And needs values as variable arguments.
 The usage of this function is written in docs.

4 years agooptimization: read content of the file directly to std::string to avoid creating...
subhransu mohanty [Thu, 1 Aug 2019 05:55:09 +0000 (14:55 +0900)]
optimization: read content of the file directly to std::string to avoid creating temporary memory.

As json format is one big string we can directly read the content of file with one call to getline()
without going through generic interface to first read into  stringstream and then create again a temorary
string from the stringstream buffer.

4 years agooptimization: move rare propery field to extra structure to minimize memory footprint...
subhransu mohanty [Thu, 1 Aug 2019 01:52:12 +0000 (10:52 +0900)]
optimization: move rare propery field to extra structure to minimize memory footprint of LOTTransformData.

- only layer transform object can have position property as separate X and Y
  by keeping them in the main structure incurs an overhead of 32 bytes to the user of the structure.
  as well as 8 byte on the book keeping (mSeparate) by moving those rarely used field along with 3D
  data to ExtraData we could trim the object size by 40bytes.

- with this patch now the object size is reduced from 128 bytes to 88bytes.

4 years agovdasher: refactor dash property parsing and handling.
subhransu mohanty [Wed, 31 Jul 2019 08:06:17 +0000 (17:06 +0900)]
vdasher: refactor dash property parsing and handling.

- reduce Stroke and GStroke model object size by keeping a vector instead of fixed array property.
- keep a vector instead of fixed size array in model.
- keep a vector instead of fix size array in shadow tree.
- refactor getDashInfo() to DashProperty class and reuse by both Stroke and GradientStroke model object.
- enable move constructor in LOTAnimatable class to support creation vector of objects.

4 years agovdasher: fixed regression from last commit
subhransu mohanty [Thu, 1 Aug 2019 00:16:34 +0000 (09:16 +0900)]
vdasher: fixed regression from last commit

this was only comparing the 1st dashinfo because of missing array subscript operator.

Change-Id: I938b971bb1eba7fc3ca41b0d95ea9b88c1ab97b4

4 years agoFix crash in a bad file reading.
John Preston [Mon, 29 Jul 2019 12:36:02 +0000 (14:36 +0200)]
Fix crash in a bad file reading.

4 years agoFix linking with static Qt.
John Preston [Tue, 30 Jul 2019 10:35:11 +0000 (12:35 +0200)]
Fix linking with static Qt.

4 years agolottieparser: Stop parsing if the media type is unlikely to lottie.
Hermet Park [Tue, 30 Jul 2019 08:24:34 +0000 (17:24 +0900)]
lottieparser: Stop parsing if the media type is unlikely to lottie.

Users may need to try a load data in a brutal-force way,
if they have no idea of input source.

This case, they have no choices but try using all methods to find out
which loader successfully loaded among various media loaders.

This is a common scenario for compatible media support.

4 years agoDasher: Fixed crash when dash array contains ZERO length segments or ZERO gap segments
subhransu mohanty [Tue, 30 Jul 2019 00:44:35 +0000 (09:44 +0900)]
Dasher: Fixed crash when dash array contains ZERO length segments or ZERO gap segments

4 years agoConfigure CMake to allow build static rlottie lib
Nicholas Guriev [Sun, 21 Jul 2019 09:15:55 +0000 (12:15 +0300)]
Configure CMake to allow build static rlottie lib

4 years agoDo not override optimization level
Nicholas Guriev [Thu, 25 Jul 2019 05:58:48 +0000 (08:58 +0300)]
Do not override optimization level

4 years agoupdated AUTHORS
Hermet Park [Wed, 24 Jul 2019 07:05:39 +0000 (16:05 +0900)]
updated AUTHORS

4 years agorlottie/cache: Added cache configuration support for indivisual resource.
subhransu mohanty [Tue, 23 Jul 2019 03:06:56 +0000 (12:06 +0900)]
rlottie/cache: Added cache configuration support for indivisual resource.

For configuring Model Cache at runtime used configureModelCacheSize().
For configuring Model Cache at build time use cache flag to enable or disable.

4 years agorlottie/cache: Added a free function configureModelCacheSize() for runtime configurat...
subhransu mohanty [Tue, 23 Jul 2019 02:34:41 +0000 (11:34 +0900)]
rlottie/cache: Added a free function configureModelCacheSize() for runtime configuration of Model Cache Policy

4 years agolottie/cache: make lottie model cache thread safe
subhransu mohanty [Tue, 23 Jul 2019 01:46:57 +0000 (10:46 +0900)]
lottie/cache: make lottie model cache thread safe

4 years agodisable example build. 17/211217/1 accepted/tizen/unified/20190808.223046 submit/tizen/20190805.083058 submit/tizen/20190806.020207 submit/tizen/20190808.015309
Hermet Park [Wed, 31 Jul 2019 07:25:31 +0000 (16:25 +0900)]
disable example build.

We don't use examples in Tizen.

Change-Id: I419382c40350c17b05289a94a0bcbe9873146116

4 years agoRun tests with CMake on travis accepted/tizen/unified/20190724.063805 submit/tizen/20190723.044916
Nicholas Guriev [Sun, 21 Jul 2019 10:49:40 +0000 (13:49 +0300)]
Run tests with CMake on travis

 * Increase minimal Cmake version to bypass a crash in GoogleTest module.

Change-Id: Ic898190a00101553db10b48c1620a5205a2f7158

4 years agoAdd tests with CMake
Nicholas Guriev [Sun, 21 Jul 2019 09:35:36 +0000 (12:35 +0300)]
Add tests with CMake

4 years agotest: Added rect test case to vector test suite
sub.mohanty@samsung.com [Sun, 21 Jul 2019 06:34:57 +0000 (15:34 +0900)]
test: Added rect test case to vector test suite

4 years agovector: changed conversion constructor to conversion operator
sub.mohanty@samsung.com [Sun, 21 Jul 2019 06:24:28 +0000 (15:24 +0900)]
vector: changed conversion constructor to conversion operator

4 years agoCI: update travis CI to use docker image and enable running test suits.
sub.mohanty@samsung.com [Sun, 21 Jul 2019 04:32:49 +0000 (13:32 +0900)]
CI: update travis CI to use docker image and enable running test suits.

4 years agovector: Fix regression in VRecF for uniform initialization constructor
sub.mohanty@samsung.com [Sun, 21 Jul 2019 02:31:03 +0000 (11:31 +0900)]
vector: Fix regression in VRecF for uniform initialization constructor
Fixes vector test suite.