katepanping / libyuv

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

jpeg color accuracy and performance #414

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
J422ToARGB uses 6 bit fixed point and C code

Adding histogram, this is the current accuracy

[ RUN      ] libyuvTest.TestFullYUVJ
hist                  -2              -1               0               1
red                    0         5273088        11504128               0
green              30379         6519123        10164901           62813
blue              115200         4481280        12066816          113920
[       OK ] libyuvTest.TestFullYUVJ (2466 ms)

Performance on Sandy Bridge is
J422ToARGB_Opt (5809 ms)
I422ToARGB_Opt (488 ms)

Original issue reported on code.google.com by fbarch...@chromium.org on 16 Mar 2015 at 2:34

GoogleCodeExporter commented 9 years ago
Changes broke Y to ARGB

[ RUN      ] libyuvTest.YToARGB_Any
e:\b\build\slave\win_2010\build\src\unit_test\convert_test.cc(932): error: 
Expected: (max_diff) <= (0), actual: 37 vs 0
[  FAILED  ] libyuvTest.YToARGB_Any (0 ms)
[ RUN      ] libyuvTest.YToARGB_Unaligned
e:\b\build\slave\win_2010\build\src\unit_test\convert_test.cc(932): error: 
Expected: (max_diff) <= (0), actual: 37 vs 0
[  FAILED  ] libyuvTest.YToARGB_Unaligned (0 ms)
[ RUN      ] libyuvTest.YToARGB_Invert
e:\b\build\slave\win_2010\build\src\unit_test\convert_test.cc(932): error: 
Expected: (max_diff) <= (0), actual: 37 vs 0
[  FAILED  ] libyuvTest.YToARGB_Invert (0 ms)
[ RUN      ] libyuvTest.YToARGB_Opt
e:\b\build\slave\win_2010\build\src\unit_test\convert_test.cc(932): error: 
Expected: (max_diff) <= (0), actual: 37 vs 0
[  FAILED  ] libyuvTest.YToARGB_Opt (0 ms)
[ RUN      ] libyuvTest.YToARGB_Random
e:\b\build\slave\win_2010\build\src\unit_test\convert_test.cc(932): error: 
Expected: (max_diff) <= (0), actual: 37 vs 0
[  FAILED  ] libyuvTest.YToARGB_Random (0 ms)
[ RUN      ] libyuvTest.ARGBToARGBMirror_Any

Original comment by fbarch...@chromium.org on 16 Mar 2015 at 6:34

GoogleCodeExporter commented 9 years ago
Performance improved on Windows
Was J422ToARGB_Opt (10813 ms)
Now J422ToARGB_Opt (766 ms)

Accuracy improved
[ RUN      ] libyuvTest.TestFullYUVJ
hist                  -1               0               1
red              1329408        14306304         1141504
green            1991639        12981998         1803579
blue             1413120        14024704         1339392

Original comment by fbarch...@chromium.org on 16 Mar 2015 at 9:32

GoogleCodeExporter commented 9 years ago
OSX version is not optimized yet

[ RUN      ] libyuvTest.TestFullYUV
hist              -3          -2          -1           0           1           2           3
red            0           0      568320    15632384      576512           0           0
green              0           0      212963    16350646      213607           0           0
blue           14848      644608     1990400    11362816     2052352      693760       18432
[       OK ] libyuvTest.TestFullYUV (759 ms)
[ RUN      ] libyuvTest.TestFullYUVJ
hist              -1           0           1
red      1329408    14306304     1141504
green        1991639    12981998     1803579
blue         1413120    14024704     1339392
[       OK ] libyuvTest.TestFullYUVJ (2009 ms)

Original comment by phthor...@gmail.com on 17 Mar 2015 at 12:13

GoogleCodeExporter commented 9 years ago
OSX has ssse3 now. 

[----------] 2 tests from libyuvTest
[ RUN      ] libyuvTest.TestFullYUV
hist              -3          -2          -1           0           1           2           3
red            0           0      568320    15632384      576512           0           0
green              0           0      212963    16350646      213607           0           0
blue           14848      644608     1990400    11362816     2052352      693760       18432
[       OK ] libyuvTest.TestFullYUV (734 ms)

[ RUN      ] libyuvTest.TestFullYUVJ
hist              -1           0           1
red      1329408    14306304     1141504
green        1991639    12981998     1803579
blue         1413120    14024704     1339392
[       OK ] libyuvTest.TestFullYUVJ (706 ms)

Original comment by phthor...@gmail.com on 17 Mar 2015 at 11:20