summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright
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
commitba229b3faa98b3bb6567cf95040062be2d9c2b3f (patch)
tree2f13ee20c074336addf9df049da764ecb2eb77df /include/media/stagefright
parent7e04dcf8d6784dd56f53aa90bf34431ab4f0710c (diff)
downloadframeworks_av-ba229b3faa98b3bb6567cf95040062be2d9c2b3f.zip
frameworks_av-ba229b3faa98b3bb6567cf95040062be2d9c2b3f.tar.gz
frameworks_av-ba229b3faa98b3bb6567cf95040062be2d9c2b3f.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/stagefright')
-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 &);
};