Skip to content

Add RISC-V HAL implementation for cv::cvtColor#27007

Merged
asmorkalov merged 29 commits intoopencv:4.xfrom
amane-ame:color_hal_rvv
Mar 7, 2025
Merged

Add RISC-V HAL implementation for cv::cvtColor#27007
asmorkalov merged 29 commits intoopencv:4.xfrom
amane-ame:color_hal_rvv

Conversation

@amane-ame
Copy link
Copy Markdown
Contributor

@amane-ame amane-ame commented Mar 3, 2025

This patch implements the following functions in RVV_HAL using native intrinsics, optimizing the performance of cv::cvtColor for all possible data types and modes (except for COLOR_Bayer, COLOR_YUV2GRAY_420 and COLOR_mRGBA, as these modes have no HAL interface):

cv_hal_cvtBGRtoBGR
cv_hal_cvtBGRtoBGR5x5
cv_hal_cvtBGR5x5toBGR
cv_hal_cvtBGRtoGray
cv_hal_cvtGraytoBGR
cv_hal_cvtBGR5x5toGray
cv_hal_cvtGraytoBGR5x5
cv_hal_cvtBGRtoYUV
cv_hal_cvtYUVtoBGR
cv_hal_cvtBGRtoXYZ
cv_hal_cvtXYZtoBGR
cv_hal_cvtBGRtoHSV
cv_hal_cvtHSVtoBGR
cv_hal_cvtBGRtoLab
cv_hal_cvtLabtoBGR
cv_hal_cvtTwoPlaneYUVtoBGR
cv_hal_cvtBGRtoTwoPlaneYUV
cv_hal_cvtThreePlaneYUVtoBGR
cv_hal_cvtBGRtoThreePlaneYUV
cv_hal_cvtOnePlaneYUVtoBGR
cv_hal_cvtOnePlaneBGRtoYUV

Tested on MUSE-PI (Spacemit X60) for both gcc 14.2 and clang 20.0.

$ ./opencv_test_imgproc --gtest_filter="*Color*-*Bayer*"
$ ./opencv_perf_imgproc --gtest_filter="*Color*-*Bayer*" --gtest_also_run_disabled_tests --perf_min_samples=100 --perf_force_samples=100

View the full perf table here: hal_rvv_color.pdf

Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

  • I agree to contribute to the project under Apache 2 License.
  • To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
  • The PR is proposed to the proper branch
  • There is a reference to the original bug report and related work
  • There is accuracy test, performance test and test data in opencv_extra repository, if applicable
    Patch to opencv_extra has the same branch name.
  • The feature is well documented and sample code can be built with the project CMake

amane-ame and others added 27 commits February 22, 2025 19:15
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
@asmorkalov
Copy link
Copy Markdown
Contributor

asmorkalov commented Mar 4, 2025

I tried the PR with Spacemit Muse PI v 30 (GCC 14.2) and see several regressions:

[ RUN      ] Size_CvtMode_cvtColor8u.cvtColor8u/17, where GetParam() = (127x61, COLOR_BGR5552GRAY)
/mnt/Projects/Projects/opencv/modules/ts/src/ts_perf.cpp:366: Failure
The difference between expect_min and actual_min is 3, which exceeds eps, where
expect_min evaluates to 3,
actual_min evaluates to 0, and
eps evaluates to 1.
Argument "dst" has unexpected minimal value

params    = (127x61, COLOR_BGR5552GRAY)
termination reason:  unknown
bytesIn   =      15494
bytesOut  =       7747
samples   =         10 of 100
outliers  =          0
frequency = 1000000000
min       =      13730 = 0.01ms
median    =      13776 = 0.01ms
gmean     =      13905 = 0.01ms
gstddev   = 0.02074315 = 0.00ms for 97% dispersion interval
mean      =      13908 = 0.01ms
stddev    =        295 = 0.00ms
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/17, where GetParam() = (127x61, COLOR_BGR5552GRAY) (15 ms)
...
[ RUN      ] Size_CvtMode_cvtColor8u.cvtColor8u/22, where GetParam() = (127x61, COLOR_BGR5652GRAY)
/mnt/Projects/Projects/opencv/modules/ts/src/ts_perf.cpp:366: Failure
The difference between expect_min and actual_min is 3, which exceeds eps, where
expect_min evaluates to 3,
actual_min evaluates to 0, and
eps evaluates to 1.
Argument "dst" has unexpected minimal value

params    = (127x61, COLOR_BGR5652GRAY)
termination reason:  unknown
bytesIn   =      15494
bytesOut  =       7747
samples   =         10 of 100
outliers  =          0
frequency = 1000000000
min       =      13728 = 0.01ms
median    =      13785 = 0.01ms
gmean     =      13858 = 0.01ms
gstddev   = 0.01086471 = 0.00ms for 97% dispersion interval
mean      =      13859 = 0.01ms
stddev    =        151 = 0.00ms
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/22, where GetParam() = (127x61, COLOR_BGR5652GRAY) (15 ms)
[ RUN      ] Size_CvtMode_cvtColor8u.cvtColor8u/245, where GetParam() = (1920x1080, COLOR_BGR2HLS_FULL)
/mnt/Projects/Projects/opencv/modules/ts/src/ts_perf.cpp:405: Failure
The difference between expect_rng2 and actual_rng2 is 2, which exceeds eps, where
expect_rng2 evaluates to 187,
actual_rng2 evaluates to 185, and
eps evaluates to 1.
Argument "dst" has unexpected value of the [1035:371:2] element

params    = (1920x1080, COLOR_BGR2HLS_FULL)
termination reason:  unknown
bytesIn   =    6220800
bytesOut  =    6220800
samples   =         10 of 100
outliers  =          0
frequency = 1000000000
min       =    4273782 = 4.27ms
median    =    4341096 = 4.34ms
gmean     =    4381266 = 4.38ms
gstddev   = 0.02864127 = 0.75ms for 97% dispersion interval
mean      =    4382906 = 4.38ms
stddev    =     128173 = 0.13ms
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/245, where GetParam() = (1920x1080, COLOR_BGR2HLS_FULL) (276 ms)
[----------] 1 test from Size_CvtMode_cvtColor8u (277 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (279 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/245, where GetParam() = (1920x1080, COLOR_BGR2HLS_FULL)

Fails summary:

[  FAILED  ] 7 tests, listed below:
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/17, where GetParam() = (127x61, COLOR_BGR5552GRAY)
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/22, where GetParam() = (127x61, COLOR_BGR5652GRAY)
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/137, where GetParam() = (640x480, COLOR_BGR5552GRAY)
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/142, where GetParam() = (640x480, COLOR_BGR5652GRAY)
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/245, where GetParam() = (1920x1080, COLOR_BGR2HLS_FULL)
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/257, where GetParam() = (1920x1080, COLOR_BGR5552GRAY)
[  FAILED  ] Size_CvtMode_cvtColor8u.cvtColor8u/262, where GetParam() = (1920x1080, COLOR_BGR5652GRAY)

@amane-ame amane-ame force-pushed the color_hal_rvv branch 3 times, most recently from 9eab8d6 to 64b34ca Compare March 5, 2025 02:44
@amane-ame amane-ame closed this Mar 5, 2025
@amane-ame amane-ame reopened this Mar 5, 2025
amane-ame and others added 2 commits March 5, 2025 11:47
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
@amane-ame
Copy link
Copy Markdown
Contributor Author

@asmorkalov Fixed.

@asmorkalov
Copy link
Copy Markdown
Contributor

The issue fixed.
New performance numbers for MusePi v 30 (gcc 14.2):

Details
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2BGR555) 	0.046 	0.014 	3.17
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2BGR565) 	0.045 	0.016 	2.87
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2BGRA) 	0.044 	0.011 	3.92
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2GRAY) 	0.078 	0.015 	5.34
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2HLS) 	0.419 	0.124 	3.39
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2HLS_FULL) 	0.419 	0.124 	3.38
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2HSV) 	0.258 	0.104 	2.49
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2HSV_FULL) 	0.258 	0.104 	2.49
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2Lab) 	0.295 	0.109 	2.70
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2Luv) 	2.404 	2.164 	1.11
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2RGB) 	0.038 	0.011 	3.62
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2RGBA) 	0.044 	0.010 	4.45
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2XYZ) 	0.195 	0.031 	6.28
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2YCrCb) 	0.220 	0.033 	6.63
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2YUV) 	0.221 	0.032 	6.81
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5552BGR) 	0.039 	0.012 	3.26
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5552BGRA) 	0.048 	0.013 	3.81
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5552GRAY) 	0.054 	0.014 	3.93
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5552RGB) 	0.039 	0.012 	3.11
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5552RGBA) 	0.048 	0.013 	3.66
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5652BGR) 	0.042 	0.015 	2.88
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5652BGRA) 	0.045 	0.013 	3.49
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5652GRAY) 	0.053 	0.014 	3.90
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5652RGB) 	0.042 	0.015 	2.70
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR5652RGBA) 	0.045 	0.014 	3.28
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGRA2BGR555) 	0.063 	0.020 	3.22
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGRA2BGR565) 	0.058 	0.019 	3.02
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGRA2BGR) 	0.039 	0.012 	3.15
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGRA2GRAY) 	0.080 	0.015 	5.16
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGRA2RGBA) 	0.047 	0.016 	3.01
cvtColor8u::Size_CvtMode::(127x61, COLOR_GRAY2BGR555) 	0.008 	0.006 	1.28
cvtColor8u::Size_CvtMode::(127x61, COLOR_GRAY2BGR565) 	0.009 	0.007 	1.26
cvtColor8u::Size_CvtMode::(127x61, COLOR_GRAY2BGR) 	0.023 	0.005 	5.03
cvtColor8u::Size_CvtMode::(127x61, COLOR_GRAY2BGRA) 	0.027 	0.005 	5.42
cvtColor8u::Size_CvtMode::(127x61, COLOR_HLS2BGR) 	0.485 	0.123 	3.94
cvtColor8u::Size_CvtMode::(127x61, COLOR_HLS2BGR_FULL) 	0.485 	0.123 	3.93
cvtColor8u::Size_CvtMode::(127x61, COLOR_HLS2RGB) 	0.485 	0.121 	4.02
cvtColor8u::Size_CvtMode::(127x61, COLOR_HLS2RGB_FULL) 	0.485 	0.120 	4.03
cvtColor8u::Size_CvtMode::(127x61, COLOR_HSV2BGR) 	0.587 	0.120 	4.90
cvtColor8u::Size_CvtMode::(127x61, COLOR_HSV2BGR_FULL) 	0.585 	0.120 	4.90
cvtColor8u::Size_CvtMode::(127x61, COLOR_HSV2RGB) 	0.586 	0.116 	5.06
cvtColor8u::Size_CvtMode::(127x61, COLOR_HSV2RGB_FULL) 	0.585 	0.116 	5.06
cvtColor8u::Size_CvtMode::(127x61, COLOR_LBGR2Lab) 	0.295 	0.077 	3.85
cvtColor8u::Size_CvtMode::(127x61, COLOR_LBGR2Luv) 	1.134 	0.163 	6.96
cvtColor8u::Size_CvtMode::(127x61, COLOR_LRGB2Lab) 	0.295 	0.077 	3.84
cvtColor8u::Size_CvtMode::(127x61, COLOR_LRGB2Luv) 	1.134 	0.161 	7.04
cvtColor8u::Size_CvtMode::(127x61, COLOR_Lab2BGR) 	0.742 	0.153 	4.86
cvtColor8u::Size_CvtMode::(127x61, COLOR_Lab2LBGR) 	0.677 	0.125 	5.42
cvtColor8u::Size_CvtMode::(127x61, COLOR_Lab2LRGB) 	0.673 	0.127 	5.31
cvtColor8u::Size_CvtMode::(127x61, COLOR_Lab2RGB) 	0.738 	0.151 	4.89
cvtColor8u::Size_CvtMode::(127x61, COLOR_Luv2BGR) 	3.098 	0.822 	3.77
cvtColor8u::Size_CvtMode::(127x61, COLOR_Luv2LBGR) 	2.994 	0.697 	4.29
cvtColor8u::Size_CvtMode::(127x61, COLOR_Luv2LRGB) 	2.991 	0.694 	4.31
cvtColor8u::Size_CvtMode::(127x61, COLOR_Luv2RGB) 	3.095 	0.819 	3.78
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2BGR555) 	0.045 	0.016 	2.90
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2BGR565) 	0.045 	0.016 	2.79
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2GRAY) 	0.079 	0.014 	5.48
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2HLS) 	0.426 	0.121 	3.51
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2HLS_FULL) 	0.426 	0.122 	3.50
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2HSV) 	0.258 	0.102 	2.53
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2HSV_FULL) 	0.258 	0.102 	2.54
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2Lab) 	0.295 	0.108 	2.72
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2Luv) 	2.380 	2.125 	1.12
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2XYZ) 	0.195 	0.027 	7.18
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2YCrCb) 	0.220 	0.030 	7.30
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2YUV) 	0.220 	0.030 	7.39
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGBA2BGR555) 	0.063 	0.021 	2.96
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGBA2BGR565) 	0.058 	0.019 	3.03
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGBA2BGR) 	0.039 	0.012 	3.25
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGBA2GRAY) 	0.080 	0.016 	5.06
cvtColor8u::Size_CvtMode::(127x61, COLOR_XYZ2BGR) 	0.219 	0.031 	7.12
cvtColor8u::Size_CvtMode::(127x61, COLOR_XYZ2RGB) 	0.219 	0.028 	7.81
cvtColor8u::Size_CvtMode::(127x61, COLOR_YCrCb2BGR) 	0.148 	0.031 	4.71
cvtColor8u::Size_CvtMode::(127x61, COLOR_YCrCb2RGB) 	0.149 	0.029 	5.21
cvtColor8u::Size_CvtMode::(127x61, COLOR_YUV2BGR) 	0.149 	0.032 	4.70
cvtColor8u::Size_CvtMode::(127x61, COLOR_YUV2RGB) 	0.149 	0.029 	5.05
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2HLS) 	0.447 	0.114 	3.91
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2HLS_FULL) 	0.446 	0.114 	3.90
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2HSV) 	0.267 	0.089 	3.01
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2HSV_FULL) 	0.267 	0.089 	3.01
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2Lab) 	0.301 	0.106 	2.83
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2Luv) 	2.463 	2.228 	1.11
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2XYZ) 	0.195 	0.028 	6.91
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2YCrCb) 	0.243 	0.031 	7.96
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2YUV) 	0.243 	0.030 	8.03
cvtColor8u::Size_CvtMode::(127x61, CX_HLS2BGRA) 	0.444 	0.123 	3.62
cvtColor8u::Size_CvtMode::(127x61, CX_HLS2BGRA_FULL) 	0.444 	0.123 	3.62
cvtColor8u::Size_CvtMode::(127x61, CX_HLS2RGBA) 	0.443 	0.119 	3.72
cvtColor8u::Size_CvtMode::(127x61, CX_HLS2RGBA_FULL) 	0.443 	0.119 	3.72
cvtColor8u::Size_CvtMode::(127x61, CX_HSV2BGRA) 	0.589 	0.117 	5.04
cvtColor8u::Size_CvtMode::(127x61, CX_HSV2BGRA_FULL) 	0.588 	0.117 	5.04
cvtColor8u::Size_CvtMode::(127x61, CX_HSV2RGBA) 	0.588 	0.119 	4.93
cvtColor8u::Size_CvtMode::(127x61, CX_HSV2RGBA_FULL) 	0.588 	0.119 	4.93
cvtColor8u::Size_CvtMode::(127x61, CX_LBGRA2Lab) 	0.301 	0.079 	3.81
cvtColor8u::Size_CvtMode::(127x61, CX_LBGRA2Luv) 	1.135 	0.161 	7.06
cvtColor8u::Size_CvtMode::(127x61, CX_LRGBA2Lab) 	0.301 	0.078 	3.84
cvtColor8u::Size_CvtMode::(127x61, CX_LRGBA2Luv) 	1.135 	0.162 	7.03
cvtColor8u::Size_CvtMode::(127x61, CX_Lab2BGRA) 	0.731 	0.161 	4.54
cvtColor8u::Size_CvtMode::(127x61, CX_Lab2LBGRA) 	0.672 	0.129 	5.20
cvtColor8u::Size_CvtMode::(127x61, CX_Lab2LRGBA) 	0.668 	0.134 	5.00
cvtColor8u::Size_CvtMode::(127x61, CX_Lab2RGBA) 	0.727 	0.160 	4.55
cvtColor8u::Size_CvtMode::(127x61, CX_Luv2BGRA) 	3.122 	0.784 	3.98
cvtColor8u::Size_CvtMode::(127x61, CX_Luv2LBGRA) 	3.018 	0.658 	4.59
cvtColor8u::Size_CvtMode::(127x61, CX_Luv2LRGBA) 	3.013 	0.653 	4.61
cvtColor8u::Size_CvtMode::(127x61, CX_Luv2RGBA) 	3.114 	0.781 	3.99
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2HLS) 	0.449 	0.117 	3.84
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2HLS_FULL) 	0.449 	0.117 	3.85
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2HSV) 	0.266 	0.091 	2.92
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2HSV_FULL) 	0.266 	0.091 	2.92
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2Lab) 	0.301 	0.105 	2.86
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2Luv) 	2.449 	2.196 	1.12
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2XYZ) 	0.195 	0.029 	6.82
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2YCrCb) 	0.243 	0.033 	7.39
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2YUV) 	0.244 	0.033 	7.46
cvtColor8u::Size_CvtMode::(127x61, CX_XYZ2BGRA) 	0.227 	0.032 	6.99
cvtColor8u::Size_CvtMode::(127x61, CX_XYZ2RGBA) 	0.227 	0.029 	7.77
cvtColor8u::Size_CvtMode::(127x61, CX_YCrCb2BGRA) 	0.155 	0.031 	4.98
cvtColor8u::Size_CvtMode::(127x61, CX_YCrCb2RGBA) 	0.156 	0.033 	4.69
cvtColor8u::Size_CvtMode::(127x61, CX_YUV2BGRA) 	0.156 	0.034 	4.66
cvtColor8u::Size_CvtMode::(127x61, CX_YUV2RGBA) 	0.157 	0.034 	4.63
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2BGR555) 	0.238 	0.236 	1.01
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2BGR565) 	0.237 	0.238 	1.00
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2BGRA) 	0.749 	0.349 	2.14
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2GRAY) 	0.646 	0.156 	4.13
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2HLS) 	1.429 	1.067 	1.34
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2HLS_FULL) 	1.428 	1.070 	1.33
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2HSV) 	1.110 	0.886 	1.25
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2HSV_FULL) 	1.109 	0.889 	1.25
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2Lab) 	2.421 	1.145 	2.11
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2Luv) 	21.744 	20.776 	1.05
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2RGB) 	0.590 	0.316 	1.86
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2RGBA) 	0.750 	0.341 	2.20
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2XYZ) 	1.661 	0.391 	4.24
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2YCrCb) 	1.734 	0.400 	4.34
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR2YUV) 	1.734 	0.401 	4.32
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5552BGR) 	0.637 	0.241 	2.64
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5552BGRA) 	0.657 	0.293 	2.24
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5552GRAY) 	0.467 	0.129 	3.62
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5552RGB) 	0.633 	0.243 	2.61
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5552RGBA) 	0.649 	0.292 	2.22
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5652BGR) 	0.457 	0.253 	1.80
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5652BGRA) 	0.656 	0.294 	2.23
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5652GRAY) 	0.466 	0.130 	3.60
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5652RGB) 	0.455 	0.253 	1.80
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGR5652RGBA) 	0.644 	0.292 	2.21
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGRA2BGR555) 	0.289 	0.274 	1.06
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGRA2BGR565) 	0.274 	0.275 	1.00
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGRA2BGR) 	0.670 	0.342 	1.96
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGRA2GRAY) 	0.645 	0.214 	3.01
cvtColor8u::Size_CvtMode::(640x480, COLOR_BGRA2RGBA) 	0.861 	0.387 	2.22
cvtColor8u::Size_CvtMode::(640x480, COLOR_GRAY2BGR555) 	0.145 	0.143 	1.01
cvtColor8u::Size_CvtMode::(640x480, COLOR_GRAY2BGR565) 	0.146 	0.145 	1.01
cvtColor8u::Size_CvtMode::(640x480, COLOR_GRAY2BGR) 	0.363 	0.203 	1.79
cvtColor8u::Size_CvtMode::(640x480, COLOR_GRAY2BGRA) 	0.581 	0.245 	2.37
cvtColor8u::Size_CvtMode::(640x480, COLOR_HLS2BGR) 	3.027 	1.133 	2.67
cvtColor8u::Size_CvtMode::(640x480, COLOR_HLS2BGR_FULL) 	3.042 	1.129 	2.69
cvtColor8u::Size_CvtMode::(640x480, COLOR_HLS2RGB) 	3.037 	1.109 	2.74
cvtColor8u::Size_CvtMode::(640x480, COLOR_HLS2RGB_FULL) 	3.043 	1.108 	2.75
cvtColor8u::Size_CvtMode::(640x480, COLOR_HSV2BGR) 	2.119 	1.088 	1.95
cvtColor8u::Size_CvtMode::(640x480, COLOR_HSV2BGR_FULL) 	2.115 	1.097 	1.93
cvtColor8u::Size_CvtMode::(640x480, COLOR_HSV2RGB) 	2.113 	1.075 	1.97
cvtColor8u::Size_CvtMode::(640x480, COLOR_HSV2RGB_FULL) 	2.112 	1.068 	1.98
cvtColor8u::Size_CvtMode::(640x480, COLOR_LBGR2Lab) 	2.415 	0.899 	2.69
cvtColor8u::Size_CvtMode::(640x480, COLOR_LBGR2Luv) 	9.191 	1.528 	6.02
cvtColor8u::Size_CvtMode::(640x480, COLOR_LRGB2Lab) 	2.420 	0.897 	2.70
cvtColor8u::Size_CvtMode::(640x480, COLOR_LRGB2Luv) 	9.205 	1.498 	6.14
cvtColor8u::Size_CvtMode::(640x480, COLOR_Lab2BGR) 	12.547 	1.543 	8.13
cvtColor8u::Size_CvtMode::(640x480, COLOR_Lab2LBGR) 	10.856 	1.291 	8.41
cvtColor8u::Size_CvtMode::(640x480, COLOR_Lab2LRGB) 	10.807 	1.304 	8.29
cvtColor8u::Size_CvtMode::(640x480, COLOR_Lab2RGB) 	12.516 	1.539 	8.13
cvtColor8u::Size_CvtMode::(640x480, COLOR_Luv2BGR) 	22.948 	14.958 	1.53
cvtColor8u::Size_CvtMode::(640x480, COLOR_Luv2LBGR) 	21.287 	13.529 	1.57
cvtColor8u::Size_CvtMode::(640x480, COLOR_Luv2LRGB) 	21.247 	13.552 	1.57
cvtColor8u::Size_CvtMode::(640x480, COLOR_Luv2RGB) 	22.890 	15.005 	1.53
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2BGR555) 	0.235 	0.239 	0.98
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2BGR565) 	0.234 	0.240 	0.98
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2GRAY) 	0.643 	0.161 	4.00
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2HLS) 	1.449 	1.045 	1.39
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2HLS_FULL) 	1.450 	1.046 	1.39
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2HSV) 	1.115 	0.869 	1.28
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2HSV_FULL) 	1.114 	0.870 	1.28
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2Lab) 	2.418 	1.147 	2.11
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2Luv) 	21.710 	20.783 	1.04
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2XYZ) 	1.660 	0.371 	4.48
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2YCrCb) 	1.719 	0.385 	4.46
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGB2YUV) 	1.716 	0.386 	4.45
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGBA2BGR555) 	0.287 	0.270 	1.06
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGBA2BGR565) 	0.275 	0.275 	1.00
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGBA2BGR) 	0.671 	0.342 	1.96
cvtColor8u::Size_CvtMode::(640x480, COLOR_RGBA2GRAY) 	0.646 	0.212 	3.05
cvtColor8u::Size_CvtMode::(640x480, COLOR_XYZ2BGR) 	1.624 	0.395 	4.12
cvtColor8u::Size_CvtMode::(640x480, COLOR_XYZ2RGB) 	1.630 	0.384 	4.25
cvtColor8u::Size_CvtMode::(640x480, COLOR_YCrCb2BGR) 	0.924 	0.399 	2.32
cvtColor8u::Size_CvtMode::(640x480, COLOR_YCrCb2RGB) 	0.931 	0.380 	2.45
cvtColor8u::Size_CvtMode::(640x480, COLOR_YUV2BGR) 	0.946 	0.395 	2.39
cvtColor8u::Size_CvtMode::(640x480, COLOR_YUV2RGB) 	0.953 	0.383 	2.49
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2HLS) 	1.732 	0.982 	1.76
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2HLS_FULL) 	1.734 	0.995 	1.74
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2HSV) 	1.201 	0.762 	1.58
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2HSV_FULL) 	1.201 	0.761 	1.58
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2Lab) 	2.469 	1.119 	2.21
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2Luv) 	22.087 	21.200 	1.04
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2XYZ) 	1.640 	0.417 	3.93
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2YCrCb) 	2.061 	0.430 	4.79
cvtColor8u::Size_CvtMode::(640x480, CX_BGRA2YUV) 	2.060 	0.431 	4.78
cvtColor8u::Size_CvtMode::(640x480, CX_HLS2BGRA) 	2.771 	1.051 	2.64
cvtColor8u::Size_CvtMode::(640x480, CX_HLS2BGRA_FULL) 	2.767 	1.046 	2.65
cvtColor8u::Size_CvtMode::(640x480, CX_HLS2RGBA) 	2.779 	1.018 	2.73
cvtColor8u::Size_CvtMode::(640x480, CX_HLS2RGBA_FULL) 	2.770 	1.016 	2.73
cvtColor8u::Size_CvtMode::(640x480, CX_HSV2BGRA) 	2.131 	0.999 	2.13
cvtColor8u::Size_CvtMode::(640x480, CX_HSV2BGRA_FULL) 	2.130 	0.997 	2.14
cvtColor8u::Size_CvtMode::(640x480, CX_HSV2RGBA) 	2.126 	1.019 	2.09
cvtColor8u::Size_CvtMode::(640x480, CX_HSV2RGBA_FULL) 	2.128 	1.027 	2.07
cvtColor8u::Size_CvtMode::(640x480, CX_LBGRA2Lab) 	2.475 	0.918 	2.70
cvtColor8u::Size_CvtMode::(640x480, CX_LBGRA2Luv) 	9.244 	1.561 	5.92
cvtColor8u::Size_CvtMode::(640x480, CX_LRGBA2Lab) 	2.468 	0.912 	2.71
cvtColor8u::Size_CvtMode::(640x480, CX_LRGBA2Luv) 	9.237 	1.564 	5.91
cvtColor8u::Size_CvtMode::(640x480, CX_Lab2BGRA) 	12.574 	1.328 	9.47
cvtColor8u::Size_CvtMode::(640x480, CX_Lab2LBGRA) 	10.874 	1.085 	10.02
cvtColor8u::Size_CvtMode::(640x480, CX_Lab2LRGBA) 	10.851 	1.093 	9.93
cvtColor8u::Size_CvtMode::(640x480, CX_Lab2RGBA) 	12.521 	1.313 	9.54
cvtColor8u::Size_CvtMode::(640x480, CX_Luv2BGRA) 	23.156 	14.884 	1.56
cvtColor8u::Size_CvtMode::(640x480, CX_Luv2LBGRA) 	21.510 	13.474 	1.60
cvtColor8u::Size_CvtMode::(640x480, CX_Luv2LRGBA) 	21.432 	13.448 	1.59
cvtColor8u::Size_CvtMode::(640x480, CX_Luv2RGBA) 	23.092 	14.890 	1.55
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2HLS) 	1.753 	1.016 	1.73
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2HLS_FULL) 	1.755 	1.006 	1.74
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2HSV) 	1.199 	0.783 	1.53
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2HSV_FULL) 	1.194 	0.783 	1.52
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2Lab) 	2.468 	1.129 	2.19
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2Luv) 	22.070 	21.209 	1.04
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2XYZ) 	1.641 	0.416 	3.95
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2YCrCb) 	2.070 	0.439 	4.71
cvtColor8u::Size_CvtMode::(640x480, CX_RGBA2YUV) 	2.070 	0.440 	4.70
cvtColor8u::Size_CvtMode::(640x480, CX_XYZ2BGRA) 	1.721 	0.397 	4.33
cvtColor8u::Size_CvtMode::(640x480, CX_XYZ2RGBA) 	1.724 	0.386 	4.47
cvtColor8u::Size_CvtMode::(640x480, CX_YCrCb2BGRA) 	1.029 	0.390 	2.64
cvtColor8u::Size_CvtMode::(640x480, CX_YCrCb2RGBA) 	1.039 	0.400 	2.60
cvtColor8u::Size_CvtMode::(640x480, CX_YUV2BGRA) 	1.058 	0.393 	2.69
cvtColor8u::Size_CvtMode::(640x480, CX_YUV2RGBA) 	1.067 	0.405 	2.64
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2BGR555) 	1.667 	1.663 	1.00
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2BGR565) 	1.674 	1.658 	1.01
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2BGRA) 	4.760 	2.480 	1.92
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2GRAY) 	2.783 	1.533 	1.82
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2HLS) 	6.125 	4.273 	1.43
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2HLS_FULL) 	6.163 	4.271 	1.44
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2HSV) 	4.852 	3.666 	1.32
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2HSV_FULL) 	4.863 	3.705 	1.31
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2Lab) 	10.306 	4.797 	2.15
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2Luv) 	87.922 	80.622 	1.09
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2RGB) 	3.669 	2.149 	1.71
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2RGBA) 	4.784 	2.509 	1.91
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2XYZ) 	6.998 	2.474 	2.83
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2YCrCb) 	7.302 	2.466 	2.96
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR2YUV) 	7.294 	2.470 	2.95
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5552BGR) 	3.742 	1.724 	2.17
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5552BGRA) 	4.505 	2.083 	2.16
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5552GRAY) 	2.104 	1.294 	1.63
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5552RGB) 	3.767 	1.730 	2.18
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5552RGBA) 	4.533 	2.095 	2.16
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5652BGR) 	3.455 	1.730 	2.00
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5652BGRA) 	4.567 	2.108 	2.17
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5652GRAY) 	2.256 	1.292 	1.75
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5652RGB) 	3.452 	1.737 	1.99
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGR5652RGBA) 	4.541 	2.085 	2.18
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGRA2BGR555) 	1.993 	1.923 	1.04
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGRA2BGR565) 	1.951 	1.918 	1.02
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGRA2BGR) 	3.857 	2.449 	1.57
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGRA2GRAY) 	2.763 	1.898 	1.46
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_BGRA2RGBA) 	5.215 	2.792 	1.87
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_GRAY2BGR555) 	1.019 	1.073 	0.95
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_GRAY2BGR565) 	1.017 	1.058 	0.96
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_GRAY2BGR) 	3.418 	1.320 	2.59
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_GRAY2BGRA) 	4.577 	1.664 	2.75
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HLS2BGR) 	12.884 	4.918 	2.62
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HLS2BGR_FULL) 	12.940 	4.911 	2.63
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HLS2RGB) 	12.843 	4.838 	2.65
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HLS2RGB_FULL) 	12.894 	4.796 	2.69
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HSV2BGR) 	9.011 	4.754 	1.90
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HSV2BGR_FULL) 	9.041 	4.787 	1.89
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HSV2RGB) 	9.449 	4.696 	2.01
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_HSV2RGB_FULL) 	9.007 	4.659 	1.93
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_LBGR2Lab) 	10.313 	3.932 	2.62
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_LBGR2Luv) 	39.563 	8.575 	4.61
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_LRGB2Lab) 	10.370 	3.939 	2.63
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_LRGB2Luv) 	39.366 	8.597 	4.58
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Lab2BGR) 	46.967 	6.163 	7.62
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Lab2LBGR) 	40.085 	5.114 	7.84
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Lab2LRGB) 	39.885 	5.179 	7.70
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Lab2RGB) 	46.741 	6.136 	7.62
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Luv2BGR) 	97.365 	66.075 	1.47
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Luv2LBGR) 	92.510 	61.235 	1.51
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Luv2LRGB) 	92.103 	61.234 	1.50
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_Luv2RGB) 	97.019 	65.997 	1.47
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2BGR555) 	1.673 	1.661 	1.01
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2BGR565) 	1.665 	1.654 	1.01
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2GRAY) 	2.776 	1.544 	1.80
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2HLS) 	6.285 	4.181 	1.50
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2HLS_FULL) 	6.258 	4.212 	1.49
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2HSV) 	4.905 	3.609 	1.36
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2HSV_FULL) 	4.899 	3.641 	1.35
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2Lab) 	10.341 	4.789 	2.16
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2Luv) 	87.639 	80.484 	1.09
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2XYZ) 	7.035 	2.418 	2.91
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2YCrCb) 	7.259 	2.428 	2.99
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGB2YUV) 	7.256 	2.454 	2.96
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGBA2BGR555) 	2.000 	1.924 	1.04
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGBA2BGR565) 	1.949 	1.927 	1.01
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGBA2BGR) 	3.858 	2.472 	1.56
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_RGBA2GRAY) 	2.782 	1.840 	1.51
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_XYZ2BGR) 	6.855 	2.438 	2.81
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_XYZ2RGB) 	6.816 	2.437 	2.80
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_YCrCb2BGR) 	4.267 	2.462 	1.73
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_YCrCb2RGB) 	4.235 	2.448 	1.73
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_YUV2BGR) 	4.294 	2.456 	1.75
cvtColor8u::Size_CvtMode::(1920x1080, COLOR_YUV2RGB) 	4.326 	2.423 	1.79
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2HLS) 	7.283 	3.993 	1.82
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2HLS_FULL) 	7.266 	4.024 	1.81
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2HSV) 	5.306 	3.277 	1.62
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2HSV_FULL) 	5.266 	3.235 	1.63
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2Lab) 	10.589 	4.795 	2.21
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2Luv) 	89.624 	84.075 	1.07
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2XYZ) 	6.962 	2.808 	2.48
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2YCrCb) 	8.775 	2.770 	3.17
cvtColor8u::Size_CvtMode::(1920x1080, CX_BGRA2YUV) 	8.745 	2.905 	3.01
cvtColor8u::Size_CvtMode::(1920x1080, CX_HLS2BGRA) 	11.722 	4.169 	2.81
cvtColor8u::Size_CvtMode::(1920x1080, CX_HLS2BGRA_FULL) 	11.693 	4.187 	2.79
cvtColor8u::Size_CvtMode::(1920x1080, CX_HLS2RGBA) 	11.718 	4.064 	2.88
cvtColor8u::Size_CvtMode::(1920x1080, CX_HLS2RGBA_FULL) 	11.770 	4.047 	2.91
cvtColor8u::Size_CvtMode::(1920x1080, CX_HSV2BGRA) 	9.163 	3.985 	2.30
cvtColor8u::Size_CvtMode::(1920x1080, CX_HSV2BGRA_FULL) 	9.155 	3.988 	2.30
cvtColor8u::Size_CvtMode::(1920x1080, CX_HSV2RGBA) 	9.157 	4.099 	2.23
cvtColor8u::Size_CvtMode::(1920x1080, CX_HSV2RGBA_FULL) 	9.157 	4.070 	2.25
cvtColor8u::Size_CvtMode::(1920x1080, CX_LBGRA2Lab) 	10.558 	4.093 	2.58
cvtColor8u::Size_CvtMode::(1920x1080, CX_LBGRA2Luv) 	39.513 	8.884 	4.45
cvtColor8u::Size_CvtMode::(1920x1080, CX_LRGBA2Lab) 	10.531 	4.109 	2.56
cvtColor8u::Size_CvtMode::(1920x1080, CX_LRGBA2Luv) 	39.507 	8.940 	4.42
cvtColor8u::Size_CvtMode::(1920x1080, CX_Lab2BGRA) 	47.112 	5.259 	8.96
cvtColor8u::Size_CvtMode::(1920x1080, CX_Lab2LBGRA) 	40.496 	4.282 	9.46
cvtColor8u::Size_CvtMode::(1920x1080, CX_Lab2LRGBA) 	40.134 	4.360 	9.21
cvtColor8u::Size_CvtMode::(1920x1080, CX_Lab2RGBA) 	46.980 	5.236 	8.97
cvtColor8u::Size_CvtMode::(1920x1080, CX_Luv2BGRA) 	98.519 	65.434 	1.51
cvtColor8u::Size_CvtMode::(1920x1080, CX_Luv2LBGRA) 	93.398 	60.548 	1.54
cvtColor8u::Size_CvtMode::(1920x1080, CX_Luv2LRGBA) 	93.137 	60.595 	1.54
cvtColor8u::Size_CvtMode::(1920x1080, CX_Luv2RGBA) 	98.049 	65.390 	1.50
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2HLS) 	7.333 	4.072 	1.80
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2HLS_FULL) 	7.354 	4.078 	1.80
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2HSV) 	5.235 	3.287 	1.59
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2HSV_FULL) 	5.223 	3.330 	1.57
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2Lab) 	10.560 	4.814 	2.19
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2Luv) 	89.487 	82.171 	1.09
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2XYZ) 	6.950 	2.713 	2.56
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2YCrCb) 	8.745 	2.763 	3.17
cvtColor8u::Size_CvtMode::(1920x1080, CX_RGBA2YUV) 	8.770 	2.765 	3.17
cvtColor8u::Size_CvtMode::(1920x1080, CX_XYZ2BGRA) 	7.385 	2.417 	3.06
cvtColor8u::Size_CvtMode::(1920x1080, CX_XYZ2RGBA) 	7.332 	2.421 	3.03
cvtColor8u::Size_CvtMode::(1920x1080, CX_YCrCb2BGRA) 	5.135 	2.409 	2.13
cvtColor8u::Size_CvtMode::(1920x1080, CX_YCrCb2RGBA) 	5.174 	2.411 	2.15
cvtColor8u::Size_CvtMode::(1920x1080, CX_YUV2BGRA) 	5.183 	2.419 	2.14
cvtColor8u::Size_CvtMode::(1920x1080, CX_YUV2RGBA) 	5.251 	2.406 	2.18
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerBG2BGR) 	0.038 	0.038 	0.99
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerBG2BGRA) 	0.086 	0.085 	1.01
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerBG2BGR_VNG) 	1.434 	1.445 	0.99
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerBG2GRAY) 	0.040 	0.040 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGB2BGR) 	0.038 	0.038 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGB2BGRA) 	0.089 	0.088 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGB2BGR_VNG) 	1.440 	1.452 	0.99
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGB2GRAY) 	0.040 	0.040 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGR2BGR) 	0.038 	0.038 	0.99
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGR2BGRA) 	0.089 	0.089 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGR2BGR_VNG) 	1.440 	1.451 	0.99
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerGR2GRAY) 	0.040 	0.040 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerRG2BGR) 	0.038 	0.038 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerRG2BGRA) 	0.086 	0.086 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerRG2BGR_VNG) 	1.438 	1.446 	0.99
cvtColorBayer8u::Size_CvtMode_Bayer::(127x61, COLOR_BayerRG2GRAY) 	0.040 	0.040 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerBG2BGR) 	0.425 	0.443 	0.96
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerBG2BGRA) 	0.757 	0.773 	0.98
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerBG2BGR_VNG) 	65.741 	65.851 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerBG2GRAY) 	0.314 	0.308 	1.02
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGB2BGR) 	0.431 	0.430 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGB2BGRA) 	0.769 	0.769 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGB2BGR_VNG) 	65.718 	65.871 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGB2GRAY) 	0.315 	0.308 	1.02
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGR2BGR) 	0.426 	0.438 	0.97
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGR2BGRA) 	0.761 	0.764 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGR2BGR_VNG) 	65.557 	65.729 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerGR2GRAY) 	0.314 	0.310 	1.01
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerRG2BGR) 	0.424 	0.446 	0.95
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerRG2BGRA) 	0.758 	0.764 	0.99
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerRG2BGR_VNG) 	65.661 	65.828 	1.00
cvtColorBayer8u::Size_CvtMode_Bayer::(640x480, COLOR_BayerRG2GRAY) 	0.315 	0.307 	1.02
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGR2YUV_IYUV) 	0.077 	0.053 	1.45
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGR2YUV_YV12) 	0.077 	0.052 	1.47
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGRA2YUV_IYUV) 	0.079 	0.062 	1.28
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGRA2YUV_YV12) 	0.080 	0.062 	1.29
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGB2YUV_IYUV) 	0.076 	0.052 	1.46
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGB2YUV_YV12) 	0.076 	0.052 	1.45
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGBA2YUV_IYUV) 	0.078 	0.061 	1.28
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGBA2YUV_YV12) 	0.078 	0.061 	1.29
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_BGR2YUV_IYUV) 	0.406 	0.275 	1.48
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_BGR2YUV_YV12) 	0.404 	0.273 	1.48
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_BGRA2YUV_IYUV) 	0.428 	0.322 	1.33
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_BGRA2YUV_YV12) 	0.427 	0.321 	1.33
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_RGB2YUV_IYUV) 	0.402 	0.272 	1.48
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_RGB2YUV_YV12) 	0.399 	0.272 	1.47
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_RGBA2YUV_IYUV) 	0.428 	0.315 	1.36
cvtColorRGB2YUV420p::Size_CvtMode3::(640x480, COLOR_RGBA2YUV_YV12) 	0.426 	0.312 	1.37
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_BGR2YUV_IYUV) 	1.168 	0.868 	1.35
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_BGR2YUV_YV12) 	1.156 	0.859 	1.35
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_BGRA2YUV_IYUV) 	1.269 	1.036 	1.22
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_BGRA2YUV_YV12) 	1.259 	1.041 	1.21
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_RGB2YUV_IYUV) 	1.151 	0.869 	1.32
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_RGB2YUV_YV12) 	1.143 	0.865 	1.32
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_RGBA2YUV_IYUV) 	1.258 	1.036 	1.21
cvtColorRGB2YUV420p::Size_CvtMode3::(1280x720, COLOR_RGBA2YUV_YV12) 	1.261 	1.032 	1.22
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_BGR2YUV_IYUV) 	2.563 	1.769 	1.45
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_BGR2YUV_YV12) 	2.536 	1.767 	1.43
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_BGRA2YUV_IYUV) 	2.729 	2.053 	1.33
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_BGRA2YUV_YV12) 	2.752 	2.071 	1.33
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_RGB2YUV_IYUV) 	2.522 	1.774 	1.42
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_RGB2YUV_YV12) 	2.517 	1.759 	1.43
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_RGBA2YUV_IYUV) 	2.738 	2.064 	1.33
cvtColorRGB2YUV420p::Size_CvtMode3::(1920x1080, COLOR_RGBA2YUV_YV12) 	2.733 	2.058 	1.33
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_BGR2YUV_UYVY) 	0.231 	0.090 	2.57
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_BGR2YUV_YUY2) 	0.221 	0.090 	2.44
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_BGR2YUV_YVYU) 	0.221 	0.089 	2.48
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_BGRA2YUV_UYVY) 	0.218 	0.098 	2.23
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_BGRA2YUV_YUY2) 	0.216 	0.098 	2.21
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_BGRA2YUV_YVYU) 	0.216 	0.098 	2.20
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_RGB2YUV_UYVY) 	0.231 	0.089 	2.60
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_RGB2YUV_YUY2) 	0.221 	0.088 	2.50
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_RGB2YUV_YVYU) 	0.221 	0.089 	2.49
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_RGBA2YUV_UYVY) 	0.219 	0.100 	2.20
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_RGBA2YUV_YUY2) 	0.215 	0.099 	2.18
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_RGBA2YUV_YVYU) 	0.215 	0.100 	2.16
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGRA_IYUV) 	0.083 	0.066 	1.25
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGRA_NV12) 	0.083 	0.066 	1.27
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGRA_NV21) 	0.084 	0.066 	1.27
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGRA_UYVY) 	0.127 	0.095 	1.34
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGRA_YUY2) 	0.127 	0.095 	1.34
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGRA_YV12) 	0.082 	0.066 	1.24
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGRA_YVYU) 	0.122 	0.095 	1.29
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGR_IYUV) 	0.077 	0.053 	1.46
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGR_NV12) 	0.079 	0.053 	1.48
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGR_NV21) 	0.079 	0.054 	1.48
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGR_UYVY) 	0.115 	0.084 	1.37
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGR_YUY2) 	0.116 	0.083 	1.40
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGR_YV12) 	0.077 	0.053 	1.45
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2BGR_YVYU) 	0.116 	0.084 	1.38
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2GRAY_420) 	0.003 	0.002 	1.16
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGBA_IYUV) 	0.081 	0.064 	1.26
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGBA_NV12) 	0.083 	0.065 	1.29
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGBA_NV21) 	0.083 	0.065 	1.29
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGBA_UYVY) 	0.131 	0.094 	1.40
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGBA_YUY2) 	0.131 	0.094 	1.40
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGBA_YV12) 	0.082 	0.066 	1.25
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGBA_YVYU) 	0.132 	0.093 	1.42
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGB_IYUV) 	0.077 	0.051 	1.51
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGB_NV12) 	0.079 	0.052 	1.53
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGB_NV21) 	0.080 	0.051 	1.55
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGB_UYVY) 	0.123 	0.082 	1.51
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGB_YUY2) 	0.124 	0.082 	1.52
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGB_YV12) 	0.077 	0.051 	1.50
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2RGB_YVYU) 	0.124 	0.082 	1.52
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_BGR2YUV_UYVY) 	1.227 	0.444 	2.76
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_BGR2YUV_YUY2) 	1.209 	0.442 	2.74
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_BGR2YUV_YVYU) 	1.210 	0.443 	2.73
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_BGRA2YUV_UYVY) 	1.210 	0.544 	2.22
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_BGRA2YUV_YUY2) 	1.188 	0.543 	2.19
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_BGRA2YUV_YVYU) 	1.193 	0.541 	2.21
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_RGB2YUV_UYVY) 	1.233 	0.449 	2.75
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_RGB2YUV_YUY2) 	1.214 	0.446 	2.72
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_RGB2YUV_YVYU) 	1.199 	0.449 	2.67
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_RGBA2YUV_UYVY) 	1.205 	0.547 	2.20
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_RGBA2YUV_YUY2) 	1.197 	0.541 	2.21
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_RGBA2YUV_YVYU) 	1.202 	0.548 	2.19
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGRA_IYUV) 	0.735 	0.367 	2.00
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGRA_NV12) 	0.745 	0.370 	2.01
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGRA_NV21) 	0.749 	0.370 	2.02
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGRA_UYVY) 	1.062 	0.491 	2.16
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGRA_YUY2) 	1.062 	0.493 	2.15
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGRA_YV12) 	0.736 	0.367 	2.00
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGRA_YVYU) 	1.051 	0.491 	2.14
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGR_IYUV) 	0.553 	0.297 	1.86
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGR_NV12) 	0.566 	0.298 	1.90
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGR_NV21) 	0.567 	0.297 	1.91
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGR_UYVY) 	0.868 	0.435 	2.00
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGR_YUY2) 	0.871 	0.439 	1.98
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGR_YV12) 	0.554 	0.295 	1.88
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2BGR_YVYU) 	0.867 	0.440 	1.97
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2GRAY_420) 	0.089 	0.128 	0.70
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGBA_IYUV) 	0.734 	0.361 	2.03
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGBA_NV12) 	0.745 	0.362 	2.06
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGBA_NV21) 	0.749 	0.364 	2.06
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGBA_UYVY) 	1.066 	0.491 	2.17
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGBA_YUY2) 	1.080 	0.486 	2.22
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGBA_YV12) 	0.738 	0.359 	2.05
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGBA_YVYU) 	1.078 	0.489 	2.21
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGB_IYUV) 	0.554 	0.288 	1.92
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGB_NV12) 	0.565 	0.290 	1.95
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGB_NV21) 	0.567 	0.290 	1.96
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGB_UYVY) 	0.885 	0.437 	2.02
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGB_YUY2) 	0.896 	0.432 	2.07
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGB_YV12) 	0.553 	0.288 	1.92
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2RGB_YVYU) 	0.896 	0.433 	2.07
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_BGR2YUV_UYVY) 	7.914 	2.605 	3.04
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_BGR2YUV_YUY2) 	7.622 	2.577 	2.96
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_BGR2YUV_YVYU) 	7.685 	2.548 	3.02
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_BGRA2YUV_UYVY) 	7.585 	3.007 	2.52
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_BGRA2YUV_YUY2) 	7.547 	3.072 	2.46
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_BGRA2YUV_YVYU) 	7.536 	3.045 	2.48
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_RGB2YUV_UYVY) 	7.860 	2.571 	3.06
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_RGB2YUV_YUY2) 	7.664 	2.574 	2.98
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_RGB2YUV_YVYU) 	7.663 	2.587 	2.96
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_RGBA2YUV_UYVY) 	7.611 	3.018 	2.52
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_RGBA2YUV_YUY2) 	7.520 	2.989 	2.52
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_RGBA2YUV_YVYU) 	7.617 	3.045 	2.50
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGRA_IYUV) 	4.529 	2.290 	1.98
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGRA_NV12) 	4.623 	2.271 	2.04
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGRA_NV21) 	4.624 	2.286 	2.02
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGRA_UYVY) 	6.825 	3.279 	2.08
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGRA_YUY2) 	6.715 	3.235 	2.08
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGRA_YV12) 	4.518 	2.294 	1.97
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGRA_YVYU) 	6.690 	3.234 	2.07
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGR_IYUV) 	3.812 	1.898 	2.01
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGR_NV12) 	3.862 	1.903 	2.03
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGR_NV21) 	3.895 	1.887 	2.06
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGR_UYVY) 	5.491 	2.711 	2.03
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGR_YUY2) 	5.427 	2.721 	1.99
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGR_YV12) 	3.819 	1.895 	2.02
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2BGR_YVYU) 	5.419 	2.722 	1.99
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2GRAY_420) 	0.662 	0.678 	0.98
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGBA_IYUV) 	4.546 	2.275 	2.00
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGBA_NV12) 	4.554 	2.268 	2.01
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGBA_NV21) 	4.561 	2.287 	1.99
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGBA_UYVY) 	6.828 	3.233 	2.11
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGBA_YUY2) 	6.794 	3.234 	2.10
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGBA_YV12) 	4.517 	2.282 	1.98
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGBA_YVYU) 	6.793 	3.218 	2.11
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGB_IYUV) 	3.802 	1.887 	2.01
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGB_NV12) 	3.892 	1.885 	2.06
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGB_NV21) 	3.869 	1.881 	2.06
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGB_UYVY) 	5.546 	2.711 	2.05
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGB_YUY2) 	5.554 	2.707 	2.05
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGB_YV12) 	3.807 	1.891 	2.01
cvtColorYUV420::Size_CvtMode2::(1920x1080, COLOR_YUV2RGB_YVYU) 	5.564 	2.701 	2.06 

@amane-ame
Copy link
Copy Markdown
Contributor Author

@asmorkalov I don't know why the perf cvtColor_16u and cvtColor_32f are disabled, you can run them with --gtest_also_run_disabled_tests.

@asmorkalov
Copy link
Copy Markdown
Contributor

The tests are disabled, because the implementation is not bit-exact and produce slightly different result across devices.

@fengyuentau
Copy link
Copy Markdown
Member

fengyuentau commented Mar 7, 2025

My performance results (including comparison with rk3568)

perf-color.zip


Some of the bad cases comparing k1 with rk3568:

                          Name of Test                             rk   patch-clang patch-clang
                                                                                        vs
                                                                                        rk
                                                                                    (x-factor)
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGR2Luv)                 1.210    2.242       0.54
cvtColor8u::Size_CvtMode::(127x61, COLOR_BGRA2RGBA)               0.012    0.017       0.73
cvtColor8u::Size_CvtMode::(127x61, COLOR_RGB2Luv)                 1.133    2.265       0.50
cvtColor8u::Size_CvtMode::(127x61, CX_BGRA2Luv)                   1.235    2.367       0.52
cvtColor8u::Size_CvtMode::(127x61, CX_RGBA2Luv)                   1.166    2.358       0.49
cvtColor8u::Size_CvtMode::(640x480, COLOR_GRAY2BGR)               0.157    0.206       0.76
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGR2YUV_IYUV)  0.033    0.051       0.65
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGR2YUV_YV12)  0.033    0.051       0.64
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGRA2YUV_IYUV) 0.031    0.059       0.53
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_BGRA2YUV_YV12) 0.031    0.059       0.53
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGB2YUV_IYUV)  0.034    0.051       0.67
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGB2YUV_YV12)  0.034    0.050       0.67
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGBA2YUV_IYUV) 0.032    0.059       0.55
cvtColorRGB2YUV420p::Size_CvtMode3::(130x60, COLOR_RGBA2YUV_YV12) 0.033    0.059       0.56
cvtColorYUV420::Size_CvtMode2::(130x60, COLOR_YUV2GRAY_420)       0.002    0.003       0.72
cvtColorYUV420::Size_CvtMode2::(640x480, COLOR_YUV2GRAY_420)      0.063    0.118       0.53

Looks like most of the degraded cases are on small input scale.

@asmorkalov asmorkalov merged commit e89e2fd into opencv:4.x Mar 7, 2025
28 checks passed
@asmorkalov asmorkalov mentioned this pull request Mar 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants