aboutsummaryrefslogtreecommitdiff
path: root/videocodec/OMXVideoDecoderBase.h
diff options
context:
space:
mode:
authorywan171 <yi.a.wang@intel.com>2012-04-18 15:21:37 +0800
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:02:46 -0700
commita58f3851934aa62681d18cd358ce397d1dfe2806 (patch)
treedc87d0627540c8494067b6007cb2e7506dd3e30d /videocodec/OMXVideoDecoderBase.h
parent80b8bf146f8ec6bbbaa88d2f31d315bc599e6b8f (diff)
downloadomx-components-a58f3851934aa62681d18cd358ce397d1dfe2806.tar.gz
omx-component: enhance OMX IL to handle the case that resolution in container is diff from ES resolution
BZ: 25724 29844 28316 enhance OMX IL to handle the case that resolution in container is diff from ES resolution 1: if the resolution in container is larger than real ES resolution, return the correct crop info to omxcodec to set the proper region for display 2: if the resolution in container is smaller than real ES resolution, Graphic buffer in omxcodec should be reallocated and reset graphic related info to OMX IL and libmix, va should be restart. Signed-off-by: ywan171 <yi.a.wang@intel.com> Change-Id: I06eb1da32ab62654371581d7a01afeeb94d004bf Reviewed-on: http://android.intel.com:8080/42768 Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com> Reviewed-by: Ding, Haitao <haitao.ding@intel.com> Tested-by: Ding, Haitao <haitao.ding@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'videocodec/OMXVideoDecoderBase.h')
-rw-r--r--videocodec/OMXVideoDecoderBase.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/videocodec/OMXVideoDecoderBase.h b/videocodec/OMXVideoDecoderBase.h
index 18858fb..a83548a 100644
--- a/videocodec/OMXVideoDecoderBase.h
+++ b/videocodec/OMXVideoDecoderBase.h
@@ -49,7 +49,7 @@ protected:
OMX_BUFFERHEADERTYPE ***pBuffers,
buffer_retain_t *retains,
OMX_U32 numberBuffers);
-
+ virtual OMX_ERRORTYPE ProcessorReset(void);
virtual bool IsAllBufferAvailable(void);
virtual OMX_ERRORTYPE ProcessorPreFillBuffer(OMX_BUFFERHEADERTYPE* buffer);
virtual OMX_ERRORTYPE ProcessorPreFreeBuffer(OMX_U32 nPortIndex,OMX_BUFFERHEADERTYPE * pBuffer);
@@ -67,6 +67,7 @@ protected:
DECLARE_HANDLER(OMXVideoDecoderBase, NativeBuffer);
DECLARE_HANDLER(OMXVideoDecoderBase, NativeBufferMode);
DECLARE_HANDLER(OMXVideoDecoderBase, DecoderRotation);
+ DECLARE_HANDLER(OMXVideoDecoderBase, DecoderOutputCrop);
private:
enum {
@@ -84,8 +85,13 @@ private:
};
uint32_t mOMXBufferHeaderTypePtrNum;
OMX_BUFFERHEADERTYPE *mOMXBufferHeaderTypePtrArray[MAX_GRAPHIC_NUM];
- uint32_t mGraphicBufferStride;
- uint32_t mGraphicBuffercolorformat;
+ struct GraphicBufferParam {
+ uint32_t graphicBufferStride;
+ uint32_t graphicBufferWidth;
+ uint32_t graphicBufferHeight;
+ uint32_t graphicBufferColorFormat;
+ };
+ GraphicBufferParam mGraphicBufferParam;
uint32_t mRotationDegrees;
protected: