diff options
| author | 2022-11-22 12:06:48 +0000 | |
|---|---|---|
| committer | 2022-11-22 12:06:48 +0000 | |
| commit | da79afaad970566b9157ef29c975145e1f2cc6ac (patch) | |
| tree | 512aa2902cb68eba29c3fe0ea3ec2eddc5acf8a1 | |
| parent | 15cb65593bf7cbdc87f8b4cb56d186842736bd97 (diff) | |
| parent | a34879653e56bb14c681879fe30966250a524bdd (diff) | |
Merge "Fix how ExifInterface creates VP8X chunks for WebP files" am: 7bd2520d4a am: a34879653e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2303892
Change-Id: Id1e5b0ba388406c38c78684d3d264be83cc11a1c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | media/java/android/media/ExifInterface.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java index 083d63ab2091..23f87abaffed 100644 --- a/media/java/android/media/ExifInterface.java +++ b/media/java/android/media/ExifInterface.java @@ -3829,7 +3829,7 @@ public class ExifInterface { int widthAndHeight = 0; int width = 0; int height = 0; - int alpha = 0; + boolean alpha = false; // Save VP8 frame data for later byte[] vp8Frame = new byte[3]; @@ -3864,7 +3864,7 @@ public class ExifInterface { width = ((widthAndHeight << 18) >> 18) + 1; height = ((widthAndHeight << 4) >> 18) + 1; // Retrieve alpha bit - alpha = widthAndHeight & (1 << 3); + alpha = (widthAndHeight & (1 << 28)) != 0; bytesToRead -= (1 /* VP8L signature */ + 4); } @@ -3872,10 +3872,12 @@ public class ExifInterface { nonHeaderOutputStream.write(WEBP_CHUNK_TYPE_VP8X); nonHeaderOutputStream.writeInt(WEBP_CHUNK_TYPE_VP8X_DEFAULT_LENGTH); byte[] data = new byte[WEBP_CHUNK_TYPE_VP8X_DEFAULT_LENGTH]; + // ALPHA flag + if (alpha) { + data[0] = (byte) (data[0] | (1 << 4)); + } // EXIF flag data[0] = (byte) (data[0] | (1 << 3)); - // ALPHA flag - data[0] = (byte) (data[0] | (alpha << 4)); // VP8X stores Width - 1 and Height - 1 values width -= 1; height -= 1; |