summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2015-06-16 14:50:36 -0700
committerMarco Nelissen <marcone@google.com>2015-06-17 12:30:47 -0700
commit3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06 (patch)
tree66f4e301ba869044aa5315843fdcfbcadb420d12 /media
parent0f212b73e47ef0e1fa39aa250ebabedb9d81a361 (diff)
downloadframeworks_av-3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06.zip
frameworks_av-3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06.tar.gz
frameworks_av-3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06.tar.bz2
Fix software video decoder buffer size calculation
Various software video decoders would specify the buffer size as if it were fully cropped, which then failed a sanity check in SoftwareRenderer. They now return the full buffer size. Bug: 21717327 Bug: 21443020 Change-Id: I19fcd091827ebd52a95a5509281a07ccc156e0e5
Diffstat (limited to 'media')
-rwxr-xr-xmedia/libstagefright/codecs/avcdec/SoftAVCDec.cpp2
-rw-r--r--media/libstagefright/codecs/on2/dec/SoftVPX.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp b/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp
index 8ac337a..f3af777 100755
--- a/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp
+++ b/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp
@@ -787,7 +787,7 @@ void SoftAVC::onQueueFilled(OMX_U32 portIndex) {
}
if (s_dec_op.u4_output_present) {
- outHeader->nFilledLen = (mWidth * mHeight * 3) / 2;
+ outHeader->nFilledLen = (outputBufferWidth() * outputBufferHeight() * 3) / 2;
outHeader->nTimeStamp = mTimeStamps[s_dec_op.u4_ts];
mTimeStampsValid[s_dec_op.u4_ts] = false;
diff --git a/media/libstagefright/codecs/on2/dec/SoftVPX.cpp b/media/libstagefright/codecs/on2/dec/SoftVPX.cpp
index a35909e..e161fb8 100644
--- a/media/libstagefright/codecs/on2/dec/SoftVPX.cpp
+++ b/media/libstagefright/codecs/on2/dec/SoftVPX.cpp
@@ -146,8 +146,8 @@ bool SoftVPX::outputBuffers(bool flushDecoder, bool display, bool eos, bool *por
}
outHeader->nOffset = 0;
- outHeader->nFilledLen = (width * height * 3) / 2;
outHeader->nFlags = 0;
+ outHeader->nFilledLen = (outputBufferWidth() * outputBufferHeight() * 3) / 2;
outHeader->nTimeStamp = *(OMX_TICKS *)mImg->user_priv;
uint8_t *dst = outHeader->pBuffer;