summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-04-02 12:49:54 -0700
committerAndreas Huber <andih@google.com>2010-04-02 12:55:31 -0700
commita4357addf609c4a88867c93db135d531b2c40352 (patch)
tree98c7ac87bf0ce88999a044ffcbfd848690733471 /include
parentd9c16c37ea28933973f32cb434f770226266b675 (diff)
downloadframeworks_base-a4357addf609c4a88867c93db135d531b2c40352.zip
frameworks_base-a4357addf609c4a88867c93db135d531b2c40352.tar.gz
frameworks_base-a4357addf609c4a88867c93db135d531b2c40352.tar.bz2
Coalesce multiple encoded AAC frames into a single input buffer on this particular OMX codec to increase throughput significantly.
Change-Id: I90c7db6656a53339c5d454336548c4f00d0d9064 related-to-bug: 2548426
Diffstat (limited to 'include')
-rw-r--r--include/media/stagefright/OMXCodec.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h
index d58c711..1d76a1a 100644
--- a/include/media/stagefright/OMXCodec.h
+++ b/include/media/stagefright/OMXCodec.h
@@ -87,16 +87,17 @@ private:
};
enum Quirks {
- kNeedsFlushBeforeDisable = 1,
- kWantsNALFragments = 2,
- kRequiresLoadedToIdleAfterAllocation = 4,
- kRequiresAllocateBufferOnInputPorts = 8,
- kRequiresFlushCompleteEmulation = 16,
- kRequiresAllocateBufferOnOutputPorts = 32,
- kRequiresFlushBeforeShutdown = 64,
- kDefersOutputBufferAllocation = 128,
- kDecoderLiesAboutNumberOfChannels = 256,
- kInputBufferSizesAreBogus = 512,
+ kNeedsFlushBeforeDisable = 1,
+ kWantsNALFragments = 2,
+ kRequiresLoadedToIdleAfterAllocation = 4,
+ kRequiresAllocateBufferOnInputPorts = 8,
+ kRequiresFlushCompleteEmulation = 16,
+ kRequiresAllocateBufferOnOutputPorts = 32,
+ kRequiresFlushBeforeShutdown = 64,
+ kDefersOutputBufferAllocation = 128,
+ kDecoderLiesAboutNumberOfChannels = 256,
+ kInputBufferSizesAreBogus = 512,
+ kSupportsMultipleFramesPerInputBuffer = 1024,
};
struct BufferInfo {
@@ -137,6 +138,8 @@ private:
bool mOutputPortSettingsHaveChanged;
int64_t mSeekTimeUs;
+ MediaBuffer *mLeftOverBuffer;
+
Mutex mLock;
Condition mAsyncCompletion;