Commit Graph

521 Commits

Author SHA1 Message Date
Ilya Lavrenov
ec461a2ff0 added a test for ocl::norm 2013-08-22 17:37:48 +04:00
Alexander Alekhin
b7b584984e OCL: tests: repair/disable failed tests in ocl module 2013-08-22 17:06:47 +04:00
Jin Ma
1e8194fd3c Optimized mog and mog2, which have much better performance. 2013-08-22 15:42:07 +08:00
Roman Donchenko
3c137f7a04 Converted tabs to spaces. 2013-08-21 18:59:26 +04:00
Roman Donchenko
e9a28f66ee Normalized file endings. 2013-08-21 18:59:25 +04:00
Roman Donchenko
f55740da70 Deleted all trailing whitespace. 2013-08-21 18:59:24 +04:00
Roman Donchenko
f76dd99299 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVModule.cmake
	doc/tutorials/calib3d/camera_calibration/camera_calibration.rst
	doc/tutorials/features2d/feature_detection/feature_detection.rst
	doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.rst
	doc/tutorials/features2d/feature_homography/feature_homography.rst
	modules/core/include/opencv2/core/operations.hpp
	modules/core/src/arithm.cpp
	modules/gpu/perf/perf_video.cpp
	modules/imgproc/include/opencv2/imgproc/imgproc.hpp
	modules/java/generator/gen_java.py
	modules/java/generator/src/cpp/VideoCapture.cpp
	modules/nonfree/src/opencl/surf.cl
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_haar.cpp
	modules/ocl/perf/perf_precomp.hpp
	modules/ocl/src/color.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/test/test_color.cpp
	modules/ocl/test/test_objdetect.cpp
	modules/python/src2/cv2.cpp
	samples/gpu/CMakeLists.txt
	samples/gpu/super_resolution.cpp
2013-08-19 19:02:36 +04:00
Nghia Ho
c6858c3fb0 Buffer is accessed out of bounds. 2013-08-17 20:32:13 +10:00
Jin Ma
1bcd1fd3a2 Used perf_precomp.hpp instead of precomp.hpp for test. 2013-08-16 17:39:17 +08:00
Jin Ma
a3aa7966ae Resolved compiling errors under Linux. 2013-08-16 16:07:53 +08:00
Jin Ma
916b92bc3b Resolved a compiling warning under Windows. 2013-08-16 15:33:43 +08:00
Jin Ma
8feaadc69f Resolved a compiling error under Linux. 2013-08-16 15:25:11 +08:00
Jin Ma
3fb0bf6e99 Added MOG and MOG2. 2013-08-16 14:19:46 +08:00
Roman Donchenko
6ae9870de4 Merge pull request #1254 from pengx17:2.4_filter2d_ 2013-08-14 17:27:18 +04:00
peng xiao
124ede611b Update with apavlenko's suggestions. 2013-08-14 10:00:09 +08:00
Roman Donchenko
43c7a8ae93 Merge pull request #1259 from pengx17:2.4_fix_cvtcolor 2013-08-13 16:34:19 +04:00
peng xiao
2fb2ac8836 Apply bugfix #3121 for OCL. 2013-08-13 17:17:07 +08:00
Roman Donchenko
6b5ac42a9b Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/features2d/doc/common_interfaces_of_descriptor_extractors.rst
	modules/features2d/doc/object_categorization.rst
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/image_filtering.rst
	modules/gpu/doc/image_processing.rst
	modules/gpu/doc/video.rst
	modules/imgproc/doc/miscellaneous_transformations.rst
	modules/imgproc/doc/object_detection.rst
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/imgproc/src/samplers.cpp
	modules/ml/doc/k_nearest_neighbors.rst
	modules/nonfree/doc/feature_detection.rst
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/photo/doc/inpainting.rst
	modules/ts/include/opencv2/ts.hpp
	platforms/scripts/camera_build.conf
	samples/android/camera-calibration/AndroidManifest.xml
