summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-01-29 13:28:48 -0800
committerAndreas Huber <andih@google.com>2010-01-29 13:28:48 -0800
commit7ff292c8527ecbab292dc703aae227360e39ba3e (patch)
treeebc2dfcd94fcf5f67001760e13684ee01969fbfc /media
parent85fb658b4bcca319f022f34a1de78a9463c9df11 (diff)
downloadframeworks_base-7ff292c8527ecbab292dc703aae227360e39ba3e.zip
frameworks_base-7ff292c8527ecbab292dc703aae227360e39ba3e.tar.gz
frameworks_base-7ff292c8527ecbab292dc703aae227360e39ba3e.tar.bz2
The AVC software decoder always aligns the decoded dimensions to 16 pixel boundaries, report this properly to callers.
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/codecs/avc/dec/AVCDecoder.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libstagefright/codecs/avc/dec/AVCDecoder.cpp b/media/libstagefright/codecs/avc/dec/AVCDecoder.cpp
index 36272ea..aa2a3d1 100644
--- a/media/libstagefright/codecs/avc/dec/AVCDecoder.cpp
+++ b/media/libstagefright/codecs/avc/dec/AVCDecoder.cpp
@@ -322,8 +322,10 @@ status_t AVCDecoder::read(
crop_top = crop_left = 0;
}
- mFormat->setInt32(kKeyWidth, crop_right - crop_left + 1);
- mFormat->setInt32(kKeyHeight, crop_bottom - crop_top + 1);
+ int32_t aligned_width = (crop_right - crop_left + 1 + 15) & ~15;
+ int32_t aligned_height = (crop_bottom - crop_top + 1 + 15) & ~15;
+ mFormat->setInt32(kKeyWidth, aligned_width);
+ mFormat->setInt32(kKeyHeight, aligned_height);
mInputBuffer->release();
mInputBuffer = NULL;