diff --git a/gst/audiofx/audiopanoramaorc-dist.c b/gst/audiofx/audiopanoramaorc-dist.c
index 3d5999a..86d6861 100644
--- a/gst/audiofx/audiopanoramaorc-dist.c
+++ b/gst/audiofx/audiopanoramaorc-dist.c
@@ -140,11 +140,11 @@
 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
 #define ORC_SB_MAX 127
 #define ORC_SB_MIN (-1-ORC_SB_MAX)
-#define ORC_UB_MAX 255
+#define ORC_UB_MAX (orc_uint8) 255
 #define ORC_UB_MIN 0
 #define ORC_SW_MAX 32767
 #define ORC_SW_MIN (-1-ORC_SW_MAX)
-#define ORC_UW_MAX 65535
+#define ORC_UW_MAX (orc_uint16)65535
 #define ORC_UW_MIN 0
 #define ORC_SL_MAX 2147483647
 #define ORC_SL_MIN (-1-ORC_SL_MAX)
diff --git a/gst/deinterlace/tvtime-dist.c b/gst/deinterlace/tvtime-dist.c
index 9ac3346..47c1056 100644
--- a/gst/deinterlace/tvtime-dist.c
+++ b/gst/deinterlace/tvtime-dist.c
@@ -117,11 +117,11 @@
 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
 #define ORC_SB_MAX 127
 #define ORC_SB_MIN (-1-ORC_SB_MAX)
-#define ORC_UB_MAX 255
+#define ORC_UB_MAX (orc_uint8) 255
 #define ORC_UB_MIN 0
 #define ORC_SW_MAX 32767
 #define ORC_SW_MIN (-1-ORC_SW_MAX)
-#define ORC_UW_MAX 65535
+#define ORC_UW_MAX (orc_uint16)65535
 #define ORC_UW_MIN 0
 #define ORC_SL_MAX 2147483647
 #define ORC_SL_MIN (-1-ORC_SL_MAX)
@@ -201,7 +201,7 @@
   ptr8 = (orc_int8 *) s5;
 
   /* 16: loadpw */
-  var40.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
+  var40.i = 0x00000004;         /* 4 or 1.97626e-323f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -293,7 +293,7 @@
   ptr8 = (orc_int8 *) ex->arrays[8];
 
   /* 16: loadpw */
-  var40.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
+  var40.i = 0x00000004;         /* 4 or 1.97626e-323f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -594,7 +594,7 @@
   ptr6 = (orc_int8 *) s3;
 
   /* 9: loadpw */
-  var38.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var38.i = 0x00000002;         /* 2 or 9.88131e-324f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -661,7 +661,7 @@
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   /* 9: loadpw */
-  var38.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var38.i = 0x00000002;         /* 2 or 9.88131e-324f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -829,7 +829,7 @@
   ptr7 = (orc_int8 *) s4;
 
   /* 11: loadpb */
-  var44 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var44 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 20: loadpb */
   var45 = p1;
 
@@ -934,7 +934,7 @@
   ptr7 = (orc_int8 *) ex->arrays[7];
 
   /* 11: loadpb */
-  var44 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var44 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 20: loadpb */
   var45 = ex->params[24];
 
diff --git a/gst/videobox/gstvideoboxorc-dist.c b/gst/videobox/gstvideoboxorc-dist.c
index 8fef7a0..098b490 100644
--- a/gst/videobox/gstvideoboxorc-dist.c
+++ b/gst/videobox/gstvideoboxorc-dist.c
@@ -105,11 +105,11 @@
 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
 #define ORC_SB_MAX 127
 #define ORC_SB_MIN (-1-ORC_SB_MAX)
-#define ORC_UB_MAX 255
+#define ORC_UB_MAX (orc_uint8) 255
 #define ORC_UB_MIN 0
 #define ORC_SW_MAX 32767
 #define ORC_SW_MIN (-1-ORC_SW_MAX)
-#define ORC_UW_MAX 65535
+#define ORC_UW_MAX (orc_uint16)65535
 #define ORC_UW_MIN 0
 #define ORC_SL_MAX 2147483647
 #define ORC_SL_MIN (-1-ORC_SL_MAX)
