From e32ec5de54dc9eae9f10c66cb5dff31c4d6407b4 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 16 Aug 2013 11:01:32 +0200 Subject: [PATCH 1/2] fix bug #2021 --- java/libraries/video/src/processing/video/Video.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/libraries/video/src/processing/video/Video.java b/java/libraries/video/src/processing/video/Video.java index 72384b69cf..b9150ea3b8 100644 --- a/java/libraries/video/src/processing/video/Video.java +++ b/java/libraries/video/src/processing/video/Video.java @@ -212,7 +212,8 @@ static protected void convertToARGB(int[] pixels, int width, int height) { for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { int pixel = pixels[p++]; - pixels[t++] = (pixel >> 8) | ((pixel << 24) & 0xFF000000); + int alpha = (pixel & 0xff) << 24; + pixels[t++] = (pixel >> 8) & (alpha|0x00FFFFFF); } } From 4cab30386e521456e062c1b9dfc630723504b92e Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 16 Aug 2013 11:33:18 +0200 Subject: [PATCH 2/2] optimize RGBA to ARGB converting --- java/libraries/video/src/processing/video/Video.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java/libraries/video/src/processing/video/Video.java b/java/libraries/video/src/processing/video/Video.java index b9150ea3b8..f0efd24f71 100644 --- a/java/libraries/video/src/processing/video/Video.java +++ b/java/libraries/video/src/processing/video/Video.java @@ -212,8 +212,7 @@ static protected void convertToARGB(int[] pixels, int width, int height) { for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { int pixel = pixels[p++]; - int alpha = (pixel & 0xff) << 24; - pixels[t++] = (pixel >> 8) & (alpha|0x00FFFFFF); + pixels[t++] = (pixel << 8) | ((pixel >> 24) & 0xFF); } }