Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C match SIMD exactly #447

Open
GoogleCodeExporter opened this issue Sep 1, 2015 · 2 comments
Open

C match SIMD exactly #447

GoogleCodeExporter opened this issue Sep 1, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

Currently C and SIMD dont exactly match for some functions/cpus.
Functions that do odd width use a combination of C and SIMD and can show a 
subtle artifact.   See this chromoting bug 
https://code.google.com/p/chromium/issues/detail?id=493914

For this use case, its important that C and SIMD match.
Neither needs to be accurate, and different platforms can be different.  But 
the C needs to exactly match the SIMD.

Reduce tolerance in unittests to zero.
Change C to mimic SIMD, even if performance is substantially worse for C.



Original issue reported on code.google.com by [email protected] on 3 Jun 2015 at 10:37

@GoogleCodeExporter
Copy link
Author

The following unittests contain EXPECT_NEAR and are likely not exact:
color_test.cc
convert_test.cc
math_test.cc
planar_test.cc
scale_color_test.cc
version_test.cc

The following unittests contain a diff threshold and are likely not exact:
compare_test.cc
scale_argb_test.cc
scale_test.cc

The following unittests do not contain NEAR or diff and are likely exact:
basictypes_test.cc
cpu_test.cc
rotate_argb_test.cc
rotate_test.cc
video_common_test.cc

Original comment by [email protected] on 30 Jun 2015 at 7:38

@GoogleCodeExporter
Copy link
Author

in planar_test attenuate, unattenuate and interpolate have differences

Original comment by [email protected] on 1 Jul 2015 at 8:25

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant