platform/core/uifw/lottie-player.git
3 years agoexample: Fix memory leak accepted/tizen/unified/20200615.135405 submit/tizen/20200611.221942 submit/tizen/20200614.220219
Subhransu Mohanty [Mon, 8 Jun 2020 02:07:59 +0000 (11:07 +0900)]
example: Fix memory leak

4 years agouse c++ standard type integer. accepted/tizen/unified/20200421.150359 submit/tizen/20200414.010532 submit/tizen/20200414.064511 submit/tizen/20200414.100322 submit/tizen/20200416.001154 submit/tizen/20200416.215157 submit/tizen/20200417.234115 submit/tizen/20200419.220844 submit/tizen/20200420.213352
Hermet Park [Wed, 8 Apr 2020 06:56:56 +0000 (15:56 +0900)]
use c++ standard type integer.

vc++ doesn't recognize uint type?

4 years agoexample: return the value properly. accepted/tizen/unified/20200409.083726 submit/tizen/20200406.235844 submit/tizen/20200407.212858 submit/tizen/20200408.212617
Hermet Park [Mon, 6 Apr 2020 07:46:44 +0000 (16:46 +0900)]
example: return the value properly.

this fixes a compile warning:

Change-Id: I40979b54309f62c25a6a9a65400f743c74135288
warning: no return statement in function returning non-void [-Wreturn-type]

4 years agoupdated license in the spec. 66/228266/1 accepted/tizen/unified/20200324.101721 submit/tizen/20200322.220136 submit/tizen/20200323.121436
Hermet Park [Fri, 20 Mar 2020 04:36:42 +0000 (13:36 +0900)]
updated license in the spec.

Changed this by protex guidance.

Change-Id: Ica8974af5d06ee5ea9e6e7f06f0d82c551599915

4 years agoSpec: Update license 57/228257/1
JunsuChoi [Fri, 20 Mar 2020 04:10:28 +0000 (13:10 +0900)]
Spec: Update license

Change-Id: I8d4a8ddfa38707dc15df25e4fbe49792aae80ed9

4 years agovdrawable: Don't strdup for name data 87/227887/1
JunsuChoi [Wed, 11 Mar 2020 12:42:55 +0000 (21:42 +0900)]
vdrawable: Don't strdup for name data

The name information passed in is allocated and managed by the parser.
There is no need to duplicate the same data.

Change-Id: I9c488e654c01bdfe7c48388c29fad350cd261deb

4 years agocorrect rlottie license. 81/227881/1
Hermet Park [Tue, 17 Mar 2020 04:58:03 +0000 (13:58 +0900)]
correct rlottie license.

Change-Id: I947ab1db61d542d5d2e8adf729f35ecd83562ab7

4 years agorlottie/capi: expose name info of node object accepted/tizen/unified/20200316.220934 submit/tizen/20200313.022654 submit/tizen/20200315.214142
JunsuChoi [Tue, 10 Mar 2020 10:40:42 +0000 (19:40 +0900)]
rlottie/capi: expose name info of node object

expose the keypath data of nodes such as fill and stroke.

Change-Id: I6d5f45a6cf1694f50b56f719d2d38a330812c575

4 years agobuild: disable thread_local if the thread is not supported.
Hermet Park [Tue, 10 Mar 2020 14:20:33 +0000 (23:20 +0900)]
build: disable thread_local if the thread is not supported.

Some version of ios/i386 compiler doesn support this thread_local feature.

Actually, thread_local doesn't necessary if the thread doesn't supported.

Change-Id: Ifcebef55f0809603695ce83cf4b35edab2e87188

4 years agovector: Add name member in VDrawable
JunsuChoi [Tue, 10 Mar 2020 09:31:55 +0000 (18:31 +0900)]
vector: Add name member in VDrawable

for expose of keypath.

Change-Id: I907fcdcc76b0f66e294e4df5073de39bb8bba549