2013-08-13 12:56:39 +04:00
peng xiao
7fe8403074 Let ocl::filter2D support kernel size >= 3. 2013-08-13 13:58:55 +08:00
Roman Donchenko
4dc63273f0 Renamed ocl tests' precomp files according to convention.
Also, added the missing include guard to perf_precomp.hpp.
This should fix the build.
2013-08-08 18:18:54 +04:00
Roman Donchenko
d9f71b762f Deleted almost all of the precomp.cpp files.
Looks like we don't actually use them; when creating precompiled headers
with Visual C++, a dummy .cpp is created at build time.
2013-08-08 12:43:07 +04:00
Andrey Pavlenko
1c55096c01 Merge pull request #1232 from StevenPuttemans:fix_wrong_documentation 2013-08-07 21:05:43 +04:00
StevenPuttemans
ed76b2f98f Like mentioned by Andrei Pavlenko after merging pullrequest #1206, a wrong
ReST directive was used. Also fixed some other ReST directives that were
not correct and removed some warnings during buildbot checks.
2013-08-07 14:49:33 +02:00
Roman Donchenko
95bdd4b670 Merge pull request #1189 from pengx17:2.4_sort_by_key 2013-08-07 11:41:23 +04:00
Roman Donchenko
2f780ed994 Fix whitespace errors. 2013-08-06 18:07:00 +04:00
Roman Donchenko
dcaf923517 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	3rdparty/ffmpeg/ffmpeg_version.cmake
	cmake/OpenCVFindLibsGrfmt.cmake
	cmake/templates/cvconfig.h.cmake
	modules/bioinspired/doc/retina/index.rst
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/calib3d/src/precomp.hpp
	modules/contrib/src/inputoutput.cpp
	modules/contrib/src/precomp.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/include/opencv2/core/types_c.h
	modules/core/src/drawing.cpp
	modules/core/src/precomp.hpp
	modules/core/src/system.cpp
	modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst
	modules/features2d/doc/common_interfaces_of_feature_detectors.rst
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/features2d/src/precomp.hpp
	modules/flann/src/precomp.hpp
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/image_filtering.rst
	modules/gpu/doc/image_processing.rst
	modules/gpu/doc/video.rst
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/perf4au/main.cpp
	modules/gpu/src/imgproc.cpp
	modules/gpu/src/precomp.hpp
	modules/gpu/test/test_imgproc.cpp
	modules/highgui/CMakeLists.txt
	modules/highgui/test/test_precomp.hpp
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/imgproc/src/precomp.hpp
	modules/java/generator/src/cpp/Mat.cpp
	modules/legacy/src/precomp.hpp
	modules/ml/doc/k_nearest_neighbors.rst
	modules/ml/src/precomp.hpp
	modules/nonfree/doc/feature_detection.rst
	modules/nonfree/src/precomp.hpp
	modules/objdetect/include/opencv2/objdetect/objdetect.hpp
	modules/objdetect/src/cascadedetect.cpp
	modules/objdetect/src/hog.cpp
	modules/objdetect/src/precomp.hpp
	modules/objdetect/test/test_latentsvmdetector.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/opencl/objdetect_hog.cl
	modules/ocl/src/precomp.hpp
	modules/photo/src/precomp.hpp
	modules/stitching/src/precomp.hpp
	modules/superres/perf/perf_precomp.hpp
	modules/superres/src/optical_flow.cpp
	modules/superres/src/precomp.hpp
	modules/superres/test/test_precomp.hpp
	modules/ts/include/opencv2/ts.hpp
	modules/video/src/precomp.hpp
	modules/videostab/src/precomp.hpp
	modules/world/src/precomp.hpp
2013-08-06 13:56:49 +04:00
StevenPuttemans
f28496c628 Added sample links in documentation for python2, ocl and gpu 2013-08-02 14:05:08 +02:00
Andrey Pavlenko
0851766806 Merge pull request #1121 from pengx17:2.4_gftt_perf_test 2013-07-30 18:40:10 +04:00
Andrey Pavlenko
f7ce70f70a Merge pull request #1110 from SpecLad:config-cleanup 2013-07-30 17:39:35 +04:00
Andrey Pavlenko
cd62f9f7cb Merge pull request #1164 from bitwangyaoyao:master_fixHaar 2013-07-30 16:14:24 +04:00
peng xiao
8b90cb375a Fix doc build error. 2013-07-30 14:12:22 +08:00
peng xiao
892c088e1b Some modifications to sortByKey API.
Add documentation.
2013-07-30 11:53:25 +08:00
peng xiao
a6d558042c Fix build errors 2013-07-26 14:32:37 +08:00
yao
270b2c7918 generating the lut table instead of hard coding one 2013-07-26 11:17:27 +08:00
yao
3d3e9ab635 Fix the problem of haar caused by merge 2013-07-22 17:53:56 +08:00
Andrey Pavlenko
aaf47578e8 Merge pull request #1155 from bitwangyaoyao:master_fix 2013-07-21 18:50:39 +04:00
yao
18f71fd410 Warning fixes 2013-07-19 14:36:41 +08:00
peng xiao
e1f43e3b03 Add sort_by_key for oclMat.
Most codes are ported from AMD's Bolt library.
Four methods are implemented:

