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
subhransu mohanty [Thu, 4 Jul 2019 10:47:51 +0000 (19:47 +0900)]
rlottie/meson: make rlottie buildable as a subproject
subhransu mohanty [Thu, 4 Jul 2019 00:20:31 +0000 (09:20 +0900)]
fix msvc build
subhransu mohanty [Wed, 3 Jul 2019 06:57:47 +0000 (15:57 +0900)]
rlottie/gbs: move gbs build from cmake to meson
subhransu mohanty [Wed, 3 Jul 2019 05:28:06 +0000 (14:28 +0900)]
rlottie/meson: refactor meson buildsystem
Change-Id: I0627e3d51cc55f5b177351b67fa4f30e5e235e98
sub.mohanty@samsung.com [Tue, 2 Jul 2019 13:09:50 +0000 (22:09 +0900)]
rlottie/exampe: add correct implementation of basename()
subhransu mohanty [Mon, 1 Jul 2019 10:37:03 +0000 (19:37 +0900)]
rlottie/example: fix typo
Vincent Torri [Mon, 1 Jul 2019 09:23:26 +0000 (11:23 +0200)]
fix dirname() implementation of Windows in lottieloader.cpp, and fix basename() implementation by using strrchr() and not strchr()
subhransu mohanty [Mon, 1 Jul 2019 09:37:09 +0000 (18:37 +0900)]
rlottie: refactor VGradient to remove unnecessary inheritance
subhransu mohanty [Mon, 1 Jul 2019 09:19:43 +0000 (18:19 +0900)]
rlottie: fix warning regarding no return value
subhransu mohanty [Mon, 1 Jul 2019 08:19:07 +0000 (17:19 +0900)]
rlottie/meson: Move comipler options to default_options for customizable build
subhransu mohanty [Mon, 1 Jul 2019 07:34:29 +0000 (16:34 +0900)]
rlottie: Fix issue with LOT_EXPORT for windows
Vincent Torri [Mon, 1 Jul 2019 06:58:30 +0000 (08:58 +0200)]
lottie2gif.cpp: use _fullpath() instead of realpath() and mimic basename() 2 strchr()
Notes:
1) arguments of realpath() and _fullpath() are in reverse order
2) 2 calls of strchr() are needed because / and \ are valid path separators on Windows