summaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-10-22 10:43:34 -0700
committerAndreas Huber <andih@google.com>2009-10-23 08:39:00 -0700
commite13526ad926bfee99778a4f21ea5e4f8a6c8984f (patch)
treee4ccf7eda0eab5d02c399e250ca1a52719ef8195 /include/media
parente981c33446a98d5ccc0d73c1a840696d77cf0732 (diff)
downloadframeworks_base-e13526ad926bfee99778a4f21ea5e4f8a6c8984f.zip
frameworks_base-e13526ad926bfee99778a4f21ea5e4f8a6c8984f.tar.gz
frameworks_base-e13526ad926bfee99778a4f21ea5e4f8a6c8984f.tar.bz2
Prefer software decoders over hardware for thumbnail extraction.
While our hardware decoders clearly outperform the software decoders in terms of raw throughput, their startup latency makes them less suitable for thumbnail extraction.
Diffstat (limited to 'include/media')
-rw-r--r--include/media/stagefright/OMXCodec.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h
index dfc902e..d0f4f17 100644
--- a/include/media/stagefright/OMXCodec.h
+++ b/include/media/stagefright/OMXCodec.h
@@ -30,11 +30,15 @@ struct OMXCodecObserver;
struct OMXCodec : public MediaSource,
public MediaBufferObserver {
+ enum CreationFlags {
+ kPreferSoftwareCodecs = 1,
+ };
static sp<OMXCodec> Create(
const sp<IOMX> &omx,
const sp<MetaData> &meta, bool createEncoder,
const sp<MediaSource> &source,
- const char *matchComponentName = NULL);
+ const char *matchComponentName = NULL,
+ uint32_t flags = 0);
static void setComponentRole(
const sp<IOMX> &omx, IOMX::node_id node, bool isEncoder,
@@ -207,6 +211,14 @@ private:
void dumpPortStatus(OMX_U32 portIndex);
+ static uint32_t getComponentQuirks(const char *componentName);
+
+ static void findMatchingCodecs(
+ const char *mime,
+ bool createEncoder, const char *matchComponentName,
+ uint32_t flags,
+ Vector<String8> *matchingCodecs);
+
OMXCodec(const OMXCodec &);
OMXCodec &operator=(const OMXCodec &);
};