Sangjung Woo [Thu, 9 May 2019 01:36:39 +0000 (10:36 +0900)]
[Tizen/API] Update omitted return codes
This patch updates the omitted return codes for Tizen API.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Thu, 9 May 2019 01:22:18 +0000 (10:22 +0900)]
[Tizen/API] fix the typos in header
This patch fixes the minor typos in header file.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Thu, 9 May 2019 02:26:26 +0000 (11:26 +0900)]
[Build/Meson] remove unnecessary flag
Meson v0.50 supports the install arg in configure_file().
If install_dir is set, configured file will be installed.
Also, TEST_TENSORFLOW in rpm spec is unnecessary.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 8 May 2019 11:27:59 +0000 (20:27 +0900)]
[Tizen/API] License Tizen-CAPI as LGPL 2.1
Unify the licences of subpackages.
Fortunately, there are only a few related contributors and
we have re-licensing agreements in CoC as well.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 May 2019 08:11:27 +0000 (17:11 +0900)]
[Tizen/API] Rename tizen-api.h to nnstreamer.h
The file name "tizen-api.h" is ubsurd for Tizen application writers.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 May 2019 06:45:31 +0000 (15:45 +0900)]
[Tizen/API] Module group hierarchy fix
NNStreamer Pipeline is in NNStreamer group.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
jijoong.moon [Wed, 17 Apr 2019 01:38:18 +0000 (10:38 +0900)]
[UNITTEST] Skip the test when there is not tensorflow and lite
We need to skip tests using tensorflow and lite if they are not
installed. So pkg-config is used to identify their installation.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Jaeyun [Wed, 24 Apr 2019 12:51:27 +0000 (21:51 +0900)]
[Build/Plugin] common plugin registration
Move all element registration to common file. (warning about function prototype)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 2 May 2019 11:29:20 +0000 (20:29 +0900)]
[Subplugin] handle error case
update code to handle error case of invalid params.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 30 Apr 2019 08:19:41 +0000 (17:19 +0900)]
[Subplugin] check symlink before getting handle
Add code to check symlink before open file handle.
(fix one of security issues)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 2 May 2019 10:44:07 +0000 (19:44 +0900)]
[Filter] validate sub-plugin data
1. Add code to validate nn-framework data before registration.
2. Code clean to set filter properties.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 30 Apr 2019 10:31:29 +0000 (19:31 +0900)]
[IIO] open file with with glib function
Use glib function to open file (fix one of security issues)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 2 May 2019 06:21:37 +0000 (15:21 +0900)]
[Decoder/Sub-plugins] use glib to load labels
1. use glib function to load and initialize labels (fix one of security issues)
2. fix exception case when total label is larger then ssd model output
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 18 Apr 2019 08:22:38 +0000 (17:22 +0900)]
[Repo] handle empty repo data
If repo has no data or hashtable returns null, this makes exception to set lock or signal.
To prevent this exception, check returned data and handle error case.
Exception case when checking 'gst-inspect-1.0 -a'
tensor-repo made an exception.
TODO: Consider to move repo/reposrc/reposink sources into one directory.
Now tensor-repo is not a common source.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 19 Apr 2019 10:49:13 +0000 (19:49 +0900)]
[Conf/Subplugins] scan subplugins
1. Scan sub-plugins directory and update only so files.
2. Print the list of sub-plugins using gst-inspect in filter/decoder.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 30 Apr 2019 07:31:49 +0000 (16:31 +0900)]
[Filter/TF] use glib to parse and compare string
use glib to compare and parse strings (fix one of security issues)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 26 Apr 2019 05:04:05 +0000 (14:04 +0900)]
[Filter/Api] move NNFW struct
Mode the struct NNFW definition and properties into filter-api header.
Change function name and code clean.
TODO : update decoder struct and api also.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 2 May 2019 06:58:48 +0000 (15:58 +0900)]
[IIO] init local variable
Initialize variable to handle memory blocks (fix coverity issue)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Sangjung Woo [Tue, 30 Apr 2019 07:50:34 +0000 (16:50 +0900)]
[Coverity 1050294, 1050288] Dereference before null check
In order to handle the dereference issue, this patch uses g_strcmp0()
function instead of g_str_equal().
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 30 Apr 2019 06:01:29 +0000 (15:01 +0900)]
[Coverity 1050034] Resource leak
Since gst_object_get_name() returns a copy of the name string and it
should be freed by calling g_free(). This patch adds the omitted
g_free() function to fix the memory leak issue.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 30 Apr 2019 05:45:26 +0000 (14:45 +0900)]
[Coverity 1051566] Resource leak
After calling g_file_get_contents(), 'file_contents' variable is not
freed so memory leak occurs. This patch fixes that bug.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
jijoong.moon [Tue, 30 Apr 2019 05:24:25 +0000 (14:24 +0900)]
[Unittest] Added tensorflow-lite model data
Add tensorflow-lite model data when test unittest is installed.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Mon, 29 Apr 2019 02:14:32 +0000 (11:14 +0900)]
[Unittest] add install gen24bBMP.py
gen24bBMP.py is requried from some of tests
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Jaeyun [Wed, 24 Apr 2019 07:54:26 +0000 (16:54 +0900)]
[Meson] remove unnecessary flag
remove unnecessary flag and clean meson script
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 24 Apr 2019 06:49:26 +0000 (15:49 +0900)]
[Build] fix build warning
update sources to fix warning (missing-prototypes)
TODO : add function prototype to register tensor_* plugins
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 24 Apr 2019 06:33:39 +0000 (15:33 +0900)]
[Common] pad info struct
define common tensor-pad struct used in split/demux
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Wed, 17 Apr 2019 03:13:54 +0000 (12:13 +0900)]
[IIO] Added support for other/tensors
Added support for other/tensors when merging of channels
with corresponding test cases
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
jijoong.moon [Tue, 23 Apr 2019 09:37:31 +0000 (18:37 +0900)]
[SVACE] Fix Issue WGID 414649
Threre is svace issue said:
WID:
66310927 Return value of a function 'gst_buffer_get_meta' is
dereferenced at tensor_reposrc.c:338 without checking, but it is
usually checked for this function (20/21).
Add check if the meta is null and arise the error.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Jaeyun [Fri, 19 Apr 2019 05:32:33 +0000 (14:32 +0900)]
[Build] remove warning
remove build warning (-Wdiscarded-qualifiers)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Tue, 23 Apr 2019 11:14:13 +0000 (20:14 +0900)]
[SVACE/IIO] Bugfix of memory leak for iio svace
MEMORY_LEAK.EX Dynamic memory referenced by raw_data_base was allocated
by calling function g_malloc and lost
Fixed with updated memory free
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
jijoong.moon [Tue, 23 Apr 2019 09:54:01 +0000 (18:54 +0900)]
[SVACE] Fix Issue #414638
There is svace issuse said:
WID:
66310552 Return value of a function 'g_slist_nth' is dereferenced
at tensor_common.c:1096 without checking, but it is usually checked
for this function (195/205).
Add Null check.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Thu, 18 Apr 2019 05:49:47 +0000 (14:49 +0900)]
[UNITTEST] add tensorflow-lite test cases accorting to option
add
. nnstreamer_filter_tensorflow-lite
. nnstreamer_filter_tensorflow
. nnstreamer_decoder_image_labeling
according to enable-tensorflow and enable-tensorflow-lite option.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Jaeyun [Wed, 17 Apr 2019 08:17:38 +0000 (17:17 +0900)]
[Test/Valgrind] timer to push buffer
1. add timer to push test buffers into appsrc.
2. prevent unittest locked when appsrc cannot send eos event.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 22 Apr 2019 07:30:03 +0000 (16:30 +0900)]
[Meson/Test] increase test-timeout
set unittest timeout to 2 minutes for sink and src_iio stream test.
default 30 seconds may make a timeout error when running unittests in local.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 22 Apr 2019 10:09:13 +0000 (19:09 +0900)]
[Orc] remove unnecessary code
We don't need to init orc functions.
It will be called when creating new orc program.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 18 Apr 2019 03:51:34 +0000 (12:51 +0900)]
[Split] code clean
remove warning, change function and val names, and code clean.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 17 Apr 2019 11:46:21 +0000 (20:46 +0900)]
[Split] exception to get property
check null ptr to get the property tensorseg
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 18 Apr 2019 08:31:48 +0000 (17:31 +0900)]
[Test/Repo] remove unnecessary header
1. In testcase of tensor-repo test, it does not need to include repo header.
2. Code clean tensor-repo src/sink
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 18 Apr 2019 11:56:52 +0000 (20:56 +0900)]
[Build] remove warning
update changes to remove warning message
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Thu, 18 Apr 2019 07:31:34 +0000 (16:31 +0900)]
[SVACE] Addressess memory leaks
Resolved memory leaks given by svace for src_iio code as well as tests
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 18 Apr 2019 07:06:12 +0000 (16:06 +0900)]
[Coverity] Resolved negative returns issue
Negative returns: negative value used as argument to a function
expecting a postive value
Resolved with an assert
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 18 Apr 2019 06:41:19 +0000 (15:41 +0900)]
[Coverity] Resolved memory leaks
Resource Leak : Leak of memory or pointers to system resources
Resolved with free data pointers
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 18 Apr 2019 06:30:16 +0000 (15:30 +0900)]
[Coverity] Resolved TOCTOU issuse from coverity
TOCTOU issue : A check occurs on a file's attributes before the file
is used in a priveleged operation, but things may have changed.
Removed file test operation and using stat as a single check operation
as well as file size reading operation.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Sangjung Woo [Wed, 17 Apr 2019 05:22:43 +0000 (14:22 +0900)]
[Tizen/API] Add testcase about src node
In order to increase test coverage, this patch additionally adds some
test cases for src node.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Wed, 17 Apr 2019 02:42:57 +0000 (11:42 +0900)]
[Tizen/API] Update the comment about nns_pipeline_src_puthandle()
This patch updates the header comment of nns_pipeline_src_puthandle()
API. Detailed items are as below.
* Add the omitted return value NNS_ERROR_TRY_AGAIN.
* Set policy as `in` parameter instead of `out` parameter.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Mon, 15 Apr 2019 11:17:03 +0000 (20:17 +0900)]
[Transform/Orc] data ptr in orc function
For add,mul,div op in orc functions, use single array ptr to handle operator.
Orc generated functions have __restrict__ ptr, the pointers overlapping memory regions may cause an error.
To avoid this, pass single array ptr to handle each operator.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Fri, 12 Apr 2019 11:34:40 +0000 (20:34 +0900)]
[IIO] Refactor sampling frequency handling
1. Refactored handling sampling frequency
2. Added more cases for sampling frequency when files dont exist
3. Renamed functions for better understanding
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Sangjung Woo [Mon, 15 Apr 2019 03:55:11 +0000 (12:55 +0900)]
[Tizen/API] Remove dependency 'tensor_typedef.h'
In order to pass the ACR process, 'tensor_typedef.h' in tizen-api.h
should be removed and its related thing also be updated. This patch
handles that issue. Detailed modification are as below.
* Remove dependency for 'nnstreamer/tensor_typedef.h' header
* Add necessary constant and enum variables such as
NNS_TENSOR_RANK_LIMIT and nns_tensors_info.
* Use nns_tensors_info structure instead of GstTensorsInfo
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Parichay Kapoor [Fri, 12 Apr 2019 10:52:08 +0000 (19:52 +0900)]
[IIO] added more documentation
- Updated README.md
- Added section description for the element
V2:
supports -> support
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Fri, 12 Apr 2019 07:06:52 +0000 (16:06 +0900)]
[Build/C-Api] clean build script
remove unnecessary dep declare and fix typo
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Wed, 10 Apr 2019 05:25:33 +0000 (14:25 +0900)]
[IIO] Custom channel index number as input
Added the option for user to specify custom channel number as input
to enable specific channels.
Added test case for custom channel index as well.
V2:
Using hash table for custom channel setting
V3:
Updated property description spec with better format
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Dongju Chae [Thu, 11 Apr 2019 09:32:39 +0000 (18:32 +0900)]
[PythonFilter/Subplugin] Add a subplugin for Python custom filters
It's a nnstreamer subplugin for custom filters written in Python.
It supports both Python 2 and 3.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Parichay Kapoor [Fri, 12 Apr 2019 06:34:38 +0000 (15:34 +0900)]
[CONF] remove unnecessary free
Remove unnecessary free that caused error with valgrind
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 12 Apr 2019 04:37:35 +0000 (13:37 +0900)]
[IIO] Using case insensitive string comparison
Using case insensitive string comparison for property decision
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 12 Apr 2019 02:13:00 +0000 (11:13 +0900)]
[IIO] bugfixes related to errors from yocto run
1. set base src as async, resolves the error of hanging
without setting base_src as async, _start_complete gets called twice
2. initializing log_file to NULL
3. NULL check for variable before using it for remove/rmdir
4. remove _query function, was incomplete, and complete function
was same as parent class function
resolve #1353
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Dongju Chae [Thu, 11 Apr 2019 08:27:58 +0000 (17:27 +0900)]
[PythonFilter/API] Add a python module to provide NNS-related APIs
It's a python module which a user will import in a python script.
Currently, only 'TensorShape' type object is supported.
I am currently considering other useful APIs.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Parichay Kapoor [Tue, 9 Apr 2019 03:31:36 +0000 (12:31 +0900)]
[IIO] Enable/Disable buffer at correct state
Enabling/Disabling buffer when going from PAUSED to PLAYING state.
This might lead to higher latency but provides latest and correct data.
Enabling in READY to PAUSED can lead to accumulation of frames before playing
and result in unreal latency as well as old data.
This commit will also sync gst timing with iio device time.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 9 Apr 2019 02:59:54 +0000 (11:59 +0900)]
[IIO] Added more test cases with corresponding bug fixes
1. Added test cases for
- caps verification
- default restoration
- setting trigger with number
- using generic scan element type
- auto enable channels
2. Corresponding bug fixes
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
MyungJoo Ham [Tue, 9 Apr 2019 08:06:39 +0000 (17:06 +0900)]
[Tizen/API] TestCase add. "src"
Add unit test cases for Tizen/C-API/Main/source
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 9 Apr 2019 08:04:24 +0000 (17:04 +0900)]
[Tizen/API] Fix pipeline-src implementation
- Return TensorsInfo with get-src-handle
- Fix src-inputdata with TensorsInfo caching mechanism
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Thu, 11 Apr 2019 06:10:48 +0000 (15:10 +0900)]
[Build/Android] add common definition
define common features to build nnstreamer library for android
TODO: update mk files in nnstreamer-example later
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Fri, 5 Apr 2019 05:30:10 +0000 (14:30 +0900)]
[IIO] Added more test cases
1. Added test cases when only some of the channels are enabled
2. Bug fix in test case for indexing when filling in data
3. Added test case for using device number and testing name-by-id
V2:
1. Unref the pipeline to invoke finalize()
2. Pipeline variable renamed from src_iio to src_iio_pipeline
V3:
- Integer divide precision updated
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 4 Apr 2019 08:19:00 +0000 (17:19 +0900)]
[IIO] Added data validity testcases
1. Added test case to check data validity for the element for various data bytes sizes
2. Added a property of timeout while reading file in non-blocking mode.
This allows looping while reading the file along with EAGAIN error.
3. Corrected mask generation
4. IIO dev file is replaced with fifo. Using threads to make these fifo as
opening it blocks unless both read and write mode are opened together.
5. Added test case to validate data with and without trigger.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Sangjung Woo [Tue, 9 Apr 2019 04:48:57 +0000 (13:48 +0900)]
[Tizen/API] Update header file to comply with Tizen API rule
In order to comply with the checklist of Tizen API, this patch modifies
a user header file, which is actually included in the code. Detailed
items of modification are as below.
* Add a period "." at the end of @brief.
* Values NNS_ERROR_PIPELINE_FAIL and TIZEN_ERROR_STREAMS_PIPE have
different suffixes.
* No description in enum variables.
* Enum names should end with '_e'.
* Please use @param[in], @param[out] or @param[in,out]
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Mon, 8 Apr 2019 04:56:49 +0000 (13:56 +0900)]
[Filter/TF] refcount of tf-buffer
With mem-optimized flag, always unref tf-buffer after making tensor with passed input data.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 8 Apr 2019 09:45:20 +0000 (18:45 +0900)]
[Demux] fix invalid pad index
1. fix invalid src pad index in tensor-demux
2. add simple testcase for the properties and tensorpick option
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Sangjung Woo [Mon, 8 Apr 2019 04:54:03 +0000 (13:54 +0900)]
[Tizen/API] bugfix when passing a wrong pipeline command
If passing a wrong pipeline command such as non-existent element or
erroneous pipeline, assertion failure occurs in
nns_pipeline_construct(). This is mainly because gst_parse_launch()
could return non-NULL even though the error is set. So this patch checks
both the return value and GError value.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Mon, 8 Apr 2019 04:44:08 +0000 (13:44 +0900)]
[Test:Tizen/API] Add pipeline failure test
This patch newly adds the pipeline failure tests when passing the wrong
pipeline command such as non-existent element or erroneous pipeline.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Parichay Kapoor [Fri, 5 Apr 2019 06:44:00 +0000 (15:44 +0900)]
[Test] checking opencv availability at runtime
Added option to check opencv availability at runtime.
This simplify meson.build in nnstreamer_example.
Also added verification of the model before running the test.
Resolves #1332
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 5 Apr 2019 07:36:48 +0000 (16:36 +0900)]
[IIO] refactor _start()
Refactored _start for code maintainability and understanding.
Resolves #1300
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Fri, 5 Apr 2019 10:25:51 +0000 (19:25 +0900)]
[Test/Coverage] update source path
1. exclude tests directory in test coverage
2. set full path to get coverage report
3. print valid path while processing coverage report
4. remove unnecessary flag and clean meson script
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Geunsik Lim [Tue, 2 Apr 2019 03:48:42 +0000 (12:48 +0900)]
BUILD: Support nodebug option for gbs build
Fixed issue #1314.
This commit is to support optional flag to skip the generation of debug packages
to speed up a build time and to save a storage cost. In case that developers
have to do a debugging the source code with gdb, they may change the value of
the 'skipdebug' from 1 to 0.
**Changes**
V2:
- Added "--define '_skip_debug_rpm 1'"
: https://github.com/nnsuite/TAOS-CI/blob/master/ci/taos/plugins-base/pr-audit-build-tizen.sh#L84
V1:
- Added optional flag to do not generate debug package
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Jaeyun [Tue, 12 Mar 2019 07:58:33 +0000 (16:58 +0900)]
[Converter] add option about supported media type
1. add meson option to disable video support.
tensor-converter will not get the video if video-support disabled.
2. add macros for media format and info to disable audio/video stream.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Thu, 4 Apr 2019 01:33:21 +0000 (10:33 +0900)]
[Coverity 1050275] Unchecked return value
This solves the unchecked return value issue in destory_dev_dir():
Value returned from a library is not checked for error before being used.
remove/rmdir will return with failure if the file/dir does not exist.
added safe_remove/rmdir to delete a file without checking for validity.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Wed, 3 Apr 2019 06:48:47 +0000 (15:48 +0900)]
[Test] fix coverity 1050278, 1035696
check return result of mem map
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 3 Apr 2019 04:45:21 +0000 (13:45 +0900)]
[Test] add testcase for filter-properties
add testcase to get tensor-filter properties
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Tue, 2 Apr 2019 10:11:37 +0000 (19:11 +0900)]
[TEST/Decoder/BoundingBox] Add ssat unit test cases
To increase code coverage of tensor-decoder extensions
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Tue, 2 Apr 2019 09:40:33 +0000 (18:40 +0900)]
[Filter/Test] add failure testcase
add testcases for invalid tensor properties
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 2 Apr 2019 09:39:22 +0000 (18:39 +0900)]
[Filter] remove assertion
remove assertion while loading model info and doing caps negotiation.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Mon, 1 Apr 2019 05:26:23 +0000 (14:26 +0900)]
[IIO] Removing fileno()
Removed usage of fileno to file descriptor to compile without error with C89
as fileno() requires _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
Using open() from fcntl directly instead of fopen() and fileno() combined
Resolves issue #1293
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 3 Apr 2019 03:42:14 +0000 (12:42 +0900)]
[Coverity 1050026,1049988] Branch Past Initialization
This fixes branch past initialization (transfer of control bypasses initialization) at two incidents
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 3 Apr 2019 03:27:21 +0000 (12:27 +0900)]
[Coverity 1049985,1049986] Branch Past Initialization
This fixes branch past initialization (transfer of control bypasses initialization) at two incidents
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
jijoong.moon [Wed, 3 Apr 2019 02:13:27 +0000 (11:13 +0900)]
[Unittest] add install unittest
Add installation of ssat unittest cases according to install-test
option.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
MyungJoo Ham [Tue, 2 Apr 2019 10:06:40 +0000 (19:06 +0900)]
[Common] Add other/tensors parsing rule.
dimensions and types are not deliminated by both '.' and ','.
It is to support GstCap (CapsFilter) with other/tensors string
expressions.
Note that ... ! other/tensors,types=float32,int32 !...
is not supported. We need to use . instead in such cases.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 3 Apr 2019 00:56:23 +0000 (09:56 +0900)]
[Coverity 1049998/1050018] Fix useless keyword
const of const gboolean func() is useless.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Wed, 3 Apr 2019 03:58:48 +0000 (12:58 +0900)]
[Coverity 1050275] Unchecked return value
This fixes the error of unchecked return value upon deletion of directory structure.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
MyungJoo Ham [Wed, 3 Apr 2019 00:48:38 +0000 (09:48 +0900)]
[Coverity 1050274,1050277][SVACE/414964] Array out of bound
This fixes array out of bound access found by the three incidents.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Tue, 2 Apr 2019 04:29:10 +0000 (13:29 +0900)]
[Filter] remove ip mode vmethod
In tensor-filter, ip-mode vmethod is unnecessary.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Thu, 28 Mar 2019 11:36:43 +0000 (20:36 +0900)]
[IIO] restore iio device on _stop()
restore the existing values of scan_channels_en, sampling_frequency,
buffer/length and current trigger (if exist) when stopping the element
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Mon, 1 Apr 2019 04:26:27 +0000 (13:26 +0900)]
[IIO] Restriction on changing element properties
Element should be in state NULL or READY for the property of the device to be changed.
If the state is PAUSED/READY, properties cant be changed as the updated properties cannot
be reflected without the element going back to READY state.
Added freeing of properties before re-setting them.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 28 Mar 2019 04:45:01 +0000 (13:45 +0900)]
[IIO] Support device number, filled _finalize()
1. Support device/trigger number as input, added corresponding test case as well
2. Set proper max limit on buffer capacity and frequency
3. Filled _finalize()
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
jijoong.moon [Mon, 1 Apr 2019 08:07:40 +0000 (17:07 +0900)]
[SVACE/414949] Fix
65505047 Warning
Line 448 of unittest_common.cpp has svace warning:
WID:
65505047 Return value of a function 'fopen64' is dereferenced at
unittest_common.cpp:448 without checking, but it is usually checked
for this function (8/9).
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Parichay Kapoor [Thu, 28 Mar 2019 07:49:40 +0000 (16:49 +0900)]
[IIO] removed blocksize, merging with inner dimension
1. Removed blocksize (merging multiple buffers of data together). Use tensor_aggregator for this functionality
2. Merging of tensors is done with innermost dimension (merging on outermost dimension introduced reduntant dimensions)
3. Bugfix:
- buffer size scaled by buffer_capacity
- data rate_d set to buffer_capacity
4. Moved one-shot mode todo - no support for one-shot mode now
V2:
Added direction for merging the tensor
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
jijoong.moon [Fri, 29 Mar 2019 04:36:15 +0000 (13:36 +0900)]
[TENSORS] No need the tests/nnstreamer_tensors
Test case, nnstreamer_tensors are not needed anymore. It was written
just for the temperal check of possibility of meta in the buffer.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Parichay Kapoor [Wed, 27 Mar 2019 06:35:51 +0000 (15:35 +0900)]
test cases for state change and corresponding bug fixes
1. Created virtual iio device to test against
2. Added test case to test state change from NULL to PLAYING and backwards
3. Bug fixes-
3.1 setting of fixated caps moved to _fixating() from _start()
3.2 channel property list memory issue resolved
3.3 missing sampling frequency file while setting it is now a warning
skip to default frequency if file is not present
3.4 More minor bug fixes
4. IIO base directories moved to header file
These directories are modified to temporary location when testing with simulated device
V2:
- BugFix:
- updated condition check for sampling_frequency
- updated freeing channel list while filtering enabled channels
- declaration following C89
- Moved fixating of caps to _fixate(). This removes unnecessary storage of fixated_caps
and calculating fixated caps in _fixate() makes code more readable
V3:
- replaced stdio.h with glib/gprintf.h
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
jijoong.moon [Wed, 20 Mar 2019 06:58:58 +0000 (15:58 +0900)]
[YOCTO] Modified unittest directory for installation & runn
Because there are test cases incluiding absolute path for library, it
is hard to run unit testcases after installation. In this PR, these
testcases and nnstreamer_example libraries are installed
/usr/lib/nnstreamer/unittest. For the nnstreamer_example, libraries
are in /usr/lib/nnstreamer/unittest/nnstreamer_exampls, and For the
tests, they are installed in /usr/lib/nnstreamer/unittest/tests.
Some unittest executions (unittest_repo, unittest_sink,
unittest_common, unittest_plugins) are installed in
/usr/lib/nnstreamer/unittest.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
MyungJoo Ham [Mon, 1 Apr 2019 08:07:35 +0000 (17:07 +0900)]
[SVACE/414634-5] Fix
65505041/2 Warning
DEREF_OF_NULL.RET.ALLOC
Warning Message
Pointer '↦left[0]' returned from function 'g_strdup_printf' at tensor_filter.c:965 may be null, and it is dereferenced at tensor_filter.c:984.
Warning Message
Pointer '↦right[0]' returned from function 'g_strdup_printf' at tensor_filter.c:974 may be null, and it is dereferenced at tensor_filter.c:986.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 1 Apr 2019 07:59:59 +0000 (16:59 +0900)]
[SVACE/414633] Check malloc return value
Do not proceed if malloc returns null:
Warning Message
Pointer 'output[0].data' returned from function 'malloc' at nnstreamer_customfilter_example_scaler_allocator.c:159 may be null, and it is dereferenced at nnstreamer_customfilter_example_scaler_allocator.c:202.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 1 Apr 2019 07:57:40 +0000 (16:57 +0900)]
[SVACE/414632] Check malloc return value
Do not proceed if malloc returns null:
Warning Message
Pointer 'data' returned from function 'malloc' at nnscustom_framecounter.c:96 may be null, and it is dereferenced at nnscustom_framecounter.c:98.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 1 Apr 2019 07:55:04 +0000 (16:55 +0900)]
[SVACE/414631] Check malloc return value
Do not proceed if malloc returns null:
Warning Message
Pointer 'data' returned from function 'malloc' at nnstreamer_customfilter_example_scaler_allocator.c:65 may be null, and it is dereferenced at nnstreamer_customfilter_example_scaler_allocator.c:68.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>