diff --git a/gst/videomixer/videomixerorc-dist.c b/gst/videomixer/videomixerorc-dist.c
index 115b6fc..dcc282b 100644
--- a/gst/videomixer/videomixerorc-dist.c
+++ b/gst/videomixer/videomixerorc-dist.c
@@ -117,11 +117,11 @@
 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
 #define ORC_SB_MAX 127
 #define ORC_SB_MIN (-1-ORC_SB_MAX)
-#define ORC_UB_MAX 255
+#define ORC_UB_MAX (orc_uint8) 255
 #define ORC_UB_MIN 0
 #define ORC_SW_MAX 32767
 #define ORC_SW_MIN (-1-ORC_SW_MAX)
-#define ORC_UW_MAX 65535
+#define ORC_UW_MAX (orc_uint16)65535
 #define ORC_UW_MIN 0
 #define ORC_SL_MAX 2147483647
 #define ORC_SL_MIN (-1-ORC_SL_MAX)
@@ -595,7 +595,7 @@
     var39.x4[2] = p1;
     var39.x4[3] = p1;
     /* 16: loadpl */
-    var40.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */
+    var40.i = 0x000000ff;       /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -721,7 +721,7 @@
     var39.x4[2] = ex->params[24];
     var39.x4[3] = ex->params[24];
     /* 16: loadpl */
-    var40.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */
+    var40.i = 0x000000ff;       /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -954,7 +954,7 @@
     var40.x4[2] = p1;
     var40.x4[3] = p1;
     /* 17: loadpl */
-    var41.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */
+    var41.i = 0xff000000;       /* -16777216 or 2.11371e-314f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -1083,7 +1083,7 @@
     var40.x4[2] = ex->params[24];
     var40.x4[3] = ex->params[24];
     /* 17: loadpl */
-    var41.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */
+    var41.i = 0xff000000;       /* -16777216 or 2.11371e-314f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -1340,11 +1340,11 @@
     var41.x4[2] = p1;
     var41.x4[3] = p1;
     /* 10: loadpl */
-    var53.i = (int) 0xffffffff; /* -1 or 2.122e-314f */
+    var53.i = 0xffffffff;       /* -1 or 2.122e-314f */
     /* 26: loadpl */
-    var42.i = (int) 0xffffff00; /* -256 or 2.122e-314f */
+    var42.i = 0xffffff00;       /* -256 or 2.122e-314f */
     /* 29: loadpl */
-    var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */
+    var43.i = 0x000000ff;       /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -1548,11 +1548,11 @@
     var41.x4[2] = ex->params[24];
     var41.x4[3] = ex->params[24];
     /* 10: loadpl */
-    var53.i = (int) 0xffffffff; /* -1 or 2.122e-314f */
+    var53.i = 0xffffffff;       /* -1 or 2.122e-314f */
     /* 26: loadpl */
-    var42.i = (int) 0xffffff00; /* -256 or 2.122e-314f */
+    var42.i = 0xffffff00;       /* -256 or 2.122e-314f */
     /* 29: loadpl */
-    var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */
+    var43.i = 0x000000ff;       /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -1900,11 +1900,11 @@
     var42.x4[2] = p1;
     var42.x4[3] = p1;
     /* 11: loadpl */
-    var55.i = (int) 0xffffffff; /* -1 or 2.122e-314f */
+    var55.i = 0xffffffff;       /* -1 or 2.122e-314f */
     /* 28: loadpl */
-    var43.i = (int) 0x00ffffff; /* 16777215 or 8.28905e-317f */
+    var43.i = 0x00ffffff;       /* 16777215 or 8.28905e-317f */
     /* 31: loadpl */
-    var44.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */
+    var44.i = 0xff000000;       /* -16777216 or 2.11371e-314f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -2114,11 +2114,11 @@
     var42.x4[2] = ex->params[24];
     var42.x4[3] = ex->params[24];
     /* 11: loadpl */
-    var55.i = (int) 0xffffffff; /* -1 or 2.122e-314f */
+    var55.i = 0xffffffff;       /* -1 or 2.122e-314f */
     /* 28: loadpl */
-    var43.i = (int) 0x00ffffff; /* 16777215 or 8.28905e-317f */
+    var43.i = 0x00ffffff;       /* 16777215 or 8.28905e-317f */
     /* 31: loadpl */
-    var44.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */
+    var44.i = 0xff000000;       /* -16777216 or 2.11371e-314f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
