summaryrefslogtreecommitdiffstats
path: root/libass/ass_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_utils.h')
-rw-r--r--libass/ass_utils.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/libass/ass_utils.h b/libass/ass_utils.h
index f5c68e9..ad8574c 100644
--- a/libass/ass_utils.h
+++ b/libass/ass_utils.h
@@ -102,6 +102,21 @@ static inline int double_to_d16(double x)
{
return (int) (x * 0x10000);
}
+static inline double d22_to_double(int x)
+{
+ return ((double) x) / 0x400000;
+}
+static inline int double_to_d22(double x)
+{
+ return (int) (x * 0x400000);
+}
+
+// Calculate cache key for a rotational angle in degrees
+static inline int rot_key(double a)
+{
+ const int m = double_to_d22(360.0);
+ return double_to_d22(a) % m;
+}
#define FNV1_32A_INIT (unsigned)0x811c9dc5