diff --git a/hwc/hwc.c b/hwc/hwc.c
index b5b80ec..d6c28f7 100644
--- a/hwc/hwc.c
+++ b/hwc/hwc.c
@@ -46,6 +46,8 @@
 #define WIDTH(rect) ((rect).right - (rect).left)
 #define HEIGHT(rect) ((rect).bottom - (rect).top)
 
+#define DIV_ROUND_UP(a, b) (((a) + (b) - 1) / (b))
+
 #include <video/dsscomp.h>
 
 #include "hal_public.h"
@@ -716,6 +718,8 @@
                                __u32 pclk)
 {
     __u32 fclk = limits->fclk / 1000;
+    __u32 min_src_w = DIV_ROUND_UP(src_w, is_2d ? limits->max_xdecim_2d : limits->max_xdecim_1d);
+    __u32 min_src_h = DIV_ROUND_UP(src_h, is_2d ? limits->max_ydecim_2d : limits->max_ydecim_1d);
 
     /* ERRATAs */
     /* cannot render 1-width layers on DSI video mode panels - we just disallow all 1-width LCD layers */
@@ -729,15 +733,15 @@
         return 0;
 
     /* max downscale */
-    if (dst_h < src_h / limits->max_downscale / (is_2d ? limits->max_ydecim_2d : limits->max_ydecim_1d))
+    if (dst_h * limits->max_downscale < min_src_h)
         return 0;
 
     /* for manual panels pclk is 0, and there are no pclk based scaling limits */
     if (!pclk)
-        return (dst_w < src_w / limits->max_downscale / (is_2d ? limits->max_xdecim_2d : limits->max_xdecim_1d));
+        return !(dst_w * limits->max_downscale < min_src_w);
 
     /* :HACK: limit horizontal downscale well below theoretical limit as we saw display artifacts */
-    if (dst_w < src_w / 4)
+    if (dst_w * 4 < src_w)
         return 0;
 
     /* max horizontal downscale is 4, or the fclk/pixclk */
@@ -746,7 +750,7 @@
     /* for small parts, we need to use integer fclk/pixclk */
     if (src_w < limits->integer_scale_ratio_limit)
         fclk = fclk / pclk * pclk;
-    if ((__u32) dst_w < src_w * pclk / fclk / (is_2d ? limits->max_xdecim_2d : limits->max_xdecim_1d))
+    if ((__u32) dst_w * fclk < min_src_w * pclk)
         return 0;
 
     return 1;
diff --git a/libdrmdecrypt/Android.mk b/libdrmdecrypt/Android.mk
index 2f1b644..b584385 100644
--- a/libdrmdecrypt/Android.mk
+++ b/libdrmdecrypt/Android.mk
@@ -9,10 +9,12 @@
         $(TOP)/frameworks/native/include/media/hardware \
         $(TOP)/vendor/widevine/proprietary/cryptoPlugin \
 
-LOCAL_STATIC_LIBRARIES := \
-        liboemcrypto                    \
+ifeq ($(BOARD_USES_SECURE_SERVICES),true)
+LOCAL_STATIC_LIBRARIES += \
         libtee_client_api_driver        \
 
+endif
+
 LOCAL_SHARED_LIBRARIES := \
         libstagefright_foundation       \
         liblog                          \
