Updated copyright. Prefer HTTPS in documentation. Switched to LGPLv3 or later.
[imagesqueeze.git] / src / main / java / eu / svjatoslav / imagesqueeze / codec / Color.java
index 1d8b7a6..1f72f21 100755 (executable)
@@ -1,49 +1,68 @@
+/*
+ * Imagesqueeze - Image codec. Copyright ©2012-2019, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 3 of the GNU Lesser General Public License
+ * or later as published by the Free Software Foundation.
+ */
+
 package eu.svjatoslav.imagesqueeze.codec;
 
 /**
  * Helper class to convert between RGB and YUV
  */
-public class Color {
+class Color {
+
+    int r;
+    int g;
+    int b;
 
-       int r;
-       int g;
-       int b;
+    int y;
+    int u;
+    int v;
 
-       int y;
-       int u;
-       int v;
+    public void RGB2YUV() {
 
-       public void YUV2RGB(){
+        y = (int) ((r * 0.299000) + (g * 0.587000) + (b * 0.114000));
+        u = (int) ((r * -0.168736) + (g * -0.331264) + (b * 0.500000) + 128);
+        v = (int) ((r * 0.500000) + (g * -0.418688) + (b * -0.081312) + 128);
 
-               b = (int)(y + 1.4075 * (v - 128));
-               g = (int)(y - 0.3455 * (u - 128) - (0.7169 * (v - 128)));
-               r = (int)(y + 1.7790 * (u - 128));
+        if (y < 0)
+            y = 0;
+        if (u < 0)
+            u = 0;
+        if (v < 0)
+            v = 0;
 
-               if (r < 0) r = 0;
-               if (g < 0) g = 0;
-               if (b < 0) b = 0;
+        if (y > 255)
+            y = 255;
+        if (u > 255)
+            u = 255;
+        if (v > 255)
+            v = 255;
 
-               if (r > 255) r = 255;
-               if (g > 255) g = 255;
-               if (b > 255) b = 255;
+    }
 
-       }
+    public void YUV2RGB() {
 
-       public void RGB2YUV(){
+        b = (int) (y + (1.4075 * (v - 128)));
+        g = (int) (y - (0.3455 * (u - 128)) - (0.7169 * (v - 128)));
+        r = (int) (y + (1.7790 * (u - 128)));
 
-               y = (int)(r * 0.299000 + g * 0.587000 + b * 0.114000);
-               u = (int)(r * -0.168736 + g * -0.331264 + b * 0.500000 + 128);
-               v = (int)(r *  0.500000 + g * -0.418688 + b * -0.081312 + 128);
+        if (r < 0)
+            r = 0;
+        if (g < 0)
+            g = 0;
+        if (b < 0)
+            b = 0;
 
-               if (y < 0) y = 0;
-               if (u < 0) u = 0;
-               if (v < 0) v = 0;
+        if (r > 255)
+            r = 255;
+        if (g > 255)
+            g = 255;
+        if (b > 255)
+            b = 255;
 
-               if (y > 255) y = 255;
-               if (u > 255) u = 255;
-               if (v > 255) v = 255;
-               
-       }
-       
-};
+    }
 
+}