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

Commit a221cb4a authored by Lajos Molnar's avatar Lajos Molnar
Browse files

stagefright: update google video codec capabilities

VP9 encoder can only encode at 3-5pfs at 1080p on 2016 devices,
which is not really useful. Advertise only 720p support.

Increase advertised bitstream support to match level claimed
for HEVC decoder and AVC codecs that are used for thumbnail
extraction.

Bug: 64568747
Bug: 64425166
Bug: 31387661
Change-Id: I6e85613826b81fd92aa28c197ae9911be52476b5
parent 4079be01
Loading
Loading
Loading
Loading
+18 −8
Original line number Diff line number Diff line
@@ -34,20 +34,21 @@
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="OMX.google.h264.decoder" type="video/avc">
            <!-- profiles and levels:  ProfileHigh : Level41 -->
            <Limit name="size" min="16x16" max="1920x1088" />
            <!-- profiles and levels:  ProfileHigh : Level52 -->
            <Limit name="size" min="2x2" max="4096x4096" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="blocks-per-second" range="1-244800" />
            <Limit name="bitrate" range="1-12000000" />
            <Limit name="block-count" range="1-32768" /> <!-- max 4096x2048 -->
            <Limit name="blocks-per-second" range="1-1966080" />
            <Limit name="bitrate" range="1-48000000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc">
            <!-- profiles and levels:  ProfileMain : MainTierLevel51 -->
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="size" min="2x2" max="4096x4096" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="8x8" />
            <Limit name="block-count" range="1-139264" />
            <Limit name="block-count" range="1-196608" /> <!-- max 4096x3072 -->
            <Limit name="blocks-per-second" range="1-2000000" />
            <Limit name="bitrate" range="1-10000000" />
            <Feature name="adaptive-playback" />
@@ -56,6 +57,7 @@
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="block-count" range="1-16384" />
            <Limit name="blocks-per-second" range="1-1000000" />
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="adaptive-playback" />
@@ -64,6 +66,7 @@
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="block-count" range="1-16384" />
            <Limit name="blocks-per-second" range="1-500000" />
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="adaptive-playback" />
@@ -79,10 +82,11 @@
        </MediaCodec>
        <MediaCodec name="OMX.google.h264.encoder" type="video/avc">
            <!-- profiles and levels:  ProfileBaseline : Level41 -->
            <Limit name="size" min="16x16" max="1920x1088" />
            <Limit name="size" min="16x16" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="blocks-per-second" range="1-244800" />
            <Limit name="block-count" range="1-8192" /> <!-- max 2048x1024 -->
            <Limit name="blocks-per-second" range="1-245760" />
            <Limit name="bitrate" range="1-12000000" />
            <Feature name="intra-refresh" />
        </MediaCodec>
@@ -98,6 +102,9 @@
            <!-- profiles and levels:  ProfileMain : Level_Version0-3 -->
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <!-- 2016 devices can encode at about 10fps at this block count -->
            <Limit name="block-count" range="1-16384" />
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="bitrate-modes" value="VBR,CBR" />
        </MediaCodec>
@@ -105,6 +112,9 @@
            <!-- profiles and levels:  ProfileMain : Level_Version0-3 -->
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <!-- 2016 devices can encode at about 8fps at this block count -->
            <Limit name="block-count" range="1-3600" /> <!-- max 1280x720 -->
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="bitrate-modes" value="VBR,CBR" />
        </MediaCodec>
+16 −13
Original line number Diff line number Diff line
@@ -34,22 +34,22 @@
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="OMX.google.h264.decoder" type="video/avc">
            <!-- profiles and levels:  ProfileBaseline : Level51 -->
            <!-- profiles and levels:  ProfileHigh : Level51 -->
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="block-count" range="1-8160" />
            <Limit name="blocks-per-second" range="1-489600" />
            <Limit name="block-count" range="1-16384" />
            <Limit name="blocks-per-second" range="1-491520" />
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc">
            <!-- profiles and levels:  ProfileMain : MainTierLevel51 -->
            <Limit name="size" min="2x2" max="1280x1280" />
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="8x8" />
            <Limit name="block-count" range="1-139264" />
            <Limit name="blocks-per-second" range="1-432000" />
            <Limit name="block-count" range="1-65536" />
            <Limit name="blocks-per-second" range="1-491520" />
            <Limit name="bitrate" range="1-5000000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
@@ -57,7 +57,7 @@
            <Limit name="size" min="2x2" max="2048x2048" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="block-count" range="1-8160" />
            <Limit name="block-count" range="1-8192" /> <!-- max 2048x1024 -->
            <Limit name="blocks-per-second" range="1-500000" />
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="adaptive-playback" />
@@ -66,7 +66,7 @@
            <Limit name="size" min="2x2" max="1280x1280" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="block-count" range="1-3600" />
            <Limit name="block-count" range="1-3600" /> <!-- max 1280x720 -->
            <Limit name="blocks-per-second" range="1-108000" />
            <Limit name="bitrate" range="1-5000000" />
            <Feature name="adaptive-playback" />
@@ -81,12 +81,14 @@
            <Limit name="bitrate" range="1-128000" />
        </MediaCodec>
        <MediaCodec name="OMX.google.h264.encoder" type="video/avc">
            <!-- profiles and levels:  ProfileBaseline : Level2 -->
            <Limit name="size" min="16x16" max="896x896" />
            <Limit name="alignment" value="16x16" />
            <!-- profiles and levels:  ProfileBaseline : Level3 -->
            <Limit name="size" min="16x16" max="1808x1808" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="blocks-per-second" range="1-11880" />
            <Limit name="block-count" range="1-1620" />
            <Limit name="blocks-per-second" range="1-40500" />
            <Limit name="bitrate" range="1-2000000" />
            <Feature name="intra-refresh" />
        </MediaCodec>
        <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es">
            <!-- profiles and levels:  ProfileCore : Level2 -->
@@ -100,7 +102,8 @@
            <!-- profiles and levels:  ProfileMain : Level_Version0-3 -->
            <Limit name="size" min="2x2" max="1280x1280" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-count" range="1-3600" />
            <Limit name="block-size" value="16x16" />
            <Limit name="block-count" range="1-3600" /> <!-- max 1280x720 -->
            <Limit name="bitrate" range="1-20000000" />
            <Feature name="bitrate-modes" value="VBR,CBR" />
        </MediaCodec>