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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
sub.mohanty@samsung.com [Sun, 25 Aug 2019 03:32:25 +0000 (12:32 +0900)]
lottie:move renderTree() implementation to its own file
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
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
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
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
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
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.
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
John Preston [Mon, 5 Aug 2019 16:42:44 +0000 (17:42 +0100)]
Fix crash on invalid data.
JunsuChoi [Tue, 6 Aug 2019 01:26:43 +0000 (10:26 +0900)]
rlottie: Fix typo
meter -> miter
Hermet Park [Tue, 6 Aug 2019 05:31:45 +0000 (14:31 +0900)]
example: remove a not permitted resource.
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.
Hermet Park [Mon, 5 Aug 2019 11:33:21 +0000 (20:33 +0900)]
capi: keep code consistency.
Hermet Park [Mon, 5 Aug 2019 11:26:51 +0000 (20:26 +0900)]
capi: remove unused declaration.
Add it when it's really necessary.
John Preston [Tue, 30 Jul 2019 10:27:44 +0000 (12:27 +0200)]
Fix possible SW_FT_Outline points overflow.
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.
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.
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.
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.
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
John Preston [Mon, 29 Jul 2019 12:36:02 +0000 (14:36 +0200)]
Fix crash in a bad file reading.
John Preston [Tue, 30 Jul 2019 10:35:11 +0000 (12:35 +0200)]
Fix linking with static Qt.
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.
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
Nicholas Guriev [Sun, 21 Jul 2019 09:15:55 +0000 (12:15 +0300)]
Configure CMake to allow build static rlottie lib
Nicholas Guriev [Thu, 25 Jul 2019 05:58:48 +0000 (08:58 +0300)]
Do not override optimization level
Hermet Park [Wed, 24 Jul 2019 07:05:39 +0000 (16:05 +0900)]
updated AUTHORS
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.
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
subhransu mohanty [Tue, 23 Jul 2019 01:46:57 +0000 (10:46 +0900)]
lottie/cache: make lottie model cache thread safe
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
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
Nicholas Guriev [Sun, 21 Jul 2019 09:35:36 +0000 (12:35 +0300)]
Add tests with CMake
sub.mohanty@samsung.com [Sun, 21 Jul 2019 06:34:57 +0000 (15:34 +0900)]
test: Added rect test case to vector test suite
sub.mohanty@samsung.com [Sun, 21 Jul 2019 06:24:28 +0000 (15:24 +0900)]
vector: changed conversion constructor to conversion operator
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.
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.
subhransu mohanty [Fri, 19 Jul 2019 06:24:06 +0000 (15:24 +0900)]
meson: move generation of cmake config file to cmake option flag
Change-Id: I3217fbec58d46dfdb20fa78d16ce5003776f8cb6
JunsuChoi [Fri, 19 Jul 2019 01:46:20 +0000 (10:46 +0900)]
meson: Temporarily comment out the cmake code.
this code needed cmake version check
Change-Id: I9921731411aaa4a52efa386a894efa2c378f8323
Shinwoo Kim [Fri, 19 Jul 2019 01:02:32 +0000 (10:02 +0900)]
build pixman arm neon only for arm cpu family(not for aarch64)
Change-Id: I1ba42956784967173da17f9107ec4691bff65173
subhransu mohanty [Thu, 18 Jul 2019 07:55:23 +0000 (16:55 +0900)]
meson: Add support for building rlottie as a static library
Change-Id: Iabe1611e27d864a9c7aef2681445e6c68ccb941e
subhransu mohanty [Thu, 18 Jul 2019 07:27:54 +0000 (16:27 +0900)]
rlottie: Add missing parameter for non thread render scheduler
subhransu mohanty [Thu, 18 Jul 2019 01:02:21 +0000 (10:02 +0900)]
meson: Fix regression in library size
As all the meson variables are in global scope the compiler_flags
in stb module reseted all the optimization flag set in the src directory
which increased the library size by 100KB.
subhransu mohanty [Thu, 18 Jul 2019 00:18:51 +0000 (09:18 +0900)]
rlottie: Fix warning on clnag-8
subhransu mohanty [Wed, 17 Jul 2019 01:36:31 +0000 (10:36 +0900)]
meson: Add a summary at the end of configuration
subhransu mohanty [Mon, 15 Jul 2019 08:03:07 +0000 (17:03 +0900)]
rlottie/api: Added support for rendering without keeping aspect ratio
subhransu mohanty [Fri, 12 Jul 2019 06:37:04 +0000 (15:37 +0900)]
vector: refactor bitmap class
subhransu mohanty [Fri, 12 Jul 2019 06:51:58 +0000 (15:51 +0900)]
build fix
Vincent Torri [Fri, 12 Jul 2019 05:08:13 +0000 (07:08 +0200)]
define LOT_BUILD only for DLL
subhransu mohanty [Fri, 12 Jul 2019 06:09:53 +0000 (15:09 +0900)]
meson: Don't generate cmake config files on for windows platform
subhransu mohanty [Fri, 12 Jul 2019 01:20:44 +0000 (10:20 +0900)]
lottie: Refcator internal api and remove warnings.
Hermet Park [Fri, 12 Jul 2019 04:59:01 +0000 (13:59 +0900)]
--compile warning
more get rid of data type converting warnings on windows.
subhransu mohanty [Thu, 11 Jul 2019 04:46:44 +0000 (13:46 +0900)]
fix clang code model warning.
Hermet Park [Thu, 11 Jul 2019 08:48:35 +0000 (17:48 +0900)]
update ignore files.
Hermet Park [Thu, 11 Jul 2019 08:47:47 +0000 (17:47 +0900)]
vs2019: disable more build warnings.
Hermet Park [Thu, 11 Jul 2019 08:34:14 +0000 (17:34 +0900)]
keep consistency of size_t usage.
Hermet Park [Thu, 11 Jul 2019 08:12:23 +0000 (17:12 +0900)]
replace integers to size_t data type.
these data source are size_t,
keep the consistency to avoid type converting.
subhransu mohanty [Thu, 11 Jul 2019 03:24:00 +0000 (12:24 +0900)]
meson: fix issue when cmake is not installed
subhransu mohanty [Thu, 11 Jul 2019 02:58:53 +0000 (11:58 +0900)]
meson: generate cmake config files
cmake config files needed by cmake's find_package to able to find rlottie.
Hermet Park [Thu, 11 Jul 2019 02:35:11 +0000 (11:35 +0900)]
use proper type of round() function.
Hermet Park [Thu, 11 Jul 2019 02:23:23 +0000 (11:23 +0900)]
code refactorig.
To avoid implicit double type data,
Tell compiler to treat numbers as float explicitly.
Hermet Park [Thu, 11 Jul 2019 02:12:30 +0000 (11:12 +0900)]
vs2019: move disable warning into solution configuration.
subhransu mohanty [Thu, 11 Jul 2019 00:51:23 +0000 (09:51 +0900)]
Fixed warnings
Hermet Park [Wed, 10 Jul 2019 12:22:21 +0000 (21:22 +0900)]
example: remove unused compile warnings in efl_animview.
subhransu mohanty [Wed, 10 Jul 2019 10:31:14 +0000 (19:31 +0900)]
move vectorTest to test from example
Hermet Park [Wed, 10 Jul 2019 09:14:52 +0000 (18:14 +0900)]
windows: disable a warning that class 'type' needs to have dll-interface to be used by clients of class 'type2'
Subhransu [Wed, 10 Jul 2019 09:04:15 +0000 (18:04 +0900)]
update with windows build badge
subhransu mohanty [Wed, 10 Jul 2019 08:15:35 +0000 (17:15 +0900)]
code cleanup
subhransu mohanty [Wed, 10 Jul 2019 08:10:05 +0000 (17:10 +0900)]
CI: Added support for windows build using appveyor
subhransu mohanty [Wed, 10 Jul 2019 04:22:25 +0000 (13:22 +0900)]
meson: better handling of dependency using disabler
subhransu mohanty [Wed, 10 Jul 2019 01:40:56 +0000 (10:40 +0900)]
fix missing header in windows
Change-Id: I6e743b16d89ee772541f4e4f430c7e3fc114813d
subhransu mohanty [Wed, 10 Jul 2019 00:22:36 +0000 (09:22 +0900)]
fix coreguideline warning from clang
Hermet Park [Tue, 9 Jul 2019 12:37:59 +0000 (21:37 +0900)]
stb: ++safety.
make it safe not to leave potential dangling pointers.
Hermet Park [Tue, 9 Jul 2019 12:36:39 +0000 (21:36 +0900)]
pixman: ++safety
make it safe not to leave potential dangling pointers.
Hermet Park [Tue, 9 Jul 2019 12:35:49 +0000 (21:35 +0900)]
Revert "stb: ++safety."
unintended code. revert it.
This reverts commit
cca357019d7822b2c21eb1a910f08cdff60645a1.
Hermet Park [Tue, 9 Jul 2019 12:29:08 +0000 (21:29 +0900)]
stb: ++safety.
make it safe not to leave potential dangling pointers.
subhransu mohanty [Tue, 9 Jul 2019 07:06:12 +0000 (16:06 +0900)]
Fix clang code model warning
subhransu mohanty [Tue, 9 Jul 2019 05:06:15 +0000 (14:06 +0900)]
lottie/optimize: Reduce LOTLayerData size
- better packing
- move seldom use data to extra storage
- reuse layerSize for layer as well as solidlayer size.
Now Size(LOTLayerData) reduced from 262 to 128 byte.
sub.mohanty@samsung.com [Sun, 7 Jul 2019 06:27:52 +0000 (15:27 +0900)]
example: use std::string api
sub.mohanty@samsung.com [Sun, 7 Jul 2019 04:36:59 +0000 (13:36 +0900)]
rlottie: Fix Crash when the resource is not a valid lottie resource
- when resource dosen't have valid header
- layer dosen't have a transform object
Hermet Park [Fri, 5 Jul 2019 09:05:43 +0000 (18:05 +0900)]
vs2019: added the preset visual studio project.
This is a compilable vs project to generate library
for the fan of visual studio.
Still, there are a lot of compile warnings,
it works to generate working dll and lib.
sub.mohanty@samsung.com [Thu, 4 Jul 2019 12:49:58 +0000 (21:49 +0900)]
fix warning regarding nested anonymus union