diff options
author | Ronghua Wu <ronghuawu@google.com> | 2014-10-02 11:21:08 -0700 |
---|---|---|
committer | Ronghua Wu <ronghuawu@google.com> | 2014-10-02 22:32:01 -0700 |
commit | 0f694a12f92a01f95807242320bd65e88c699708 (patch) | |
tree | 73fa5937416c68b5afcfccf176e60d6db014429f /media/libstagefright/omx | |
parent | c06cf18e5933cfddddfe86df85b72e1d5f7fcdde (diff) | |
download | frameworks_av-0f694a12f92a01f95807242320bd65e88c699708.zip frameworks_av-0f694a12f92a01f95807242320bd65e88c699708.tar.gz frameworks_av-0f694a12f92a01f95807242320bd65e88c699708.tar.bz2 |
stagefright: fix fake-stride handling for H263 SW decoder
- Use outputBufferWidth/Height to init H263 decoder.
- Handle stride change when using fake stride.
Bug: 17773094
Bug: 17326758
Change-Id: I66ce7b9c650383456923d75417c590e3a8a814e7
Diffstat (limited to 'media/libstagefright/omx')
-rw-r--r-- | media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp b/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp index 3d20a79..2f83610 100644 --- a/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp +++ b/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp @@ -166,8 +166,15 @@ void SoftVideoDecoderOMXComponent::handlePortSettingsChange( bool sizeChanged = (width != mWidth || height != mHeight); bool updateCrop = (cropSettingsMode == kCropUnSet); bool cropChanged = (cropSettingsMode == kCropChanged); + bool strideChanged = false; + if (fakeStride) { + OMX_PARAM_PORTDEFINITIONTYPE *def = &editPortInfo(kOutputPortIndex)->mDef; + if (def->format.video.nStride != width || def->format.video.nSliceHeight != height) { + strideChanged = true; + } + } - if (sizeChanged || cropChanged) { + if (sizeChanged || cropChanged || strideChanged) { mWidth = width; mHeight = height; |