diff options
| author | 2015-07-31 02:47:35 +0000 | |
|---|---|---|
| committer | 2015-07-31 02:47:35 +0000 | |
| commit | fc1bcc37a6ebc466306f2b33c57e95cea69b693c (patch) | |
| tree | 59d106dd27440769ec73db75d96875b5dfad301f | |
| parent | 9eb208829832a6f536912169114695f6fd85a55b (diff) | |
| parent | 0278f2bf2d627af718a7540f8c6aaa8a359caae6 (diff) | |
am 0278f2bf: am e8b7febd: Merge "media: use blocks number to find closest size" into mnc-dev
* commit '0278f2bf2d627af718a7540f8c6aaa8a359caae6':
media: use blocks number to find closest size
| -rw-r--r-- | media/java/android/media/MediaCodecInfo.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java index 65d04507db67..8243d4041da5 100644 --- a/media/java/android/media/MediaCodecInfo.java +++ b/media/java/android/media/MediaCodecInfo.java @@ -1198,15 +1198,20 @@ public final class MediaCodecInfo { (double) mFrameRateRange.getUpper())); } + private int getBlockCount(int width, int height) { + return Utils.divUp(width, mBlockWidth) * Utils.divUp(height, mBlockHeight); + } + @NonNull private Size findClosestSize(int width, int height) { - int targetPixels = width * height; + int targetBlockCount = getBlockCount(width, height); Size closestSize = null; - int mimPixelsDiff = Integer.MAX_VALUE; + int minDiff = Integer.MAX_VALUE; for (Size size : mMeasuredFrameRates.keySet()) { - int pixelsDiff = Math.abs(targetPixels - size.getWidth() * size.getHeight()); - if (pixelsDiff < mimPixelsDiff) { - mimPixelsDiff = pixelsDiff; + int diff = Math.abs(targetBlockCount - + getBlockCount(size.getWidth(), size.getHeight())); + if (diff < minDiff) { + minDiff = diff; closestSize = size; } } |