alpha: Fix one_over_kc calculation
authorDoug Nazar <nazard@nazar.ca>
Mon, 9 Sep 2019 00:43:17 +0000 (20:43 -0400)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 10 Sep 2019 09:32:16 +0000 (10:32 +0100)
On arm/aarch64, converting from float directly to unsigned int uses
a different opcode and negative numbers result in 0. Cast to
signed int first.

gst/alpha/gstalpha.c

index 82ad981..6e03871 100644 (file)
@@ -2348,7 +2348,7 @@ gst_alpha_init_params_full (GstAlpha * alpha,
   tmp = MIN (tmp, 255);
   alpha->accept_angle_ctg = tmp;
   tmp = 1 / (kgl);
-  alpha->one_over_kc = 255 * 2 * tmp - 255;
+  alpha->one_over_kc = (gint) (255 * 2 * tmp - 255);
   tmp = 15 * y / kgl;
   tmp = MIN (tmp, 255);
   alpha->kfgy_scale = tmp;