diff options
-rw-r--r-- | cmds/stagefright/stagefright.cpp | 2 | ||||
-rw-r--r-- | include/media/stagefright/OMXCodec.h | 7 | ||||
-rwxr-xr-x | media/libstagefright/OMXCodec.cpp | 7 |
3 files changed, 15 insertions, 1 deletions
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index b42f1c5..34f0a64 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -803,9 +803,9 @@ int main(int argc, char **argv) { printf("type '%s':\n", kMimeTypes[k]); Vector<CodecCapabilities> results; + // will retrieve hardware and software codecs CHECK_EQ(QueryCodecs(omx, kMimeTypes[k], true, // queryDecoders - false, // hwCodecOnly &results), (status_t)OK); for (size_t i = 0; i < results.size(); ++i) { diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h index 20fcde5..93933d9 100644 --- a/include/media/stagefright/OMXCodec.h +++ b/include/media/stagefright/OMXCodec.h @@ -348,6 +348,8 @@ struct CodecCapabilities { // that encode content of the given type. // profile and level indications only make sense for h.263, mpeg4 and avc // video. +// If hwCodecOnly==true, only returns hardware-based components, software and +// hardware otherwise. // The profile/level values correspond to // OMX_VIDEO_H263PROFILETYPE, OMX_VIDEO_MPEG4PROFILETYPE, // OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263LEVELTYPE, OMX_VIDEO_MPEG4LEVELTYPE @@ -358,6 +360,11 @@ status_t QueryCodecs( const char *mimeType, bool queryDecoders, bool hwCodecOnly, Vector<CodecCapabilities> *results); +status_t QueryCodecs( + const sp<IOMX> &omx, + const char *mimeType, bool queryDecoders, + Vector<CodecCapabilities> *results); + } // namespace android #endif // OMX_CODEC_H_ diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index 7bcbdcf..0a6f0bd 100755 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -4415,6 +4415,13 @@ status_t QueryCodecs( return OK; } +status_t QueryCodecs( + const sp<IOMX> &omx, + const char *mimeType, bool queryDecoders, + Vector<CodecCapabilities> *results) { + return QueryCodecs(omx, mimeType, queryDecoders, false /*hwCodecOnly*/, results); +} + void OMXCodec::restorePatchedDataPointer(BufferInfo *info) { CHECK(mIsEncoder && (mQuirks & kAvoidMemcopyInputRecordingFrames)); CHECK(mOMXLivesLocally); |