1 Name: capi-media-vision
2 Summary: Media Vision library for Tizen Native API
5 Group: Multimedia/Framework
6 License: Apache-2.0 and BSD-3-Clause
7 Source0: %{name}-%{version}.tar.gz
9 BuildRequires: pkgconfig(capi-media-tool)
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(capi-system-info)
12 BuildRequires: pkgconfig(opencv)
13 BuildRequires: pkgconfig(json-glib-1.0)
14 BuildRequires: pkgconfig(iniparser)
15 BuildRequires: pkgconfig(inference-engine-interface-common)
17 BuildRequires: pkgconfig(glib-2.0)
18 BuildRequires: pkgconfig(zbar)
19 # Change to the pkgconfig(zint) after zint package refactor
21 BuildRequires: zint-devel
22 BuildRequires: pkgconfig(libavcodec)
23 BuildRequires: pkgconfig(libavformat)
24 BuildRequires: pkgconfig(libswscale)
25 BuildRequires: libavutil-devel
26 BuildRequires: pkgconfig(gstreamer-1.0)
27 BuildRequires: pkgconfig(gstreamer-base-1.0)
28 BuildRequires: pkgconfig(gstreamer-app-1.0)
29 BuildRequires: pkgconfig(libtzplatform-config)
30 BuildRequires: pkgconfig(ncurses)
31 BuildRequires: pkgconfig(libdrm)
32 BuildRequires: pkgconfig(wayland-egl)
33 BuildRequires: pkgconfig(glesv2)
34 BuildRequires: gtest-devel
35 BuildRequires: pkgconfig(dfs-adaptation)
37 BuildRequires: pkgconfig(protobuf)
38 BuildRequires: pkgconfig(grpc++)
43 # ENABLE_INFERENCE_PROFILER
44 # 0 : disable Mediavision inference engine profiler, 1 : enable Mediavision inference engine profiler.
45 %define enable_mv3d_pointcloud 0
46 %if "%{tizen_profile_name}" == "tv"
47 %define enable_ml_face_recognition 0
48 %define build_depth_stream_testsuite 0
50 %define enable_ml_face_recognition 1
51 BuildRequires: pkgconfig(training-engine-interface-common)
52 Requires: training-engine-interface-common
54 %define enable_ml_image_classification 1
55 %define enable_ml_object_detection 1
56 %define enable_ml_object_detection_3d 1
58 %define build_depth_stream_testsuite 1
59 BuildRequires: pkgconfig(vision-source)
61 %define enable_mv3d_pointcloud 1
62 BuildRequires: Open3D-devel
65 %define build_options -DENABLE_INFERENCE_PROFILER=0 -DBUILD_DEPTH_STREAM_TESTSUITE=%{build_depth_stream_testsuite} -DMV_3D_POINTCLOUD_IS_AVAILABLE=%{enable_mv3d_pointcloud}
66 %define task_group_options -DENABLE_ML_FACE_RECOGNITION=%{enable_ml_face_recognition} -DENABLE_ML_IMAGE_CLASSIFICATION=%{enable_ml_image_classification} -DENABLE_ML_OBJECT_DETECTION=%{enable_ml_object_detection} -DENABLE_ML_OBJECT_DETECTION_3D=%{enable_ml_object_detection_3d}
67 Requires: %{name}-machine_learning
68 Requires: inference-engine-interface-common
70 Requires: %{name}-barcode
71 Requires: %{name}-face
72 Requires: %{name}-image
73 Requires: %{name}-surveillance
75 Requires: %{name}-roi_tracker
79 Media Vision library for Tizen Native API. Includes barcode detecting, barcode generating, face and image modules.
83 Summary: Multimedia Vision Library (DEV)
84 Group: Multimedia/Framework
85 Requires: %{name} = %{version}-%{release}
86 Requires: %{name}-barcode-devel
87 Requires: %{name}-face-devel
88 Requires: %{name}-image-devel
89 Requires: %{name}-machine_learning-devel
90 Requires: %{name}-surveillance-devel
91 Requires: %{name}-3d-devel
92 Requires: %{name}-roi_tracker-devel
95 Media Vision library for Tizen Native API (DEV). Includes barcode detecting, barcode generating, face and image modules.
100 Summary: Line Coverage of Media Vision library for Tizen Native API
101 Group: Development/Multimedia
104 Collection of files related to Line Coverage. It is teseted as gcov for a Media Vision for Tizen Native API
108 Summary: Multimedia Vision common Library
109 Group: Multimedia/Framework
112 Media Vision common library for Tizen Native API.
114 %package common-devel
115 Summary: Multimedia Vision common Library
116 Group: Multimedia/Framework
117 Requires: %{name}-common
119 %description common-devel
120 Media Vision common library for Tizen Native API (DEV).
124 Summary: Multimedia Vision Barcode Library
125 Group: Multimedia/Framework
126 Requires: %{name}-common
129 Media Vision barcode library for Tizen Native API.
131 %package barcode-devel
132 Summary: Multimedia Vision Barcode Library
133 Group: Multimedia/Framework
134 Requires: %{name}-barcode
135 Requires: %{name}-common-devel
137 %description barcode-devel
138 Media Vision barcode library for Tizen Native API (DEV).
141 Summary: Multimedia Vision Library
142 Group: Multimedia/Framework
143 Requires: %{name}-common
146 Media Vision face library for Tizen Native API.
149 Summary: Multimedia Vision Face Library (DEV)
150 Group: Multimedia/Framework
151 Requires: %{name}-face
152 Requires: %{name}-common-devel
154 %description face-devel
155 Media Vision face library for Tizen Native API (DEV).
158 Summary: Multimedia Vision Image Library
159 Group: Multimedia/Framework
160 Requires: %{name}-common
163 Media Vision Image library for Tizen Native API.
166 Summary: Multimedia Vision Image Library
167 Group: Multimedia/Framework
168 Requires: %{name}-image
169 Requires: %{name}-common-devel
171 %description image-devel
172 Media Vision Image library for Tizen Native API (DEV).
174 %package surveillance
175 Summary: Multimedia Vision Surveillance Library
176 Group: Multimedia/Framework
177 Requires: %{name}-face
179 %description surveillance
180 Media Vision Surveillance library for Tizen Native API.
182 %package surveillance-devel
183 Summary: Multimedia Vision Surveillance Library
184 Group: Multimedia/Framework
185 Requires: %{name}-surveillance
186 Requires: %{name}-common-devel
188 %description surveillance-devel
189 Media Vision Surveillance library for Tizen Native API (DEV).
192 Summary: Multimedia Vision 3d Library
193 Group: Multimedia/Framework
194 Requires: %{name}-common
197 Media Vision 3d library for Tizen Native API.
200 Summary: Multimedia Vision 3d Library
201 Group: Multimedia/Framework
203 Requires: %{name}-common-devel
205 %description 3d-devel
206 Media Vision 3d library for Tizen Native API (DEV).
209 %package machine_learning
210 Summary: Multimedia Vision Machine Learning Library
211 Group: Multimedia/Framework
212 Requires: %{name}-common
214 %description machine_learning
215 Media Vision Machine Learning library for Tizen Native API.
217 %package machine_learning-devel
218 Summary: Multimedia Vision Machine Learning Library
219 Group: Multimedia/Framework
220 Requires: %{name}-machine_learning
221 Requires: %{name}-common-devel
223 %description machine_learning-devel
224 Media Vision Machine Learning library for Tizen Native API (DEV).
228 Summary: Multimedia Vision Library
229 Group: Multimedia/Framework
230 Requires: %{name}-common
232 %description roi_tracker
233 Media Vision roi tracker library for Tizen Native API.
235 %package roi_tracker-devel
236 Summary: Multimedia Vision ROI Tracker Library (DEV)
237 Group: Multimedia/Framework
238 Requires: %{name}-roi_tracker
239 Requires: %{name}-common-devel
241 %description roi_tracker-devel
242 Media Vision roi_tracker library for Tizen Native API (DEV).
247 Summary: Multimedia Vision Test Suite
248 Group: Multimedia/Framework
249 Requires: %{name}-barcode
250 Requires: %{name}-face
251 Requires: %{name}-image
252 Requires: %{name}-surveillance
253 Requires: %{name}-machine_learning
255 Requires: %{name}-roi_tracker
258 %description unittests
259 Media Vision Test Suite.
266 %if 0%{?sec_build_binary_debug_enable}
267 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
268 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
269 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
272 export CFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
273 export CXXFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
275 export CFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
276 export CXXFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
279 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
280 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
281 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
282 export LDFLAGS+=" -lgcov"
285 %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo %{build_options} %{task_group_options} \
286 -DTEST_RES_PATH="%{TZ_SYS_HOME}/%{TZ_SYS_DEFAULT_USER}/media/Others/mv_test" \
290 %if 0%{?visualizer:1}
291 -DBUILD_VISUALIZER=ON \
297 make %{?jobs:-j%jobs}
301 cat << EOF > run-unittest.sh
305 mkdir /opt/usr/home/owner/media/Others/mv_test
306 pushd /opt/media/USBDriveA1/mv_test
307 tar -xzvf mv_test.tar.gz -C /opt/usr/home/owner/media/Others/mv_test
308 tar -xzvf open_model_zoo.tar.gz -C /opt/usr/home/owner/media/Others/mv_test/open_model_zoo
309 bash /opt/usr/home/owner/media/Others/mv_test/post_install_on_target.sh
314 echo "test_main start"
315 /usr/bin/mv_test --gtest_filter=-*TestPoseLandmarkDetectionTflite.MobilenetV1*
316 %if "%{enable_ml_face_recognition}" == "1"
317 /usr/bin/test_face_recognition
319 %if "%{enable_ml_image_classification}" == "1"
320 /usr/bin/test_image_classification
322 %if "%{enable_ml_object_detection}" == "1"
323 /usr/bin/test_object_detection
325 %if "%{enable_ml_object_detection_3d}" == "1"
326 /usr/bin/test_object_detection_3d
331 echo "teardown start"
332 rm -rf /opt/usr/home/owner/media/Others/mv_test
344 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
345 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}
350 builddir=$(basename $PWD)
351 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
352 mkdir -p "$gcno_obj_dir"
353 find . -name '*.gcno' -not -path "./test/*" -exec cp --parents '{}' "$gcno_obj_dir" ';'
356 %post -p /sbin/ldconfig
357 %postun -p /sbin/ldconfig
360 %manifest %{name}.manifest
361 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
365 %{_libdir}/pkgconfig/%{name}.pc
369 %manifest %{name}.manifest
370 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
371 %{_datadir}/%{name}/media-vision-config.json
372 %{_libdir}/libmv_common*.so
375 %{_includedir}/media/mv_common.h
376 %{_libdir}/pkgconfig/*common.pc
380 %manifest %{name}.manifest
381 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
382 %{_libdir}/libmv_barcode*.so
385 %{_includedir}/media/mv_barcode*.h
386 %{_libdir}/pkgconfig/*barcode.pc
389 %manifest %{name}.manifest
390 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
391 %{_libdir}/libmv_face*.so
394 %{_includedir}/media/mv_face*.h
395 %{_libdir}/pkgconfig/*face.pc
398 %manifest %{name}.manifest
399 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
400 %{_libdir}/libmv_image.so
403 %{_includedir}/media/mv_image*.h
404 %{_libdir}/pkgconfig/*image.pc
407 %manifest %{name}.manifest
408 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
409 %{_libdir}/libmv_surveillance*.so
411 %files surveillance-devel
412 %{_includedir}/media/mv_surveillance*.h
413 %{_libdir}/pkgconfig/*surveillance.pc
416 %manifest %{name}.manifest
417 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
418 %{_libdir}/libmv_3d*.so
421 %{_includedir}/media/mv_3d.h
422 %{_includedir}/media/mv_3d_type.h
423 %{_includedir}/media/mv_3d_internal.h
424 %{_includedir}/media/mv_3d_private.h
425 %{_libdir}/pkgconfig/*3d.pc
428 %files machine_learning
429 %manifest %{name}.manifest
430 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
431 %{_libdir}/libmv_inference*.so
432 %if "%{enable_ml_face_recognition}" == "1"
433 %{_datadir}/%{name}/face_recognition.json
434 %{_libdir}/libmv_training.so
435 %{_libdir}/libmv_face_recognition.so
437 %if "%{enable_ml_image_classification}" == "1"
438 %{_datadir}/%{name}/image_classification.json
439 %{_libdir}/libmv_image_classification.so
441 %if "%{enable_ml_object_detection}" == "1"
442 %{_datadir}/%{name}/object_detection.json
443 %{_datadir}/%{name}/face_detection.json
444 %{_libdir}/libmv_object_detection.so
446 %if "%{enable_ml_object_detection_3d}" == "1"
447 %{_datadir}/%{name}/object_detection_3d.json
448 %{_libdir}/libmv_object_detection_3d.so
451 %files machine_learning-devel
452 %{_includedir}/media/mv_infer*.h
453 %{_libdir}/pkgconfig/*inference.pc
454 %if "%{enable_ml_face_recognition}" == "1"
455 %{_includedir}/media/mv_face_recognition*.h
456 %{_libdir}/pkgconfig/*training.pc
457 %{_libdir}/pkgconfig/*face-recognition.pc
459 %if "%{enable_ml_image_classification}" == "1"
460 %{_includedir}/media/mv_image_classification_internal.h
461 %{_includedir}/media/mv_image_classification_type.h
462 %{_libdir}/pkgconfig/*image-classification.pc
464 %if "%{enable_ml_object_detection}" == "1"
465 %{_includedir}/media/mv_object_detection_internal.h
466 %{_includedir}/media/mv_object_detection_type.h
467 %{_libdir}/pkgconfig/*object-detection.pc
469 %if "%{enable_ml_object_detection_3d}" == "1"
470 %{_includedir}/media/mv_object_detection_3d_internal.h
471 %{_includedir}/media/mv_object_detection_3d_type.h
472 %{_libdir}/pkgconfig/*object-detection-3d.pc
476 %manifest %{name}.manifest
477 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
478 %{_libdir}/libmv_roi_tracker.so
480 %files roi_tracker-devel
481 %{_includedir}/media/mv_roi_tracker*.h
482 %{_libdir}/pkgconfig/*tracker.pc
487 %manifest %{name}.manifest
488 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
489 %{_libdir}/libmv_*helper.so
490 %if 0%{?visualizer:1}
491 %{_libdir}/libmv_visualizer.so
493 %{_libdir}/libmv_testsuite*.so
495 %if "%{enable_ml_face_recognition}" == "1"
496 %{_bindir}/test_face_recognition
497 %{_bindir}/test_face_recognition_multi_threads
498 %{_bindir}/measure_face_recognition
500 %if "%{enable_ml_image_classification}" == "1"
501 %{_bindir}/test_image_classification
503 %if "%{enable_ml_object_detection}" == "1"
504 %{_bindir}/test_object_detection
506 %if "%{enable_ml_object_detection_3d}" == "1"
507 %{_bindir}/test_object_detection_3d
509 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
514 %{_datadir}/gcov/obj/*