summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/hevcdec/SoftHEVC.h
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2014-09-12 11:57:27 -0700
committerRonghua Wu <ronghuawu@google.com>2014-09-23 13:52:19 -0700
commit1aa26f787afc525e0deae31d856dce74a4b28a0f (patch)
treeb1722cd0ced9a000aa50e1b9fd33ca124fa9afb6 /media/libstagefright/codecs/hevcdec/SoftHEVC.h
parent2973994af39d55b58728df3dca067594e826ea2a (diff)
downloadframeworks_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.h16
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);