SORT_BITONIC,   // only support power-of-2 buffer size
SORT_SELECTION, // cannot sort duplicate keys
SORT_MERGE,
SORT_RADIX      // only support signed int/float keys
2013-07-18 17:25:00 +08:00
yao
f1060ac514 a little simplify to pyrlk kernel 2013-07-17 14:35:44 +08:00
Roman Donchenko
feaa12a274 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/core/include/opencv2/core/version.hpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/initialization.cpp
	modules/ocl/test/main.cpp
	modules/superres/CMakeLists.txt
	modules/superres/src/input_array_utility.cpp
	modules/superres/src/input_array_utility.hpp
	modules/superres/src/optical_flow.cpp
2013-07-16 11:52:41 +04:00
peng xiao
ff73557304 Fix compilation error on Mac 2013-07-16 08:48:09 +08:00
peng xiao
e5c396bb24 Add ocl::gftt performance test. 2013-07-15 16:27:27 +08:00
yao
cdd9234fae fix hog mismatch on cpu ocl 2013-07-15 15:13:09 +08:00
Andrey Pavlenko
d1fe1a62c3 Merge pull request #1106 from pengx17:2.4_gftt_rename 2013-07-11 11:41:37 +04:00
Roman Donchenko
241e2d2360 Merge pull request #1077 from bitwangyaoyao:2.4_kmeans 2013-07-10 18:32:14 +04:00
Roman Donchenko
ac39bfb4cc Remove HAVE_CVCONFIG_H - it's always defined. 2013-07-10 16:02:07 +04:00
peng xiao
5032240c9d Fix ocl gftt file name typo. 2013-07-10 14:51:40 +08:00
Andrey Pavlenko
fcb4c0e51c fixing working with test data and a small fix for init code
- set init value for `numsdev` to prevent use of uninitialized value
- stop use of 'workdir' and files from samples
- forcing use of 'opencv_extra' instead
Note: set OPENCV_TEST_DATA_PATH to full path to 'opencv_extra/testdata' (gitolite@code.opencv.org:opencv_extra.git) before running the test!
2013-07-09 13:25:21 +04:00
Roman Donchenko
c05bfe9d6d Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/ocl/src/opencl/stereobp.cl
	modules/ocl/src/stereobp.cpp
2013-07-08 18:47:38 +04:00
yao
88ed74a7ec fix the function name 2013-07-05 08:59:21 +08:00
Roman Donchenko
a2d576c1bb Merge pull request #1085 from bitwangyaoyao:2.4_optBP 2013-07-04 17:24:21 +04:00
Jin Ma
97e620b8f3 Fix oclMat constructor when roi is provided. 2013-07-04 16:14:55 +08:00
yao
f2333e90f6 optimize stereoBP kernel 2013-07-04 14:46:38 +08:00
yao
c23510785b remove the redundant function 2013-07-04 08:59:42 +08:00
Roman Donchenko
4cf9990d4e Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	doc/tutorials/definitions/noContent.rst
	doc/tutorials/gpu/gpu-basics-similarity/gpu-basics-similarity.rst
	doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.rst
	doc/tutorials/introduction/how_to_write_a_tutorial/how_to_write_a_tutorial.rst
	modules/core/include/opencv2/core/core.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/include/opencv2/core/version.hpp
	modules/gpu/CMakeLists.txt
	modules/highgui/perf/perf_output.cpp
	modules/highgui/test/test_video_io.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/main.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/initialization.cpp
	modules/ocl/src/moments.cpp
	modules/ocl/src/opencl/moments.cl
	modules/ocl/test/main.cpp
	modules/ocl/test/test_moments.cpp
	modules/python/test/test.py
	modules/ts/include/opencv2/ts/ts_perf.hpp
	modules/ts/src/precomp.hpp
	modules/ts/src/ts_perf.cpp
