Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a05f0993 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

QueryCodecs() signature change

Restore QueryCodecs() signature exactly as used by third-party libs.
Add an alternative function to select HW only codecs.

Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
parent 47d4caf4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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) {
+7 −0
Original line number Diff line number Diff line
@@ -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_
+7 −0
Original line number Diff line number Diff line
@@ -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);