summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2014-10-02 11:21:08 -0700
committerRonghua Wu <ronghuawu@google.com>2014-10-02 22:32:01 -0700
commit0f694a12f92a01f95807242320bd65e88c699708 (patch)
tree73fa5937416c68b5afcfccf176e60d6db014429f /media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp
parentc06cf18e5933cfddddfe86df85b72e1d5f7fcdde (diff)
downloadframeworks_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/SoftVideoDecoderOMXComponent.cpp')
-rw-r--r--media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp9
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;