From 45e4584a0f92b0bc69797714f651b12569d7fe85 Mon Sep 17 00:00:00 2001 From: Posselwhite Date: Tue, 21 Jun 2011 12:41:01 +0200 Subject: [PATCH] Performance increase in thumbnail handling Allow for 160*120 thumbnails which is what cameras commonly generates. The constants for the micro thumbnail were set to other values, resulting in recalculations of the thumbnais, which takes time. This change only affects the maximum size of the temporary image, when choosing whether to use the EXIF thumbnail or decoding and downsampling the full image. Without this change, it will choose an x16 downsampling of the full image over an x2 downsampling of the EXIF thumbnail, after the change it will prefer the EXIF thumbnail. Cf the DCF specifications at http://www.exif.org/dcf.PDF, "3.3.6. DCF basic thumbnail data structure, (C) Pixel count" Tested by running DDMS and measuring the time required to create a thumbnail. This was 220-280 ms prior to change, < 20 ms after. Change-Id: I59c753493f947e920bad3fde5eeed5d49d509863 --- media/java/android/media/ThumbnailUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/java/android/media/ThumbnailUtils.java b/media/java/android/media/ThumbnailUtils.java index 8eb9332474726..756638c0f6f8c 100644 --- a/media/java/android/media/ThumbnailUtils.java +++ b/media/java/android/media/ThumbnailUtils.java @@ -48,7 +48,7 @@ public class ThumbnailUtils { /* Maximum pixels size for created bitmap. */ private static final int MAX_NUM_PIXELS_THUMBNAIL = 512 * 384; - private static final int MAX_NUM_PIXELS_MICRO_THUMBNAIL = 128 * 128; + private static final int MAX_NUM_PIXELS_MICRO_THUMBNAIL = 160 * 120; private static final int UNCONSTRAINED = -1; /* Options used internally. */