aboutsummaryrefslogtreecommitdiff
path: root/include/linux/fixp-arith.h
AgeCommit message (Collapse)AuthorFilesLines
2015-03-02[media] fixp-arith: replace sin/cos table by a better precision oneMauro Carvalho Chehab1-38/+107
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 <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Prashant Laddha <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2012-05-14[media] Input: move drivers/input/fixp-arith.h to include/linuxAntonio Ospite1-0/+87
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 <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>