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
57 %define enable_ml_landmark_detection 1
59 %define build_depth_stream_testsuite 1
60 BuildRequires: pkgconfig(vision-source)
62 %define enable_mv3d_pointcloud 1
63 BuildRequires: Open3D-devel
66 %define build_options -DENABLE_INFERENCE_PROFILER=0 -DBUILD_DEPTH_STREAM_TESTSUITE=%{build_depth_stream_testsuite} -DMV_3D_POINTCLOUD_IS_AVAILABLE=%{enable_mv3d_pointcloud}
67 %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} -DENABLE_ML_LANDMARK_DETECTION=%{enable_ml_landmark_detection}
68 Requires: %{name}-machine_learning
69 Requires: inference-engine-interface-common
71 Requires: %{name}-barcode
72 Requires: %{name}-face
73 Requires: %{name}-image
74 Requires: %{name}-surveillance
76 Requires: %{name}-roi_tracker
80 Media Vision library for Tizen Native API. Includes barcode detecting, barcode generating, face and image modules.
84 Summary: Multimedia Vision Library (DEV)
85 Group: Multimedia/Framework
86 Requires: %{name} = %{version}-%{release}
87 Requires: %{name}-barcode-devel
88 Requires: %{name}-face-devel
89 Requires: %{name}-image-devel
90 Requires: %{name}-machine_learning-devel
91 Requires: %{name}-surveillance-devel
92 Requires: %{name}-3d-devel
93 Requires: %{name}-roi_tracker-devel
96 Media Vision library for Tizen Native API (DEV). Includes barcode detecting, barcode generating, face and image modules.
101 Summary: Line Coverage of Media Vision library for Tizen Native API
102 Group: Development/Multimedia
105 Collection of files related to Line Coverage. It is teseted as gcov for a Media Vision for Tizen Native API
109 Summary: Multimedia Vision common Library
110 Group: Multimedia/Framework
113 Media Vision common library for Tizen Native API.
115 %package common-devel
116 Summary: Multimedia Vision common Library
117 Group: Multimedia/Framework
118 Requires: %{name}-common
120 %description common-devel
121 Media Vision common library for Tizen Native API (DEV).
125 Summary: Multimedia Vision Barcode Library
126 Group: Multimedia/Framework
127 Requires: %{name}-common
130 Media Vision barcode library for Tizen Native API.
132 %package barcode-devel
133 Summary: Multimedia Vision Barcode Library
134 Group: Multimedia/Framework
135 Requires: %{name}-barcode
136 Requires: %{name}-common-devel
138 %description barcode-devel
139 Media Vision barcode library for Tizen Native API (DEV).
142 Summary: Multimedia Vision Library
143 Group: Multimedia/Framework
144 Requires: %{name}-common
147 Media Vision face library for Tizen Native API.
150 Summary: Multimedia Vision Face Library (DEV)
151 Group: Multimedia/Framework
152 Requires: %{name}-face
153 Requires: %{name}-common-devel
155 %description face-devel
156 Media Vision face library for Tizen Native API (DEV).
159 Summary: Multimedia Vision Image Library
160 Group: Multimedia/Framework
161 Requires: %{name}-common
164 Media Vision Image library for Tizen Native API.
167 Summary: Multimedia Vision Image Library
168 Group: Multimedia/Framework
169 Requires: %{name}-image
170 Requires: %{name}-common-devel
172 %description image-devel
173 Media Vision Image library for Tizen Native API (DEV).
175 %package surveillance
176 Summary: Multimedia Vision Surveillance Library
177 Group: Multimedia/Framework
178 Requires: %{name}-face
180 %description surveillance
181 Media Vision Surveillance library for Tizen Native API.
183 %package surveillance-devel
184 Summary: Multimedia Vision Surveillance Library
185 Group: Multimedia/Framework
186 Requires: %{name}-surveillance
187 Requires: %{name}-common-devel
189 %description surveillance-devel
190 Media Vision Surveillance library for Tizen Native API (DEV).
193 Summary: Multimedia Vision 3d Library
194 Group: Multimedia/Framework
195 Requires: %{name}-common
198 Media Vision 3d library for Tizen Native API.
201 Summary: Multimedia Vision 3d Library
202 Group: Multimedia/Framework
204 Requires: %{name}-common-devel
206 %description 3d-devel
207 Media Vision 3d library for Tizen Native API (DEV).
210 %package machine_learning
211 Summary: Multimedia Vision Machine Learning Library
212 Group: Multimedia/Framework
213 Requires: %{name}-common
215 %description machine_learning
216 Media Vision Machine Learning library for Tizen Native API.
218 %package machine_learning-devel
219 Summary: Multimedia Vision Machine Learning Library
220 Group: Multimedia/Framework
221 Requires: %{name}-machine_learning
222 Requires: %{name}-common-devel
224 %description machine_learning-devel
225 Media Vision Machine Learning library for Tizen Native API (DEV).
229 Summary: Multimedia Vision Library
230 Group: Multimedia/Framework
231 Requires: %{name}-common
233 %description roi_tracker
234 Media Vision roi tracker library for Tizen Native API.
236 %package roi_tracker-devel
237 Summary: Multimedia Vision ROI Tracker Library (DEV)
238 Group: Multimedia/Framework
239 Requires: %{name}-roi_tracker
240 Requires: %{name}-common-devel
242 %description roi_tracker-devel
243 Media Vision roi_tracker library for Tizen Native API (DEV).
248 Summary: Multimedia Vision Test Suite
249 Group: Multimedia/Framework
250 Requires: %{name}-barcode
251 Requires: %{name}-face
252 Requires: %{name}-image
253 Requires: %{name}-surveillance
254 Requires: %{name}-machine_learning
256 Requires: %{name}-roi_tracker
259 %description unittests
260 Media Vision Test Suite.
267 %if 0%{?sec_build_binary_debug_enable}
268 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
269 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
270 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
273 export CFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
274 export CXXFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
276 export CFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
277 export CXXFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
280 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
281 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
282 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
283 export LDFLAGS+=" -lgcov"
286 %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo %{build_options} %{task_group_options} \
287 -DTEST_RES_PATH="%{TZ_SYS_HOME}/%{TZ_SYS_DEFAULT_USER}/media/Others/mv_test" \
291 %if 0%{?visualizer:1}
292 -DBUILD_VISUALIZER=ON \
298 make %{?jobs:-j%jobs}
302 cat << EOF > run-unittest.sh
306 mkdir /opt/usr/home/owner/media/Others/mv_test
307 pushd /opt/media/USBDriveA1/mv_test
308 tar -xzvf mv_test.tar.gz -C /opt/usr/home/owner/media/Others/mv_test
309 tar -xzvf open_model_zoo.tar.gz -C /opt/usr/home/owner/media/Others/mv_test/open_model_zoo
310 bash /opt/usr/home/owner/media/Others/mv_test/post_install_on_target.sh
315 echo "test_main start"
316 /usr/bin/mv_test --gtest_filter=-*TestPoseLandmarkDetectionTflite.MobilenetV1*
317 %if "%{enable_ml_face_recognition}" == "1"
318 /usr/bin/test_face_recognition
320 %if "%{enable_ml_image_classification}" == "1"
321 /usr/bin/test_image_classification
323 %if "%{enable_ml_object_detection}" == "1"
324 /usr/bin/test_object_detection
326 %if "%{enable_ml_object_detection_3d}" == "1"
327 /usr/bin/test_object_detection_3d
329 %if "%{enable_ml_landmark_detection}" == "1"
330 /usr/bin/test_landmark_detection
335 echo "teardown start"
336 rm -rf /opt/usr/home/owner/media/Others/mv_test
348 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
349 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}
354 builddir=$(basename $PWD)
355 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
356 mkdir -p "$gcno_obj_dir"
357 find . -name '*.gcno' -not -path "./test/*" -exec cp --parents '{}' "$gcno_obj_dir" ';'
360 %post -p /sbin/ldconfig
361 %postun -p /sbin/ldconfig
364 %manifest %{name}.manifest
365 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
369 %{_libdir}/pkgconfig/%{name}.pc
373 %manifest %{name}.manifest
374 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
375 %{_datadir}/%{name}/media-vision-config.json
376 %{_libdir}/libmv_common*.so
379 %{_includedir}/media/mv_common.h
380 %{_libdir}/pkgconfig/*common.pc
384 %manifest %{name}.manifest
385 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
386 %{_libdir}/libmv_barcode*.so
389 %{_includedir}/media/mv_barcode*.h
390 %{_libdir}/pkgconfig/*barcode.pc
393 %manifest %{name}.manifest
394 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
395 %{_libdir}/libmv_face*.so
398 %{_includedir}/media/mv_face*.h
399 %{_libdir}/pkgconfig/*face.pc
402 %manifest %{name}.manifest
403 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
404 %{_libdir}/libmv_image.so
407 %{_includedir}/media/mv_image*.h
408 %{_libdir}/pkgconfig/*image.pc
411 %manifest %{name}.manifest
412 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
413 %{_libdir}/libmv_surveillance*.so
415 %files surveillance-devel
416 %{_includedir}/media/mv_surveillance*.h
417 %{_libdir}/pkgconfig/*surveillance.pc
420 %manifest %{name}.manifest
421 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
422 %{_libdir}/libmv_3d*.so
425 %{_includedir}/media/mv_3d.h
426 %{_includedir}/media/mv_3d_type.h
427 %{_includedir}/media/mv_3d_internal.h
428 %{_includedir}/media/mv_3d_private.h
429 %{_libdir}/pkgconfig/*3d.pc
432 %files machine_learning
433 %manifest %{name}.manifest
434 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
435 %{_libdir}/libmv_inference*.so
436 %if "%{enable_ml_face_recognition}" == "1"
437 %{_datadir}/%{name}/face_recognition.json
438 %{_libdir}/libmv_training.so
439 %{_libdir}/libmv_face_recognition.so
441 %if "%{enable_ml_image_classification}" == "1"
442 %{_datadir}/%{name}/image_classification.json
443 %{_libdir}/libmv_image_classification.so
445 %if "%{enable_ml_object_detection}" == "1"
446 %{_datadir}/%{name}/object_detection.json
447 %{_datadir}/%{name}/face_detection.json
448 %{_libdir}/libmv_object_detection.so
450 %if "%{enable_ml_object_detection_3d}" == "1"
451 %{_datadir}/%{name}/object_detection_3d.json
452 %{_libdir}/libmv_object_detection_3d.so
454 %if "%{enable_ml_landmark_detection}" == "1"
455 %{_datadir}/%{name}/facial_landmark.json
456 %{_libdir}/libmv_landmark_detection.so
459 %files machine_learning-devel
460 %{_includedir}/media/mv_infer*.h
461 %{_libdir}/pkgconfig/*inference.pc
462 %if "%{enable_ml_face_recognition}" == "1"
463 %{_includedir}/media/mv_face_recognition*.h
464 %{_libdir}/pkgconfig/*training.pc
465 %{_libdir}/pkgconfig/*face-recognition.pc
467 %if "%{enable_ml_image_classification}" == "1"
468 %{_includedir}/media/mv_image_classification_internal.h
469 %{_includedir}/media/mv_image_classification_type.h
470 %{_libdir}/pkgconfig/*image-classification.pc
472 %if "%{enable_ml_object_detection}" == "1"
473 %{_includedir}/media/mv_object_detection_internal.h
474 %{_includedir}/media/mv_object_detection_type.h
475 %{_includedir}/media/mv_face_detection_internal.h
476 %{_includedir}/media/mv_face_detection_type.h
477 %{_libdir}/pkgconfig/*object-detection.pc
479 %if "%{enable_ml_object_detection_3d}" == "1"
480 %{_includedir}/media/mv_object_detection_3d_internal.h
481 %{_includedir}/media/mv_object_detection_3d_type.h
482 %{_libdir}/pkgconfig/*object-detection-3d.pc
484 %if "%{enable_ml_landmark_detection}" == "1"
485 %{_includedir}/media/mv_facial_landmark_internal.h
486 %{_includedir}/media/mv_facial_landmark_type.h
487 %{_libdir}/pkgconfig/*landmark-detection.pc
491 %manifest %{name}.manifest
492 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
493 %{_libdir}/libmv_roi_tracker.so
495 %files roi_tracker-devel
496 %{_includedir}/media/mv_roi_tracker*.h
497 %{_libdir}/pkgconfig/*tracker.pc
502 %manifest %{name}.manifest
503 %license LICENSE.APLv2 LICENSE.BSD-3-Clause
504 %{_libdir}/libmv_*helper.so
505 %if 0%{?visualizer:1}
506 %{_libdir}/libmv_visualizer.so
508 %{_libdir}/libmv_testsuite*.so
510 %if "%{enable_ml_face_recognition}" == "1"
511 %{_bindir}/test_face_recognition
512 %{_bindir}/test_face_recognition_multi_threads
513 %{_bindir}/measure_face_recognition
515 %if "%{enable_ml_image_classification}" == "1"
516 %{_bindir}/test_image_classification
518 %if "%{enable_ml_object_detection}" == "1"
519 %{_bindir}/test_object_detection
521 %if "%{enable_ml_object_detection_3d}" == "1"
522 %{_bindir}/test_object_detection_3d
524 %if "%{enable_ml_landmark_detection}" == "1"
525 %{_bindir}/test_landmark_detection
527 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
532 %{_datadir}/gcov/obj/*