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

Commit 527da4c9 authored by Lajos Molnar's avatar Lajos Molnar
Browse files

Codec 2.0: finalize component names

Bug: 64121714
Test: screenrecord, playback
Change-Id: I477555aae5b1d0f840317034b346cb1eab5b6841
parent 0c1f9148
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -287,7 +287,9 @@ const sp<AMessage> MediaCodecList::getGlobalSettings() const {
//static
bool MediaCodecList::isSoftwareCodec(const AString &componentName) {
    return componentName.startsWithIgnoreCase("OMX.google.")
        || !componentName.startsWithIgnoreCase("OMX.");
            || componentName.startsWithIgnoreCase("c2.android.")
            || (!componentName.startsWithIgnoreCase("OMX.")
                    && !componentName.startsWithIgnoreCase("c2."));
}

static int compareSoftwareCodecsFirst(const AString *name1, const AString *name2) {
@@ -298,7 +300,14 @@ static int compareSoftwareCodecsFirst(const AString *name1, const AString *name2
        return isSoftwareCodec2 - isSoftwareCodec1;
    }

    // sort order 2: OMX codecs are first (lower)
    // sort order 2: Codec 2.0 codecs are first (lower)
    bool isC2_1 = name1->startsWithIgnoreCase("c2.");
    bool isC2_2 = name2->startsWithIgnoreCase("c2.");
    if (isC2_1 != isC2_2) {
        return isC2_2 - isC2_1;
    }

    // sort order 3: OMX codecs are first (lower)
    bool isOMX1 = name1->startsWithIgnoreCase("OMX.");
    bool isOMX2 = name2->startsWithIgnoreCase("OMX.");
    return isOMX2 - isOMX1;
+1 −1
Original line number Diff line number Diff line
@@ -222,7 +222,7 @@ void profileCodecs(
    AString supportMultipleSecureCodecs = "true";
    for (const auto& info : infos) {
        AString name = info->getCodecName();
        if (name.startsWith("OMX.google.") ||
        if (name.startsWith("OMX.google.") || name.startsWith("c2.android.") ||
                // TODO: reenable below codecs once fixed
                name == "OMX.Intel.VideoDecoder.VP9.hybrid") {
            continue;
+14 −14
Original line number Diff line number Diff line
@@ -16,77 +16,77 @@

<Included>
    <Decoders>
        <MediaCodec name="c2.google.mp3.decoder" type="audio/mpeg">
        <MediaCodec name="c2.android.mp3.decoder" type="audio/mpeg">
            <Limit name="channel-count" max="2" />
            <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
            <Limit name="bitrate" range="8000-320000" />
        </MediaCodec>
        <MediaCodec name="c2.google.amrnb.decoder" type="audio/3gpp">
        <MediaCodec name="c2.android.amrnb.decoder" type="audio/3gpp">
            <Limit name="channel-count" max="1" />
            <Limit name="sample-rate" ranges="8000" />
            <Limit name="bitrate" range="4750-12200" />
        </MediaCodec>
        <MediaCodec name="c2.google.amrwb.decoder" type="audio/amr-wb">
        <MediaCodec name="c2.android.amrwb.decoder" type="audio/amr-wb">
            <Limit name="channel-count" max="1" />
            <Limit name="sample-rate" ranges="16000" />
            <Limit name="bitrate" range="6600-23850" />
        </MediaCodec>
        <MediaCodec name="c2.google.aac.decoder" type="audio/mp4a-latm">
        <MediaCodec name="c2.android.aac.decoder" type="audio/mp4a-latm">
            <Limit name="channel-count" max="8" />
            <Limit name="sample-rate" ranges="7350,8000,11025,12000,16000,22050,24000,32000,44100,48000" />
            <Limit name="bitrate" range="8000-960000" />
        </MediaCodec>
        <MediaCodec name="c2.google.g711.alaw.decoder" type="audio/g711-alaw">
        <MediaCodec name="c2.android.g711.alaw.decoder" type="audio/g711-alaw">
            <Limit name="channel-count" max="1" />
            <Limit name="sample-rate" ranges="8000-48000" />
            <Limit name="bitrate" range="64000" />
        </MediaCodec>
        <MediaCodec name="c2.google.g711.mlaw.decoder" type="audio/g711-mlaw">
        <MediaCodec name="c2.android.g711.mlaw.decoder" type="audio/g711-mlaw">
            <Limit name="channel-count" max="1" />
            <Limit name="sample-rate" ranges="8000-48000" />
            <Limit name="bitrate" range="64000" />
        </MediaCodec>
        <MediaCodec name="c2.google.vorbis.decoder" type="audio/vorbis">
        <MediaCodec name="c2.android.vorbis.decoder" type="audio/vorbis">
            <Limit name="channel-count" max="8" />
            <Limit name="sample-rate" ranges="8000-96000" />
            <Limit name="bitrate" range="32000-500000" />
        </MediaCodec>
        <MediaCodec name="c2.google.opus.decoder" type="audio/opus">
        <MediaCodec name="c2.android.opus.decoder" type="audio/opus">
            <Limit name="channel-count" max="8" />
            <Limit name="sample-rate" ranges="48000" />
            <Limit name="bitrate" range="6000-510000" />
        </MediaCodec>
        <MediaCodec name="c2.google.raw.decoder" type="audio/raw">
        <MediaCodec name="c2.android.raw.decoder" type="audio/raw">
            <Limit name="channel-count" max="8" />
            <Limit name="sample-rate" ranges="8000-96000" />
            <Limit name="bitrate" range="1-10000000" />
        </MediaCodec>
        <MediaCodec name="c2.google.flac.decoder" type="audio/flac">
        <MediaCodec name="c2.android.flac.decoder" type="audio/flac">
            <Limit name="channel-count" max="8" />
            <Limit name="sample-rate" ranges="1-655350" />
            <Limit name="bitrate" range="1-21000000" />
        </MediaCodec>
    </Decoders>
    <Encoders>
        <MediaCodec name="c2.google.aac.encoder" type="audio/mp4a-latm">
        <MediaCodec name="c2.android.aac.encoder" type="audio/mp4a-latm">
            <Limit name="channel-count" max="6" />
            <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
            <!-- also may support 64000, 88200  and 96000 Hz -->
            <Limit name="bitrate" range="8000-960000" />
        </MediaCodec>
        <MediaCodec name="c2.google.amrnb.encoder" type="audio/3gpp">
        <MediaCodec name="c2.android.amrnb.encoder" type="audio/3gpp">
            <Limit name="channel-count" max="1" />
            <Limit name="sample-rate" ranges="8000" />
            <Limit name="bitrate" range="4750-12200" />
            <Feature name="bitrate-modes" value="CBR" />
        </MediaCodec>
        <MediaCodec name="c2.google.amrwb.encoder" type="audio/amr-wb">
        <MediaCodec name="c2.android.amrwb.encoder" type="audio/amr-wb">
            <Limit name="channel-count" max="1" />
            <Limit name="sample-rate" ranges="16000" />
            <Limit name="bitrate" range="6600-23850" />
            <Feature name="bitrate-modes" value="CBR" />
        </MediaCodec>
        <MediaCodec name="c2.google.flac.encoder" type="audio/flac">
        <MediaCodec name="c2.android.flac.encoder" type="audio/flac">
            <Limit name="channel-count" max="2" />
            <Limit name="sample-rate" ranges="1-655350" />
            <Limit name="bitrate" range="1-21000000" />
+11 −11
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

<Included>
    <Decoders>
        <MediaCodec name="c2.google.mpeg4.decoder" type="video/mp4v-es">
        <MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es">
            <!-- profiles and levels:  ProfileSimple : Level3 -->
            <Limit name="size" min="2x2" max="352x288" />
            <Limit name="alignment" value="2x2" />
@@ -25,7 +25,7 @@
            <Limit name="bitrate" range="1-384000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="c2.google.h263.decoder" type="video/3gpp">
        <MediaCodec name="c2.android.h263.decoder" type="video/3gpp">
            <!-- profiles and levels:  ProfileBaseline : Level30, ProfileBaseline : Level45
                    ProfileISWV2 : Level30, ProfileISWV2 : Level45 -->
            <Limit name="size" min="2x2" max="352x288" />
@@ -33,7 +33,7 @@
            <Limit name="bitrate" range="1-384000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="c2.google.avc.decoder" type="video/avc">
        <MediaCodec name="c2.android.avc.decoder" type="video/avc">
            <!-- profiles and levels:  ProfileHigh : Level52 -->
            <Limit name="size" min="2x2" max="4080x4080" />
            <Limit name="alignment" value="2x2" />
@@ -43,7 +43,7 @@
            <Limit name="bitrate" range="1-48000000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="c2.google.hevc.decoder" type="video/hevc">
        <MediaCodec name="c2.android.hevc.decoder" type="video/hevc">
            <!-- profiles and levels:  ProfileMain : MainTierLevel51 -->
            <Limit name="size" min="2x2" max="4096x4096" />
            <Limit name="alignment" value="2x2" />
@@ -53,7 +53,7 @@
            <Limit name="bitrate" range="1-10000000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="c2.google.vp8.decoder" type="video/x-vnd.on2.vp8">
        <MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8">
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
@@ -62,7 +62,7 @@
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="c2.google.vp9.decoder" type="video/x-vnd.on2.vp9">
        <MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9">
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
@@ -74,13 +74,13 @@
    </Decoders>

    <Encoders>
        <MediaCodec name="c2.google.h263.encoder" type="video/3gpp">
        <MediaCodec name="c2.android.h263.encoder" type="video/3gpp">
            <!-- profiles and levels:  ProfileBaseline : Level45 -->
            <Limit name="size" min="176x144" max="176x144" />
            <Limit name="alignment" value="16x16" />
            <Limit name="bitrate" range="1-128000" />
        </MediaCodec>
        <MediaCodec name="c2.google.avc.encoder" type="video/avc">
        <MediaCodec name="c2.android.avc.encoder" type="video/avc">
            <!-- profiles and levels:  ProfileBaseline : Level41 -->
            <Limit name="size" min="16x16" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
@@ -90,7 +90,7 @@
            <Limit name="bitrate" range="1-12000000" />
            <Feature name="intra-refresh" />
        </MediaCodec>
        <MediaCodec name="c2.google.mpeg4.encoder" type="video/mp4v-es">
        <MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es">
            <!-- profiles and levels:  ProfileCore : Level2 -->
            <Limit name="size" min="16x16" max="176x144" />
            <Limit name="alignment" value="16x16" />
@@ -98,7 +98,7 @@
            <Limit name="blocks-per-second" range="12-1485" />
            <Limit name="bitrate" range="1-64000" />
        </MediaCodec>
        <MediaCodec name="c2.google.vp8.encoder" type="video/x-vnd.on2.vp8">
        <MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8">
            <!-- profiles and levels:  ProfileMain : Level_Version0-3 -->
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
@@ -108,7 +108,7 @@
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="bitrate-modes" value="VBR,CBR" />
        </MediaCodec>
        <MediaCodec name="c2.google.vp9.encoder" type="video/x-vnd.on2.vp9">
        <MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9">
            <!-- profiles and levels:  ProfileMain : Level_Version0-3 -->
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />