KerwinMa / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Conversion unittest coverage incomplete #120

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
libyuv has 27 image formats.  So there should be 27 tests for each type of 
conversion.

21 tests for ToI420:

build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 
--gtest_filter=**ToI420*Opt | grep ms
[       OK ] libyuvTest.I420ToI420_Opt (217 ms)
[       OK ] libyuvTest.I422ToI420_Opt (263 ms)
[       OK ] libyuvTest.I444ToI420_Opt (1137 ms)
[       OK ] libyuvTest.I411ToI420_Opt (1296 ms)
[       OK ] libyuvTest.ARGBToI420_Opt (623 ms)
[       OK ] libyuvTest.BGRAToI420_Opt (626 ms)
[       OK ] libyuvTest.ABGRToI420_Opt (624 ms)
[       OK ] libyuvTest.RGBAToI420_Opt (627 ms)
[       OK ] libyuvTest.RAWToI420_Opt (775 ms)
[       OK ] libyuvTest.RGB24ToI420_Opt (775 ms)
[       OK ] libyuvTest.RGB565ToI420_Opt (974 ms)
[       OK ] libyuvTest.ARGB1555ToI420_Opt (1092 ms)
[       OK ] libyuvTest.ARGB4444ToI420_Opt (864 ms)
[       OK ] libyuvTest.YUY2ToI420_Opt (306 ms)
[       OK ] libyuvTest.UYVYToI420_Opt (311 ms)
[       OK ] libyuvTest.V210ToI420_Opt (1222 ms)
[       OK ] libyuvTest.I400ToI420_Opt (177 ms)
[       OK ] libyuvTest.BayerBGGRToI420_Opt (2512 ms)
[       OK ] libyuvTest.BayerRGGBToI420_Opt (2584 ms)
[       OK ] libyuvTest.BayerGBRGToI420_Opt (2574 ms)
[       OK ] libyuvTest.BayerGRBGToI420_Opt (2482 ms)
[----------] 21 tests from libyuvTest (22062 ms total)

20 to I420To*  (V210 is missing)
c:\src\libyuv\trunk>runyuv *I420To*Opt | grep ms
[       OK ] libyuvTest.I420ToI420_Opt (190 ms)
[       OK ] libyuvTest.I420ToI422_Opt (228 ms)
[       OK ] libyuvTest.I420ToI444_Opt (4712 ms)
[       OK ] libyuvTest.I420ToI411_Opt (1424 ms)
[       OK ] libyuvTest.I420ToARGB_Opt (856 ms)
[       OK ] libyuvTest.I420ToBGRA_Opt (857 ms)
[       OK ] libyuvTest.I420ToABGR_Opt (853 ms)
[       OK ] libyuvTest.I420ToRGBA_Opt (854 ms)
[       OK ] libyuvTest.I420ToRAW_Opt (923 ms)
[       OK ] libyuvTest.I420ToRGB24_Opt (932 ms)
[       OK ] libyuvTest.I420ToRGB565_Opt (1474 ms)
[       OK ] libyuvTest.I420ToARGB1555_Opt (1586 ms)
[       OK ] libyuvTest.I420ToARGB4444_Opt (1243 ms)
[       OK ] libyuvTest.I420ToYUY2_Opt (235 ms)
[       OK ] libyuvTest.I420ToUYVY_Opt (232 ms)
[       OK ] libyuvTest.I420ToI400_Opt (136 ms)
[       OK ] libyuvTest.I420ToBayerBGGR_Opt (1108 ms)
[       OK ] libyuvTest.I420ToBayerRGGB_Opt (1108 ms)
[       OK ] libyuvTest.I420ToBayerGBRG_Opt (1109 ms)
[       OK ] libyuvTest.I420ToBayerGRBG_Opt (1107 ms)
[----------] 20 tests from libyuvTest (21167 ms total)

18 for *ToARGB
[       OK ] libyuvTest.I420ToARGB_Opt (860 ms)
[       OK ] libyuvTest.I422ToARGB_Opt (866 ms)
[       OK ] libyuvTest.I411ToARGB_Opt (868 ms)
[       OK ] libyuvTest.I444ToARGB_Opt (879 ms)
[       OK ] libyuvTest.NV12ToARGB_Opt (819 ms)
[       OK ] libyuvTest.NV21ToARGB_Opt (819 ms)
[       OK ] libyuvTest.ARGBToARGB_Opt (499 ms)
[       OK ] libyuvTest.BGRAToARGB_Opt (539 ms)
[       OK ] libyuvTest.ABGRToARGB_Opt (543 ms)
[       OK ] libyuvTest.RGBAToARGB_Opt (535 ms)
[       OK ] libyuvTest.RAWToARGB_Opt (676 ms)
[       OK ] libyuvTest.RGB24ToARGB_Opt (675 ms)
[       OK ] libyuvTest.RGB565ToARGB_Opt (550 ms)
[       OK ] libyuvTest.ARGB1555ToARGB_Opt (657 ms)
[       OK ] libyuvTest.ARGB4444ToARGB_Opt (478 ms)
[       OK ] libyuvTest.YUY2ToARGB_Opt (1128 ms)
[       OK ] libyuvTest.UYVYToARGB_Opt (1127 ms)
[       OK ] libyuvTest.M420ToARGB_Opt (915 ms)
[----------] 18 tests from libyuvTest (13435 ms total)

11 for ARGBTo*
[       OK ] libyuvTest.ARGBToI420_Opt (622 ms)
[       OK ] libyuvTest.ARGBToI422_Opt (807 ms)
[       OK ] libyuvTest.ARGBToARGB_Opt (493 ms)
[       OK ] libyuvTest.ARGBToBGRA_Opt (529 ms)
[       OK ] libyuvTest.ARGBToABGR_Opt (528 ms)
[       OK ] libyuvTest.ARGBToRGBA_Opt (527 ms)
[       OK ] libyuvTest.ARGBToRAW_Opt (502 ms)
[       OK ] libyuvTest.ARGBToRGB24_Opt (503 ms)
[       OK ] libyuvTest.ARGBToRGB565_Opt (793 ms)
[       OK ] libyuvTest.ARGBToARGB1555_Opt (885 ms)
[       OK ] libyuvTest.ARGBToARGB4444_Opt (593 ms)
[----------] 11 tests from libyuvTest (6782 ms total)

Original issue reported on code.google.com by fbarch...@google.com on 9 Oct 2012 at 9:50

GoogleCodeExporter commented 9 years ago
     ToI420 FromI420 ToARGB FromARGB
Was  21     20       18     11
R402 21     20       23     16

Original comment by fbarch...@chromium.org on 11 Oct 2012 at 3:19

GoogleCodeExporter commented 9 years ago
Add NV12 and NV21 tests
     ToI420 FromI420 ToARGB FromARGB
R402 21     20       23     16
R455 23     22       23     16

Original comment by fbarch...@chromium.org on 29 Oct 2012 at 10:12

GoogleCodeExporter commented 9 years ago
Note there are 26 formats.
     ToI420 FromI420 ToARGB FromARGB
R469 23     22       23     23

Original comment by fbarch...@chromium.org on 3 Nov 2012 at 5:10

GoogleCodeExporter commented 9 years ago
Removed V210
Note there are 25 formats.
     ToI420 FromI420 ToARGB FromARGB
R537 22     22       22     22

3 formats are untested: M420, Q420 and MJPG.
M420 and Q420 are row biplanar, with different parameters/allocation than 
biplanar nv12.  Each would require a custom function.
MJPG is a 'packed' format but source can not be random.

All 22 key formats are covers, so marking as fixed

Original comment by fbarch...@google.com on 12 Jan 2013 at 8:52

GoogleCodeExporter commented 9 years ago

Original comment by fbarch...@google.com on 12 Jan 2013 at 8:58