watery01 / libyuv

Automatically exported from code.google.com/p/libyuv
0 stars 0 forks source link

I420ToARGB_NEON does not exactly match the C code #129

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
It should be possible to make the NEON match C exactly, which makes unittesting 
better.

Fix the conversion, and then tighten up tolerances in the convert_test

Original issue reported on code.google.com by fbarch...@chromium.org on 19 Oct 2012 at 7:54

GoogleCodeExporter commented 9 years ago
rounding fixed in r430.  Should exactly match SSSE3.
Not exactly matching C though.

Original comment by fbarch...@chromium.org on 20 Oct 2012 at 6:16

GoogleCodeExporter commented 9 years ago
subsampling UV rounding is inconsistent.
SSSE3 and Neon having rounding when blending rows.  C code doesnt.
Since rounding can be done effeciently with SIMD, consider doing it 
consistently C code, hurting C code performance, but improving accuracy and 
consistency.
Aim for exactness on I444ToARGB first, where subsampling is not a factor.

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

GoogleCodeExporter commented 9 years ago
Performance would suffer if C were forced to match Neon.

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