diff options
author | Ronghua Wu <ronghuawu@google.com> | 2014-09-12 11:57:27 -0700 |
---|---|---|
committer | Ronghua Wu <ronghuawu@google.com> | 2014-09-23 13:52:19 -0700 |
commit | 1aa26f787afc525e0deae31d856dce74a4b28a0f (patch) | |
tree | b1722cd0ced9a000aa50e1b9fd33ca124fa9afb6 /media/libstagefright/codecs/hevcdec/SoftHEVC.h | |
parent | 2973994af39d55b58728df3dca067594e826ea2a (diff) | |
download | frameworks_av-1aa26f787afc525e0deae31d856dce74a4b28a0f.zip frameworks_av-1aa26f787afc525e0deae31d856dce74a4b28a0f.tar.gz frameworks_av-1aa26f787afc525e0deae31d856dce74a4b28a0f.tar.bz2 |
stagefright: add adaptive playback support to SoftHEVC decoder.
Bug: 17326758
Change-Id: I245e2bd1490e810094ca550fdddfa87075bc2056
Diffstat (limited to 'media/libstagefright/codecs/hevcdec/SoftHEVC.h')
-rw-r--r-- | media/libstagefright/codecs/hevcdec/SoftHEVC.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/media/libstagefright/codecs/hevcdec/SoftHEVC.h b/media/libstagefright/codecs/hevcdec/SoftHEVC.h index 233db0c..a91f528 100644 --- a/media/libstagefright/codecs/hevcdec/SoftHEVC.h +++ b/media/libstagefright/codecs/hevcdec/SoftHEVC.h @@ -62,6 +62,7 @@ protected: virtual void onQueueFilled(OMX_U32 portIndex); virtual void onPortFlushCompleted(OMX_U32 portIndex); virtual void onReset(); + virtual OMX_ERRORTYPE internalSetParameter(OMX_INDEXTYPE index, const OMX_PTR params); private: // Number of input and output buffers enum { @@ -72,12 +73,6 @@ private: iv_mem_rec_t *mMemRecords; // Memory records requested by the codec size_t mNumMemRecords; // Number of memory records requested by the codec - uint32_t mNewWidth; // New width after change in resolution - uint32_t mNewHeight; // New height after change in resolution - uint32_t mInitWidth; // Width used during codec creation - uint32_t mInitHeight; // Height used during codec creation - size_t mStride; // Stride to be used for display buffers - size_t mNumCores; // Number of cores to be uesd by the codec struct timeval mTimeStart; // Time at the start of decode() @@ -98,7 +93,13 @@ private: bool mIsInFlush; // codec is flush mode bool mReceivedEOS; // EOS is receieved on input port - bool mIsAdapting; // plugin in middle of change in resolution + bool mInitNeeded; + uint32_t mNewWidth; + uint32_t mNewHeight; + // The input stream has changed to a different resolution, which is still supported by the + // codec. So the codec is switching to decode the new resolution. + bool mChangingResolution; + bool mFlushNeeded; status_t initDecoder(); status_t deInitDecoder(); @@ -114,7 +115,6 @@ private: ivd_video_decode_op_t *ps_dec_op, OMX_BUFFERHEADERTYPE *inHeader, OMX_BUFFERHEADERTYPE *outHeader, - size_t sizeY, size_t timeStampIx); DISALLOW_EVIL_CONSTRUCTORS (SoftHEVC); |