2013-07-03 19:53:21 +04:00
yao
8d8dc29ced add kmeans 2013-07-03 13:13:04 +08:00
Roman Donchenko
6bf8f474fa Merge pull request #1051 from pengx17:2.4_fback_ocl 2013-07-01 13:45:43 +04:00
Roman Donchenko
c8cd2cf601 Merge pull request #1061 from bitwangyaoyao:2.4_fix2 2013-07-01 13:21:12 +04:00
Roman Donchenko
087bab6ceb Merge pull request #1060 from pengx17:2.4_setbinary_fix 2013-07-01 13:20:51 +04:00
Roman Donchenko
38cf0a692e Merge pull request #1055 from pengx17:2.4_ocl_hang_workaround 2013-07-01 13:20:04 +04:00
yao
c66e27d49e stereoBM fix an error on Linux when running full performance test 2013-06-28 17:45:39 +08:00
yao
c1a59b8d80 more fix to HOG 2013-06-28 13:38:58 +08:00
yao
f1d9680ba8 format the ocl's samples name 2013-06-28 11:44:43 +08:00
yao
587fb4940d some accuracy fix of HOG 2013-06-28 11:43:43 +08:00
peng xiao
a5383b8627 Move function definition from header to cpp. 2013-06-28 10:52:39 +08:00
peng xiao
e858a6c347 Renew function logic. 2013-06-28 10:39:09 +08:00
peng xiao
14dd345cdf Fix ocl::setBinaryDiskCache
Previously the function requires Info::Impl implicitly. A call will create
new Context this function which is not intended.
The properties are now moved to global scope to fix this issue.
2013-06-28 10:12:18 +08:00
Roman Donchenko
f477696cc5 Merge pull request #1050 from pengx17:2.4_clach_mod 2013-06-27 12:22:01 +04:00
peng xiao
b2da1cdcc2 Temporarily disable command queue release as it causes program hang at exit 2013-06-27 10:20:21 +08:00
peng xiao
fc64faa22e Remove empty cv::ocl::CLAHE class. 2013-06-27 10:06:37 +08:00
peng xiao
dcc4766129 Fix white-spacing 2013-06-27 09:57:42 +08:00
Roman Donchenko
bf6b119a3f Merge pull request #1045 from bitwangyaoyao:2.4_fix 2013-06-26 16:55:06 +04:00
Roman Donchenko
5b2b76763e Fix miscellaneous warnings from compiling with MinGW.
Note that MinGW defines NOMINMAX by default.
2013-06-26 14:59:00 +04:00
peng xiao
9270205947 Fix build errors 2013-06-26 17:24:09 +08:00
yao
2ec1140b25 fix pyrlk 2013-06-26 16:58:20 +08:00
peng xiao
132b885b24 Add opencl implementation of Farnback optical flow. 2013-06-26 16:35:19 +08:00
peng xiao
cc3fb3d182 Let CLAHE_OCL reuse cv::CLAHE abstract class. 2013-06-26 10:50:51 +08:00
Roman Donchenko
f36f8067bc Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/calib3d/include/opencv2/calib3d/calib3d.hpp
	modules/core/include/opencv2/core/core.hpp
	modules/core/include/opencv2/core/cuda/limits.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/src/matrix.cpp
	modules/nonfree/test/test_features2d.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/hog.cpp
	modules/ocl/test/test_haar.cpp
	modules/ocl/test/test_objdetect.cpp
	modules/ocl/test/test_pyrup.cpp
	modules/ts/src/precomp.hpp
	samples/ocl/facedetect.cpp
	samples/ocl/hog.cpp
	samples/ocl/pyrlk_optical_flow.cpp
	samples/ocl/surf_matcher.cpp
2013-06-25 15:55:52 +04:00
yao
1227e00f3d fix moments 2013-06-25 16:26:33 +08:00
yao
dbdeff2069 fix stereobm crash on some cpu ocl 2013-06-25 14:12:02 +08:00
yao
6db776f957 add "-c" for cpu ocl mode in perf tests 2013-06-25 14:11:28 +08:00
Roman Donchenko
3bab7391d0 Merge pull request #1028 from SpecLad:ocl-clahe-dtor 2013-06-24 13:18:28 +04:00
Roman Donchenko
171a56fe82 Merge pull request #1034 from pengx17:2.4_oclmat_inoutarray 2013-06-24 12:27:26 +04:00
Roman Donchenko
7cb047e2d9 Merge pull request #1031 from pengx17:2.4_fix_converTo 2013-06-24 12:25:48 +04:00
Roman Donchenko
4ed3d33dd7 Merge pull request #1025 from bitwangyaoyao:2.4_tests 2013-06-24 12:11:04 +04:00
peng xiao
290c8db0a8 Revise naming for getOclMat function. 2013-06-21 14:51:23 +08:00
peng xiao
e129638263 Add a workaround to interpolate between oclMat and Input/OutputArray. 2013-06-21 14:05:29 +08:00
peng xiao
c1f4fe1637 Fix a bug of convertTo.
The bug was found that all 3-channel oclMat's were converted to
4-channel oclMat's after using convertTo function.
2013-06-20 11:26:22 +08:00
Roman Donchenko
1ed5fb937d Give cv::ocl::CLAHE a virtual destructor, for the usual reasons. 2013-06-19 15:39:11 +04:00
Roman Donchenko
13cd0a0502 Merge remote-tracking branch 'origin/2.4'
Original pull requests:
	#996 from jet47:gpu-nvcuvid-libraries
	#995 from jet47:fix-bug-2985
	#999 from snosov1:unreliable-results-fix
	#1005 from alekcac:doc_fix
	#1004 from jet47:fix-bug-3068
	#987 from jet47:bug-3085-fix
	#969 from pengx17:2.4_binary_cache
	#929 from dominikrose:mingw-libdc1394-2-windows
	#1000 from ivan-korolev:fix_sift_bug_2892
	#1001 from ivan-korolev:fix_stitching_bug_2405
	#998 from asmorkalov:android_cmake_mips_fix
	#993 from ivan-korolev:fix_videostab_bug_3023
	#988 from snosov1:3071-fix
	#986 from pengx17:2.4_initiated_context
	#982 from pengx17:2.4_fix_two_bugs
	#981 from SeninAndrew:ximea_camera_support_fix
	#991 from asmorkalov:android_javadoc_fix
	#972 from jet47:mog2-params-bug-2168
	#980 from SpecLad:include-config
	#973 from pengx17:2.4_oclclahe
	#903 from aks2:2.4
	#968 from asmorkalov:android_na_cproj_fix
	#971 from SpecLad:matchers-ctor
	#970 from asmorkalov:dshow_valid_check_fix
	#965 from apavlenko:fix_java_empty_mats

Conflicts:
	cmake/OpenCVModule.cmake
	modules/core/src/matmul.cpp
	modules/gpu/CMakeLists.txt
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_imgproc.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/initialization.cpp
	modules/stitching/src/matchers.cpp
	modules/video/src/video_init.cpp
	modules/videostab/src/global_motion.cpp
2013-06-19 15:25:37 +04:00
yao
2c198f6cd6 revise accuracy and perf tests 2013-06-19 13:03:35 +08:00
yao
26c246140a optimize hog 2013-06-19 11:20:45 +08:00
Roman Donchenko
47ea0614dc Merge pull request #969 from pengx17:2.4_binary_cache 2013-06-14 15:47:23 +04:00
peng xiao
e6b18fc492 Fix a bug caused by NDEBUG macro; it is now removed.
Revise some descriptions of the enums.
2013-06-14 16:37:00 +08:00
Roman Donchenko
b725cbf73f Merge pull request #986 from pengx17:2.4_initiated_context 2013-06-13 16:55:56 +04:00
peng xiao
5fd724b54a Add a function to query if global OpenCL context is initialized. 2013-06-13 10:46:12 +08:00
Peng Xiao
d9ab22e4ed Fix two bugs related to opencl context.
1. As getDevice will implicitly call setDevice, in getContext we should not need to call it again.
2. Fix an incorrect type casting.
2013-06-12 13:55:20 +08:00
Peng Xiao
c8398c9fdc Use anonymous enumerations instead of constants 2013-06-11 20:32:55 +08:00
Roman Donchenko
3bfc69740b Merge remote-tracking branch 'origin/2.4' into merge-2.4
Merged pull requests:
	#890 from caorong:patch-1
	#893 from jet47:gpu-arm-fixes
	#933 from pengx17:2.4_macfix_cont
	#935 from pengx17:2.4_filter2d_fix
	#936 from bitwangyaoyao:2.4_perf
	#937 from bitwangyaoyao:2.4_fixPyrLK
	#938 from pengx17:2.4_surf_sample
	#939 from pengx17:2.4_getDevice
	#940 from SpecLad:autolock
	#941 from apavlenko:signed_char
	#946 from bitwangyaoyao:2.4_samples2
	#947 from jet47:fix-gpu-arm-build
	#948 from jet47:cuda-5.5-support
	#952 from SpecLad:jepg
	#953 from jet47:fix-bug-3069
	#955 from SpecLad:symlink
	#957 from pengx17:2.4_fix_corner_detector
	#959 from SpecLad:qt4-build
	#960 from SpecLad:extra-modules

Conflicts:
	modules/core/include/opencv2/core/core.hpp
	modules/gpu/CMakeLists.txt
	modules/gpu/include/opencv2/gpu/device/vec_math.hpp
	modules/gpu/perf/perf_video.cpp
	modules/gpuimgproc/src/cuda/hough.cu
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/pyrlk.cpp
	samples/gpu/driver_api_multi.cpp
	samples/gpu/driver_api_stereo_multi.cpp
	samples/ocl/surf_matcher.cpp
2013-06-10 18:18:01 +04:00
Peng Xiao
1d8cd3a717 Add ocl CLACH implementation.
Test cases (accuracy and performance) are provided.
2013-06-10 18:37:48 +08:00