/*
- * Imagesqueeze - Image codec optimized for photos.
- * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public License
- * as published by the Free Software Foundation.
+ * Image codec. Author: Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ * This project is released under Creative Commons Zero (CC0) license.
*/
-
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 RGB2YUV() {
- 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);
+ 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 (y < 0)
- y = 0;
- if (u < 0)
- u = 0;
- if (v < 0)
- v = 0;
+ if (y < 0)
+ y = 0;
+ if (u < 0)
+ u = 0;
+ if (v < 0)
+ v = 0;
- if (y > 255)
- y = 255;
- if (u > 255)
- u = 255;
- if (v > 255)
- v = 255;
+ if (y > 255)
+ y = 255;
+ if (u > 255)
+ u = 255;
+ if (v > 255)
+ v = 255;
- }
+ }
- public void YUV2RGB() {
+ public void YUV2RGB() {
- 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)));
+ 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 (r < 0)
- r = 0;
- if (g < 0)
- g = 0;
- if (b < 0)
- b = 0;
+ if (r < 0)
+ r = 0;
+ if (g < 0)
+ g = 0;
+ if (b < 0)
+ b = 0;
- if (r > 255)
- r = 255;
- if (g > 255)
- g = 255;
- if (b > 255)
- b = 255;
+ if (r > 255)
+ r = 255;
+ if (g > 255)
+ g = 255;
+ if (b > 255)
+ b = 255;
- }
+ }
-};
+}