1 Name: capi-media-vision
2 Summary: Media Vision library for Tizen Native API
5 Group: Multimedia/Framework
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
58 %define enable_ml_image_segmentation 1
60 %define build_depth_stream_testsuite 1
61 BuildRequires: pkgconfig(vision-source)
63 %define enable_mv3d_pointcloud 1
64 BuildRequires: Open3D-devel
67 %define build_options -DENABLE_INFERENCE_PROFILER=0 -DBUILD_DEPTH_STREAM_TESTSUITE=%{build_depth_stream_testsuite} -DMV_3D_POINTCLOUD_IS_AVAILABLE=%{enable_mv3d_pointcloud}
68 %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} -DENABLE_ML_IMAGE_SEGMENTATION=%{enable_ml_image_segmentation}
69 Requires: %{name}-machine_learning
70 Requires: inference-engine-interface-common
72 Requires: %{name}-barcode
73 Requires: %{name}-face
74 Requires: %{name}-image
75 Requires: %{name}-surveillance
77 Requires: %{name}-roi_tracker
81 Media Vision library for Tizen Native API. Includes barcode detecting, barcode generating, face and image modules.
85 Summary: Multimedia Vision Library (DEV)
86 Group: Multimedia/Framework
87 Requires: %{name} = %{version}-%{release}
88 Requires: %{name}-barcode-devel
89 Requires: %{name}-face-devel
90 Requires: %{name}-image-devel
91 Requires: %{name}-machine_learning-devel
92 Requires: %{name}-surveillance-devel
93 Requires: %{name}-3d-devel
94 Requires: %{name}-roi_tracker-devel
97 Media Vision library for Tizen Native API (DEV). Includes barcode detecting, barcode generating, face and image modules.
102 Summary: Line Coverage of Media Vision library for Tizen Native API
103 Group: Development/Multimedia
106 Collection of files related to Line Coverage. It is teseted as gcov for a Media Vision for Tizen Native API
110 Summary: Multimedia Vision common Library
111 Group: Multimedia/Framework
114 Media Vision common library for Tizen Native API.
116 %package common-devel
117 Summary: Multimedia Vision common Library
118 Group: Multimedia/Framework
119 Requires: %{name}-common
121 %description common-devel
122 Media Vision common library for Tizen Native API (DEV).
126 Summary: Multimedia Vision Barcode Library
127 Group: Multimedia/Framework
128 Requires: %{name}-common
131 Media Vision barcode library for Tizen Native API.
133 %package barcode-devel
134 Summary: Multimedia Vision Barcode Library
135 Group: Multimedia/Framework
136 Requires: %{name}-barcode
137 Requires: %{name}-common-devel
139 %description barcode-devel
140 Media Vision barcode library for Tizen Native API (DEV).
143 Summary: Multimedia Vision Library
144 Group: Multimedia/Framework
145 Requires: %{name}-common
148 Media Vision face library for Tizen Native API.
151 Summary: Multimedia Vision Face Library (DEV)
152 Group: Multimedia/Framework
153 Requires: %{name}-face
154 Requires: %{name}-common-devel
156 %description face-devel
157 Media Vision face library for Tizen Native API (DEV).
160 Summary: Multimedia Vision Image Library
161 Group: Multimedia/Framework
162 Requires: %{name}-common
165 Media Vision Image library for Tizen Native API.
168 Summary: Multimedia Vision Image Library
169 Group: Multimedia/Framework
170 Requires: %{name}-image
171 Requires: %{name}-common-devel
173 %description image-devel
174 Media Vision Image library for Tizen Native API (DEV).
176 %package surveillance
177 Summary: Multimedia Vision Surveillance Library
178 Group: Multimedia/Framework
179 Requires: %{name}-face
181 %description surveillance
182 Media Vision Surveillance library for Tizen Native API.
184 %package surveillance-devel
185 Summary: Multimedia Vision Surveillance Library
186 Group: Multimedia/Framework
187 Requires: %{name}-surveillance
188 Requires: %{name}-common-devel
190 %description surveillance-devel
191 Media Vision Surveillance library for Tizen Native API (DEV).
194 Summary: Multimedia Vision 3d Library
195 Group: Multimedia/Framework
196 Requires: %{name}-common
199 Media Vision 3d library for Tizen Native API.
202 Summary: Multimedia Vision 3d Library
203 Group: Multimedia/Framework
205 Requires: %{name}-common-devel
207 %description 3d-devel
208 Media Vision 3d library for Tizen Native API (DEV).
211 %package machine_learning
212 Summary: Multimedia Vision Machine Learning Library
213 Group: Multimedia/Framework
214 Requires: %{name}-common
216 %description machine_learning
217 Media Vision Machine Learning library for Tizen Native API.
219 %package machine_learning-devel
220 Summary: Multimedia Vision Machine Learning Library
221 Group: Multimedia/Framework
222 Requires: %{name}-machine_learning
223 Requires: %{name}-common-devel
225 %description machine_learning-devel
226 Media Vision Machine Learning library for Tizen Native API (DEV).
230 Summary: Multimedia Vision Library
231 Group: Multimedia/Framework
232 Requires: %{name}-common
234 %description roi_tracker
235 Media Vision roi tracker library for Tizen Native API.
237 %package roi_tracker-devel
238 Summary: Multimedia Vision ROI Tracker Library (DEV)
239 Group: Multimedia/Framework
240 Requires: %{name}-roi_tracker
241 Requires: %{name}-common-devel
243 %description roi_tracker-devel
244 Media Vision roi_tracker library for Tizen Native API (DEV).
249 Summary: Multimedia Vision Test Suite
250 Group: Multimedia/Framework
251 Requires: %{name}-barcode
252 Requires: %{name}-face
253 Requires: %{name}-image
254 Requires: %{name}-surveillance
255 Requires: %{name}-machine_learning
257 Requires: %{name}-roi_tracker
260 %description unittests
261 Media Vision Test Suite.
268 %if 0%{?sec_build_binary_debug_enable}
269 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
270 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
271 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
274 export CFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
275 export CXXFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
277 export CFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
278 export CXXFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
281 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
282 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
283 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
284 export LDFLAGS+=" -lgcov"
289 %cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo %{build_options} %{task_group_options} \
290 -DTEST_RES_PATH="%{TZ_SYS_HOME}/%{TZ_SYS_DEFAULT_USER}/media/Others/mv_test" \
294 %if 0%{?visualizer:1}
295 -DBUILD_VISUALIZER=ON \
301 make %{?jobs:-j%jobs}
305 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
306 install -m 0755 script/run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}
312 builddir=$(basename $PWD)
313 pkg_version_path=$(basename "$(dirname $PWD)")
314 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$pkg_version_path"/${builddir}
315 mkdir -p "$gcno_obj_dir"
317 find . -name '*.gcno' -not -path "./test/*" -not -path "./mv_machine_learning/*" \
318 -exec cp --parents '{}' "$gcno_obj_dir" ';'
322 %post -p /sbin/ldconfig
323 %postun -p /sbin/ldconfig
326 %manifest %{name}.manifest
327 %license LICENSE.APLv2
331 %{_libdir}/pkgconfig/%{name}.pc
335 %manifest %{name}.manifest
336 %license LICENSE.APLv2
337 %{_datadir}/%{name}/media-vision-config.json
338 %{_libdir}/libmv_common*.so
341 %{_includedir}/media/mv_common.h
342 %{_libdir}/pkgconfig/*common.pc
346 %manifest %{name}.manifest
347 %license LICENSE.APLv2
348 %{_libdir}/libmv_barcode*.so
351 %{_includedir}/media/mv_barcode*.h
352 %{_libdir}/pkgconfig/*barcode.pc
355 %manifest %{name}.manifest
356 %license LICENSE.APLv2
357 %{_libdir}/libmv_face*.so
360 %{_includedir}/media/mv_face*.h
361 %{_libdir}/pkgconfig/*face.pc
364 %manifest %{name}.manifest
365 %license LICENSE.APLv2
366 %{_libdir}/libmv_image.so
369 %{_includedir}/media/mv_image*.h
370 %{_libdir}/pkgconfig/*image.pc
373 %manifest %{name}.manifest
374 %license LICENSE.APLv2
375 %{_libdir}/libmv_surveillance*.so
377 %files surveillance-devel
378 %{_includedir}/media/mv_surveillance*.h
379 %{_libdir}/pkgconfig/*surveillance.pc
382 %manifest %{name}.manifest
383 %license LICENSE.APLv2
384 %{_libdir}/libmv_3d*.so
387 %{_includedir}/media/mv_3d.h
388 %{_includedir}/media/mv_3d_type.h
389 %{_includedir}/media/mv_3d_internal.h
390 %{_includedir}/media/mv_3d_private.h
391 %{_libdir}/pkgconfig/*3d.pc
394 %files machine_learning
395 %manifest %{name}.manifest
396 %license LICENSE.APLv2
397 %{_libdir}/libmv_inference*.so
398 %{_libdir}/libmv_ml_common.so
399 %if "%{enable_ml_face_recognition}" == "1"
400 %{_datadir}/%{name}/face_recognition.json
401 %{_libdir}/libmv_training.so
402 %{_libdir}/libmv_face_recognition.so
404 %if "%{enable_ml_image_classification}" == "1"
405 %{_datadir}/%{name}/image_classification.json
406 %{_libdir}/libmv_image_classification.so
408 %if "%{enable_ml_object_detection}" == "1"
409 %{_datadir}/%{name}/object_detection.json
410 %{_datadir}/%{name}/face_detection.json
411 %{_libdir}/libmv_object_detection.so
413 %if "%{enable_ml_object_detection_3d}" == "1"
414 %{_datadir}/%{name}/object_detection_3d.json
415 %{_libdir}/libmv_object_detection_3d.so
417 %if "%{enable_ml_landmark_detection}" == "1"
418 %{_datadir}/%{name}/facial_landmark.json
419 %{_datadir}/%{name}/pose_landmark.json
420 %{_libdir}/libmv_landmark_detection.so
422 %if "%{enable_ml_image_segmentation}" == "1"
423 %{_datadir}/%{name}/selfie_segmentation.json
424 %{_libdir}/libmv_image_segmentation.so
427 %files machine_learning-devel
428 %{_includedir}/media/mv_infer*.h
429 %{_includedir}/media/machine_learning_exception.h
430 %{_includedir}/media/machine_learning_config.h
431 %{_includedir}/media/machine_learning_preprocess.h
432 %{_libdir}/pkgconfig/*inference.pc
433 %if "%{enable_ml_face_recognition}" == "1"
434 %{_includedir}/media/mv_face_recognition*.h
435 %{_libdir}/pkgconfig/*training.pc
436 %{_libdir}/pkgconfig/*face-recognition.pc
438 %if "%{enable_ml_image_classification}" == "1"
439 %{_includedir}/media/mv_image_classification_internal.h
440 %{_includedir}/media/mv_image_classification_type.h
441 %{_libdir}/pkgconfig/*image-classification.pc
443 %if "%{enable_ml_object_detection}" == "1"
444 %{_includedir}/media/mv_object_detection_internal.h
445 %{_includedir}/media/mv_object_detection_type.h
446 %{_includedir}/media/mv_face_detection_internal.h
447 %{_includedir}/media/mv_face_detection_type.h
448 %{_includedir}/media/iobject_detection.h
449 %{_includedir}/media/object_detection_type.h
450 %{_libdir}/pkgconfig/*object-detection.pc
452 %if "%{enable_ml_object_detection_3d}" == "1"
453 %{_includedir}/media/mv_object_detection_3d_internal.h
454 %{_includedir}/media/mv_object_detection_3d_type.h
455 %{_libdir}/pkgconfig/*object-detection-3d.pc
457 %if "%{enable_ml_landmark_detection}" == "1"
458 %{_includedir}/media/mv_facial_landmark_internal.h
459 %{_includedir}/media/mv_facial_landmark_type.h
460 %{_includedir}/media/mv_pose_landmark_internal.h
461 %{_includedir}/media/mv_pose_landmark_type.h
462 %{_libdir}/pkgconfig/*landmark-detection.pc
464 %if "%{enable_ml_image_segmentation}" == "1"
465 %{_includedir}/media/mv_selfie_segmentation_internal.h
466 %{_includedir}/media/mv_selfie_segmentation_type.h
467 %{_includedir}/media/iimage_segmentation.h
468 %{_includedir}/media/image_segmentation_type.h
469 %{_libdir}/pkgconfig/*image-segmentation.pc
473 %manifest %{name}.manifest
474 %license LICENSE.APLv2
475 %{_libdir}/libmv_roi_tracker.so
477 %files roi_tracker-devel
478 %{_includedir}/media/mv_roi_tracker*.h
479 %{_libdir}/pkgconfig/*tracker.pc
484 %manifest %{name}.manifest
485 %license LICENSE.APLv2
486 %{_libdir}/libmv_*helper.so
487 %if 0%{?visualizer:1}
488 %{_libdir}/libmv_visualizer.so
490 %{_libdir}/libmv_testsuite*.so
492 %if "%{enable_ml_face_recognition}" == "1"
493 %{_bindir}/test_face_recognition
494 %{_bindir}/test_face_recognition_multi_threads
495 %{_bindir}/measure_face_recognition
497 %if "%{enable_ml_image_classification}" == "1"
498 %{_bindir}/test_image_classification
499 %{_bindir}/test_image_classification_async
501 %if "%{enable_ml_object_detection}" == "1"
502 %{_bindir}/test_object_detection
503 %{_bindir}/test_object_detection_async
505 %if "%{enable_ml_object_detection_3d}" == "1"
506 %{_bindir}/test_object_detection_3d
508 %if "%{enable_ml_landmark_detection}" == "1"
509 %{_bindir}/test_landmark_detection
510 %{_bindir}/test_landmark_detection_async
512 %if "%{enable_ml_image_segmentation}" == "1"
513 %{_bindir}/test_selfie_segmentation
515 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
520 %{_datadir}/gcov/obj/*