diff options
| author | Marco Nelissen <marcone@google.com> | 2015-06-16 14:50:36 -0700 | 
|---|---|---|
| committer | Marco Nelissen <marcone@google.com> | 2015-06-17 12:30:47 -0700 | 
| commit | 3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06 (patch) | |
| tree | 66f4e301ba869044aa5315843fdcfbcadb420d12 /media | |
| parent | 0f212b73e47ef0e1fa39aa250ebabedb9d81a361 (diff) | |
| download | frameworks_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-x | media/libstagefright/codecs/avcdec/SoftAVCDec.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/codecs/on2/dec/SoftVPX.cpp | 2 | 
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;  | 
