03 Mar, 2015
1 commit
-
The cos table used at fixp-arith.h has only 8 bits of precision.
That causes problems if it is reused on other drivers.As some media drivers require a higher precision sin/cos
implementation, replace the current implementation by one that
will provide 32 bits precision.The values generated by the new implementation matches the
32 bit precision of glibc's sin for an angle measured in
integer degrees.It also provides support for fractional angles via linear
interpolation. On experimental calculus, when used a table
with a 0.001 degree angle, the maximum error for sin is
0.000038, which is likely good enough for practical purposes.There are some logic there that seems to be specific to the
usage inside ff-memless.c. Move those logic to there, as they're
not needed elsewhere.Cc: Hans de Goede
Signed-off-by: Mauro Carvalho Chehab
Signed-off-by: Prashant Laddha
Signed-off-by: Hans Verkuil
Acked-by: Dmitry Torokhov
Signed-off-by: Mauro Carvalho Chehab
14 May, 2012
1 commit
-
Move drivers/input/fixp-arith.h to include/linux so that the functions
defined there can be used by other subsystems, for instance some video
devices ISPs can control the output HUE value by setting registers for
sin(HUE) and cos(HUE).Signed-off-by: Antonio Ospite
Acked-by: Dmitry Torokhov
Signed-off-by: Mauro Carvalho Chehab