4 years agoadd Skia opensource license. 87/226687/1 accepted/tizen/unified/20200315.214751 submit/tizen/20200305.112415 submit/tizen/20200306.082439 submit/tizen/20200311.004657 submit/tizen/20200312.001621
Hermet Park [Thu, 5 Mar 2020 02:59:55 +0000 (11:59 +0900)]
add Skia opensource license.

Change-Id: I656e65534af9f0504536d0676a41d7adc7f37c6b

4 years agorlottie: Refactor transformation matrix of proxymodel submit/tizen/20200303.214157
JunsuChoi [Fri, 14 Feb 2020 06:42:06 +0000 (15:42 +0900)]
rlottie: Refactor transformation matrix of proxymodel

Move value calculation given by property to proxy model
And add more sample to the demo.

4 years agorlottie: Supports the Transform Rotation property. accepted/tizen/unified/20200129.022646 submit/tizen/20200122.213749 submit/tizen/20200127.213359
JunsuChoi [Mon, 20 Jan 2020 01:22:40 +0000 (10:22 +0900)]
rlottie: Supports the Transform Rotation property.

Use setValue<rlottie::Property::TrRotation> return float type.
The value is degree. [0 ~ 360]

Example) example/demo

4 years agorlottie: Supports the Transform Scale property.
JunsuChoi [Thu, 16 Jan 2020 12:07:22 +0000 (21:07 +0900)]
rlottie: Supports the Transform Scale property.

Use setValue<rlottie::Property::TrScale> and return rlottie::Size type.

The default value of Size is 100. If it goes to zero it won't be visible.
If it is negative it will be flipped. If it is greater than 100, it will be enlarged.

Example) example/demo

4 years agolottie: Remove duplicate model data. accepted/tizen/unified/20200120.133111 submit/tizen/20200114.214303 submit/tizen/20200115.213910 submit/tizen/20200116.005149 submit/tizen/20200116.043425 submit/tizen/20200116.051036 submit/tizen/20200119.232254
JunsuChoi [Fri, 10 Jan 2020 08:40:32 +0000 (17:40 +0900)]
lottie: Remove duplicate model data.

mData is same as mModel in LOTContentGroupItem. So remove mData member.

4 years agoUpdated showcase images. submit/tizen/20200107.215153 submit/tizen/20200108.220247 submit/tizen/20200109.005838 submit/tizen/20200109.212837 submit/tizen/20200110.001918 submit/tizen/20200111.060210 submit/tizen/20200111.071320 submit/tizen/20200112.211134
Hermet Park [Tue, 7 Jan 2020 07:13:38 +0000 (16:13 +0900)]
Updated showcase images.

4 years agorlottie: Supports the Transform Position property.
JunsuChoi [Tue, 31 Dec 2019 07:37:31 +0000 (16:37 +0900)]
rlottie: Supports the Transform Position property.

Use setValue<rlottie::Property::TrPosition> and return rlottie::Point type.
Example) example/demo

4 years agoexample : Add reference header file for updated class name accepted/tizen/unified/20191226.123013 submit/tizen/20191225.212040
JunsuChoi [Tue, 24 Dec 2019 06:22:03 +0000 (15:22 +0900)]
example : Add reference header file for updated class name

The class name will be updated.
efl_ui_animation_view -> efl_ui_vg_animation
So add referenced file path.

4 years agorlottie: reenabled optimization when paint item has no content accepted/tizen/unified/20191206.121256 submit/tizen/20191201.211113 submit/tizen/20191202.210542 submit/tizen/20191203.210336 submit/tizen/20191204.213652 submit/tizen/20191205.205324
subhransu mohanty [Fri, 29 Nov 2019 08:10:19 +0000 (17:10 +0900)]
rlottie: reenabled optimization when paint item has no content

4 years agorlottie: update the drawable before returning the result.
subhransu mohanty [Fri, 29 Nov 2019 06:34:22 +0000 (15:34 +0900)]
rlottie: update the drawable before returning the result.

If the drawable is not updated in case of ZERO opacity it will keep the old value and
will render the old content.

4 years agorlottie: Disable optimization to fix regression
subhransu mohanty [Fri, 29 Nov 2019 05:13:43 +0000 (14:13 +0900)]
rlottie: Disable optimization to fix regression

4 years agorlottie: Fix build break for debug build. accepted/tizen/unified/20191115.084005 accepted/tizen/unified/20191120.034545 submit/tizen/20191114.210213 submit/tizen/20191117.211230 submit/tizen/20191118.220200 submit/tizen/20191119.214155
subhransu mohanty [Thu, 14 Nov 2019 06:54:49 +0000 (15:54 +0900)]
rlottie: Fix build break for debug build.

Caused by recent refactoring of the model objects.

4 years agorlottie: Add initialization of pointer members that were not
JunsuChoi [Thu, 14 Nov 2019 00:56:15 +0000 (09:56 +0900)]
rlottie: Add initialization of pointer members that were not

Change-Id: Ice67910804be88496aad47d32cca430d9865de40

4 years agorlottie: Add initialization of pointer members that were not 33/217733/1
JunsuChoi [Thu, 14 Nov 2019 00:56:15 +0000 (09:56 +0900)]
rlottie: Add initialization of pointer members that were not

Change-Id: Ia1cf809c684241fcebef618c97f38d52081611a0

4 years agoExample : Update Strategy::eflVg in lottieview accepted/tizen/unified/20191114.123438 submit/tizen/20191111.211104 submit/tizen/20191113.212006 submit/tizen/20191113.212830
JunsuChoi [Thu, 7 Nov 2019 06:38:02 +0000 (15:38 +0900)]
Example : Update Strategy::eflVg in lottieview

The existing Strategy::eflVg make a vector object treeusing a node tree
from C++ rlottie API. But it didn't work well.
Loading a vector file into evas_object_vg works the same as internally.

[Test]
Prepare for latest EFL
rlottie build
./build/example/lottieviewTest 4

4 years agofixed memory leak in demo application
subhransu mohanty [Mon, 4 Nov 2019 07:41:28 +0000 (16:41 +0900)]
fixed memory leak in demo application

4 years agorlottie/model: lazy generation of layerlist
subhransu mohanty [Mon, 4 Nov 2019 06:53:22 +0000 (15:53 +0900)]
rlottie/model: lazy generation of layerlist

4 years agorlottie/parser: refactor to use local arena allocator for model tree creation.
subhransu mohanty [Mon, 4 Nov 2019 03:52:44 +0000 (12:52 +0900)]
rlottie/parser: refactor to use local arena allocator for model tree creation.

4 years agorlottie: refactor to use a local arena allocator for shadow tree creation
subhransu mohanty [Mon, 4 Nov 2019 01:11:23 +0000 (10:11 +0900)]
rlottie: refactor to use a local arena allocator for shadow tree creation

This usecase is best suitable for local arena allocator as we have a fixed number
of objects to create and they all gets deleted at once. so by keeping a allocator
in the composition and use it to create all the objects using it will basically
flattened the memory layout of the shadow tree as all the memory comes from the one
memory allocator pool.
This improves the bencmark performance by 5%.

4 years agorlottie/vector: Added a local arena allocator to vector
subhransu mohanty [Mon, 4 Nov 2019 01:07:53 +0000 (10:07 +0900)]
rlottie/vector: Added a local arena allocator to vector

This allocator is takes from skia's local arena allocator.

4 years agorlottie: refactor Pathitem Object to keep 2 path objects instead of 3.
subhransu mohanty [Tue, 22 Oct 2019 04:12:01 +0000 (13:12 +0900)]
rlottie: refactor Pathitem Object to keep 2 path objects instead of 3.

4 years agorlottie/vector: refactor to make VPainter as POD object
subhransu mohanty [Fri, 1 Nov 2019 04:46:52 +0000 (13:46 +0900)]
rlottie/vector: refactor to make VPainter as POD object

4 years agorlottie: remove unused data member
subhransu mohanty [Fri, 1 Nov 2019 01:12:22 +0000 (10:12 +0900)]
rlottie: remove unused data member

4 years agorlottie: remove unused classes in rlottie to reduce library size
subhransu mohanty [Thu, 31 Oct 2019 02:33:00 +0000 (11:33 +0900)]
rlottie: remove unused classes in rlottie to reduce library size

4 years agoVDrawable: Fix initial value of an enum
JunsuChoi [Wed, 30 Oct 2019 11:23:32 +0000 (20:23 +0900)]
VDrawable: Fix initial value of an enum

4 years agorlottie: reduce polling count for task scheduler to 2.
subhransu mohanty [Wed, 30 Oct 2019 09:47:00 +0000 (18:47 +0900)]
rlottie: reduce polling count for task scheduler to 2.

when the queue is empty the thread tries to steal from other queue
and it was doing it 32 times .. changed it to 2 as it was spinning for
long time before going to  sleep. As we always give the tasks in batches
we can reduce the spin time.

4 years agolottie/opt: refactor drawable class to optimize object size
subhransu mohanty [Wed, 30 Oct 2019 09:18:10 +0000 (18:18 +0900)]
lottie/opt: refactor drawable class to optimize object size

4 years agorlottie/opt: refactor renderList() api to return a Span to optimize the LayerObject...
subhransu mohanty [Wed, 30 Oct 2019 00:19:36 +0000 (09:19 +0900)]
rlottie/opt: refactor renderList() api to return a Span to optimize the LayerObject size"

previously renderList() was returning a vector by keeping a vector object which was adding to
the overal size of the layer objects. by changing to a simple span object now only shpelayer has to keep
the vector and rest of the layer object types don't have to.

4 years agorlottie: added a dedicated pass to preprocess the render nodes
subhransu mohanty [Mon, 28 Oct 2019 10:47:07 +0000 (19:47 +0900)]
rlottie: added a dedicated pass to preprocess the render nodes

4 years agovector/rasterizer: safe rletask reset.
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: Id242d9c9d11c691c084a5463b11b544352c0020c

4 years agoExample: Change findFrameAtMarker return type.
JunsuChoi [Fri, 18 Oct 2019 02:39:43 +0000 (11:39 +0900)]
Example: Change findFrameAtMarker return type.

4 years agoCAPI: Support Marker feature for CAPI.
JunsuChoi [Fri, 18 Oct 2019 02:27:32 +0000 (11:27 +0900)]
CAPI: Support Marker feature for CAPI.

Add lottie_animation_get_markerlist() api
User can use this api and get information about each marker.

4 years agoexample: updated step size of slider in lottieviewer example
subhransu mohanty [Fri, 18 Oct 2019 01:38:52 +0000 (10:38 +0900)]
example: updated step size of slider in lottieviewer example

4 years agoExample: Implements marker demo
JunsuChoi [Thu, 17 Oct 2019 10:45:44 +0000 (19:45 +0900)]
Example: Implements marker demo

If there are markers in the lottie animation, user can set the play interval using the markerlist.
This demo is for play with markers.

meson build
ninja -C build install
./build/example/demo_marker

4 years agoRelocatable module of image loader
Nicholas Guriev [Wed, 16 Oct 2019 18:16:12 +0000 (21:16 +0300)]
Relocatable module of image loader

4 years agoStack buffer overflow reproducer. Add option to compile the lib with asan for testing
Anatoly Korniltsev [Wed, 16 Oct 2019 16:04:01 +0000 (19:04 +0300)]
Stack buffer overflow reproducer. Add option to compile the lib with asan for testing

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