Reland "Expose AV1 encoder&decoder from Android SDK."

This is a reland of fedd5029c584e9dc1352434b62a30cd8af2889d8

Original change's description:
> Expose AV1 encoder&decoder from Android SDK.
>
> Bug: None
> Change-Id: Ie32be36da498d4bed2a3cf51aa6abc8838e42da1
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212024
> Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
> Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com>
> Cr-Commit-Position: refs/heads/master@{#33743}

Bug: None
Change-Id: Ibfc7b860bd2314cf997444c7ab0d94d2b186e576
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215586
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com>
Cr-Commit-Position: refs/heads/master@{#33882}
This commit is contained in:
Yura Yaroshevich
2021-04-12 15:41:21 +03:00
committed by WebRTC LUCI CQ
parent 0365c99474
commit 3fb51d2783
16 changed files with 190 additions and 20 deletions

View File

@ -70,13 +70,14 @@ public class DefaultVideoEncoderFactoryTest {
VideoEncoderFactory hwFactory = new CustomHardwareVideoEncoderFactory(true, true);
DefaultVideoEncoderFactory dvef = new DefaultVideoEncoderFactory(hwFactory);
VideoCodecInfo[] videoCodecs = dvef.getSupportedCodecs();
assertEquals(4, videoCodecs.length);
assertEquals(5, videoCodecs.length);
assertEquals("VP8", videoCodecs[0].name);
assertEquals("VP9", videoCodecs[1].name);
assertEquals("H264", videoCodecs[2].name);
assertEquals("42e01f", videoCodecs[2].params.get("profile-level-id"));
assertEquals("AV1", videoCodecs[2].name);
assertEquals("H264", videoCodecs[3].name);
assertEquals("640c1f", videoCodecs[3].params.get("profile-level-id"));
assertEquals("42e01f", videoCodecs[3].params.get("profile-level-id"));
assertEquals("H264", videoCodecs[4].name);
assertEquals("640c1f", videoCodecs[4].params.get("profile-level-id"));
}
@SmallTest
@ -85,11 +86,12 @@ public class DefaultVideoEncoderFactoryTest {
VideoEncoderFactory hwFactory = new CustomHardwareVideoEncoderFactory(true, false);
DefaultVideoEncoderFactory dvef = new DefaultVideoEncoderFactory(hwFactory);
VideoCodecInfo[] videoCodecs = dvef.getSupportedCodecs();
assertEquals(3, videoCodecs.length);
assertEquals(4, videoCodecs.length);
assertEquals("VP8", videoCodecs[0].name);
assertEquals("VP9", videoCodecs[1].name);
assertEquals("H264", videoCodecs[2].name);
assertEquals("42e01f", videoCodecs[2].params.get("profile-level-id"));
assertEquals("AV1", videoCodecs[2].name);
assertEquals("H264", videoCodecs[3].name);
assertEquals("42e01f", videoCodecs[3].params.get("profile-level-id"));
}
@SmallTest
@ -98,12 +100,13 @@ public class DefaultVideoEncoderFactoryTest {
VideoEncoderFactory hwFactory = new CustomHardwareVideoEncoderFactory(false, true);
DefaultVideoEncoderFactory dvef = new DefaultVideoEncoderFactory(hwFactory);
VideoCodecInfo[] videoCodecs = dvef.getSupportedCodecs();
assertEquals(4, videoCodecs.length);
assertEquals(5, videoCodecs.length);
assertEquals("VP8", videoCodecs[0].name);
assertEquals("VP9", videoCodecs[1].name);
assertEquals("H264", videoCodecs[2].name);
assertEquals("42e01f", videoCodecs[2].params.get("profile-level-id"));
assertEquals("AV1", videoCodecs[2].name);
assertEquals("H264", videoCodecs[3].name);
assertEquals("640c1f", videoCodecs[3].params.get("profile-level-id"));
assertEquals("42e01f", videoCodecs[3].params.get("profile-level-id"));
assertEquals("H264", videoCodecs[4].name);
assertEquals("640c1f", videoCodecs[4].params.get("profile-level-id"));
}
}