此文件在 Android 17 CDD 中引入,作为 2.2.7. 手持设备媒体下各小节内容的补充。
由于这些章节的要求日益复杂,为了提升阅读体验,本文档未采用 CDD 中惯用的绿色或灰色高亮标记,即便是个别数值和细节经过了更改、移除或添加,也均未做标记。
本文档是对 CDD 第 2.2.7 节中所定义的媒体性能等级 (MPC) 规范的补充,提供了各项参数的具体细分数值。这些值因 android.os.Build.VERSION.MEDIA_PERFORMANCE_CLASS 返回的值而异。
为了方便阅读,本页面采用了以下约定:
- 在指代实体时,
android.os.Build.VERSION.MEDIA_PERFORMANCE_CLASS缩写为MEDIA_PERFORMANCE_CLASS。其值称为“MPC”。 - 在标题和关键区域中,
MEDIA_PERFORMANCE_CLASS的值均带有“MPC”前缀。这一文档约定有助于将这些值与其他数值区分开来。实际值是数值,不包含字符串“MPC”。
2.2.7.1 媒体
对 2.2.7.1 媒体的补充。
[5.1/H-1-1] 视频解码器实例
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(10、20、30、31、33、34、35、37),则必须满足以下要求:
- 必须通过
CodecCapabilities.getMaxSupportedInstances()和VideoCapabilities.getSupportedPerformancePoints()方法,通告在任何编解码器组合下并发运行的硬件视频解码器会话的最大数量。
[5.1/H-1-2] 并发视频解码器会话
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20 或 30,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 |
|---|---|---|---|
| fps | 30 | 30 | 30 |
| 实例数量 | 2 | 4 | 6 |
| 分辨率 | = 720 | = 720 | = 720 |
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 31,则必须满足以下要求:
- 必须支持 6 个硬件视频解码器会话实例(AVC、HEVC、VP9 或更高版本)在任何编解码器组合下以 720p 分辨率@30 fps 并发运行。*如果存在 VP9 编解码器,则仅需要 2 种实例。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33,则必须满足以下要求:
- 必须支持 6 个硬件视频解码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下以 1080p 分辨率@30 fps 并发运行。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频解码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包含 3 个 1080p@30fps 会话和 3 个 4K@30fps 会话。AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频解码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包含 3 个 1080p@30fps 会话和 3 个 4K@30fps 会话。对于所有会话,每秒丢失的帧数不得超过 1 帧。AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 37,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频解码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包含 3 个 1080p@30fps 会话和 3 个 4K@30fps 会话(AV1 除外)。对于所有会话,每秒丢失的帧数不得超过 1 帧。 AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
[5.1/H-1-3] 视频编码器实例
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31、33、34、35 或 37,则必须满足以下要求:
- 必须通过
CodecCapabilities.getMaxSupportedInstances()和VideoCapabilities.getSupportedPerformancePoints()方法,通告在任何编解码器组合下可并发运行的硬件视频编码器会话的最大数量。
[5.1/H-1-4] 并发视频编码器会话
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10,则必须满足以下要求:
- 必须支持 2 个硬件视频编码器会话实例(AVC 或 HEVC)在任何编解码器组合下以 720p 分辨率@30 fps 并发运行。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 20,则必须满足以下要求:
- 必须支持 4 个硬件视频编码器会话实例(AVC 或 HEVC)在任何编解码器组合下以 720p 分辨率@30 fps 并发运行。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 30,则必须满足以下要求:
- 必须支持 6 个硬件视频编码器会话实例(AVC 或 HEVC)在任何编解码器组合下以 720p 分辨率@30 fps 并发运行。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 31,则必须满足以下要求:
- 必须支持 6 个硬件视频编码器会话实例(AVC、HEVC、VP9* 或更高版本)在任何编解码器组合下以 720p 分辨率@30 fps 并发运行。*如果存在 VP9 编解码器,则仅需要 2 种实例。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33,则必须满足以下要求:
- 必须支持 6 个硬件视频编码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下以 1080p 分辨率@30 fps 并发运行。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频编码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 4 个 1080p 分辨率@30 fps 会话和 2 个 4K 分辨率@30 fps 会话。AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频编码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 4 个 1080p 分辨率@30 fps 会话和 2 个 4K 分辨率@30 fps 会话。对于所有会话,每秒丢失的帧数不得超过 1 帧。AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 37,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频编码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 4 个 1080p 分辨率@30 fps 会话和 2 个 4K 分辨率@30 fps 会话(AV1 除外)。对于所有会话,每秒丢失的帧数不得超过 1 帧。 AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
[5.1/H-1-5] 视频转码实例
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31、33、34、35 或 37,则必须满足以下要求:
- 必须通过
CodecCapabilities.getMaxSupportedInstances()和VideoCapabilities.getSupportedPerformancePoints()方法通告可以采用任何编解码器组合形式并发运行的硬件视频编码器和解码器会话的数量上限。
[5.1/H-1-6] 并发视频转码会话
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31 或 33,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 |
|---|---|---|---|---|---|
| 实例数量 | 2 | 4 | 6 | 6 | 6 |
| 分辨率 | = 720 | = 720 | = 720 | = 720 | = 1080 |
| fps | 30 | 30 | 30 | 30 | 30 |
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频解码器和硬件视频编码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 3 个 4K 分辨率@30 fps 会话(其中最多包含 2 个编码器会话)和 3 个 1080p 分辨率会话。AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 必须支持 6 个 8 位 (SDR) 硬件视频解码器和硬件视频编码器会话实例(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 3 个 4K 分辨率@30 fps 会话(AV1 除外,且其中最多包含 2 个编码器会话)和 3 个 1080p 分辨率会话。对于所有会话,每秒丢失的帧数不得超过 1 帧。AV1 编解码器仅需要支持 1080p 分辨率,但仍需要支持 6 个分辨率为 1080p30fps 的实例。
[5.1/H-1-7] 视频编码器初始化延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|
| 编解码器初始化延迟(毫秒) | ≤ 85 | ≤ 65 | ≤ 65 | ≤ 50 | ≤ 40 | ≤ 40 | ≤ 40 | ≤ 40 |
| 杜比编解码器初始化延迟时间(毫秒) | ≤ 50 | ≤ 50 | ≤ 50 | ≤ 50 |
[5.1/H-1-8] 音频编码器初始化延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|
| 编解码器初始化延迟(毫秒) | ≤ 55 | ≤ 50 | ≤ 50 | ≤ 40 | ≤ 30 | ≤ 30 | ≤ 30 | ≤ 30 |
“负载”的定义为:在进行 1080p 音视频录制初始化的同时,使用硬件视频编解码器执行并发的 1080p 至 720p 纯视频转码会话。
[5.1/H-1-9] 安全视频解码器会话
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|
| fps | ≥ 30 | ≥ 30 | ≥ 30 | ≥ 30 |
| 实例数量 | ≥ 2 | ≥ 2 | ≥ 2 | |
| 每秒丢帧数 | ≤ 1 | ≤ 1 | ||
| 为 HDR | = true | = true | = true |
[5.1/H-1-10] 视频解码器会话
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33,则必须满足以下要求:
- 必须支持 3 个非安全硬件视频解码器会话实例以及 1 个安全硬件视频解码器会话实例(共 4 个实例)(AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下以 1080p 分辨率@30 fps 并发运行。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34,则必须满足以下要求:
- 必须支持 3 个非安全硬件视频解码器会话实例以及 1 个安全硬件视频解码器会话实例(共 4 个实例,AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 3 个 4K 分辨率@30 fps 会话(包含 1 个安全解码器会话)和 1 个 1080p 分辨率@30 fps 非安全会话(其中最多可有 2 个会话采用 10 位 HDR)。AV1 编解码器会话仅需要支持 1080p 分辨率,即使要求支持 4K 也是如此。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35,则必须满足以下要求:
- 必须支持 3 个非安全硬件视频解码器会话实例以及 1 个安全硬件视频解码器会话实例(共 4 个实例,AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 3 个 4K 分辨率@30 fps 会话(包含 1 个安全解码器会话)和 1 个 1080p 分辨率@30 fps 非安全会话(其中最多可有 2 个会话采用 10 位 HDR)。对于所有会话,每秒丢失的帧数不得超过 1 帧。AV1 编解码器会话仅需要支持 1080p 分辨率,即使要求支持 4K 也是如此。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 37,则必须满足以下要求:
- 必须支持 3 个非安全硬件视频解码器会话实例以及 1 个安全硬件视频解码器会话实例(共 4 个实例,AVC、HEVC、VP9、AV1 或更高版本)在任何编解码器组合下均可并发运行,其中包括 3 个 4K 分辨率@30 fps 会话(AV1 除外,且包含 1 个安全解码器会话)和 1 个 1080p 分辨率@30 fps 非安全会话(其中最多可有 2 个会话采用 10 位 HDR)。对于所有会话,每秒丢失的帧数不得超过 1 帧。AV1 编解码器会话仅需要支持 1080p 分辨率,即使要求支持 4K 也是如此。
[5.1/H-1-11] 安全硬件解码器
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
- 对于设备上的每个硬件 AVC、HEVC、VP9 或 AV1 解码器,都必须支持一个与之对应的安全解码器。
[5.1/H-1-12] 视频解码器初始化延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
- 当所有硬件视频解码器处于负载状态时,对于分辨率不超过 1080p 的视频解码会话,编解码器初始化延迟时间不得超过 40 毫秒。此处的负载定义为使用硬件视频编解码器和 1080p 音频和视频播放初始化的并行 1080p 至 720p 纯视频转码会话。 对于杜比视界编解码器,编解码器初始化延迟时间不得超过 50 毫秒。
[5.1/H-1-13] 音频解码器初始化延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|
| 编解码器初始化延迟(毫秒) | ≤ 30 | ≤ 30 | ≤ 30 | ≤ 30 |
“负载”的定义为:在进行 1080p 音视频录制初始化的同时,使用硬件视频编解码器执行并发的 1080p 至 720p 纯视频转码会话。
[5.1/H-1-14] AV1 硬件解码器
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33,则必须满足以下要求:
- 必须支持 AV1 硬件解码器 Main 10 配置、4.1 级。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34,则必须满足以下要求:
- 必须支持 AV1 硬件解码器 Main 10 配置、4.1 级和胶片颗粒。
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 必须支持 AV1 硬件解码器 Main 10 配置、4.1 级,并且在采用 GPU 合成时,可实现胶片颗粒效果。
[5.1/H-1-15] 硬件解码器 4K60
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足下表中的要求:
- 必须至少有 1 个支持 4K60 的硬件视频解码器。
[5.1/H-1-16] 硬件编码器 4K60
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足下表中的要求:
- 必须至少有 1 个支持 4K60 的硬件视频编码器。
[5.1/H-1-17] AVIF 基准配置文件
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足以下要求:
- 必须至少有 1 个支持 AVIF 基准配置文件的硬件图像解码器。
[5.1/H-1-18] AV1 编码器
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|
| AV1 编码器比特率 | = 1 Mbps | = 1 Mbps | = 1 Mbps |
| AV1 编码器 FPS | ≥ 30 | ≥ 30 | ≥ 30 |
| av1 编码器分辨率 | = 480 | = 480 | = 480 |
[5.1/H-1-19] 并发 HDR 转码会话
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|
| 每秒帧数 | ≥ 30 | ≥ 30 | ≥ 30 |
| 每秒丢帧数 | 不适用 | ≤ 1 | ≤ 1 |
[5.1/H-1-20] 视频编解码器 HDR 编辑
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 在 4K 分辨率或摄像头支持的最高分辨率(以较低者为准)下,对于设备上存在的所有硬件 AV1 和 HEVC 编码器,都必须支持
Feature_HdrEditing功能。
[5.1/H-1-21] 视频编解码器动态颜色特性
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 所有硬件视频解码器(AVC、HEVC、VP9、AV1 或更高版本)必须支持
FEATURE_DynamicColorAspect。注意:这意味着应用可以在解码会话期间更新视频内容的颜色方面。在 Surface 模式下,支持 10 位和 8 位内容的解码器必须支持在 8 位和 10 位内容之间动态切换。支持 HDR 传输功能的解码器必须支持在 SDR 和 HDR 内容之间动态切换。
[5.1/H-1-22] 视频编解码器竖屏分辨率
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 对于摄像头支持的最高分辨率或 4K(以较低者为准),必须支持编码、解码、GPU 编辑和以竖屏宽高比显示视频内容,而无论旋转元数据是什么。注意:这包括 HDR 配置文件,但前提是编解码器支持 HDR。AV1 编解码器仅需要支持 1080p 分辨率。此要求仅适用于硬件编解码器、GPU 和 DPU。
[5.2/H-2-1] VEQ
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|
| bdrate vmaf | ≤ 0 | ≤ 0 | ≤ 0 |
硬件 AVC 和 HEVC 编解码器所需的视频编码器速率失真曲线,在 运行性能等级 14 (PC14) - 视频编码质量 (VEQ) 测试中有所定义。
[5.2/H-2-2] MMAP 扬声器路径
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 37,则必须满足以下要求:
- 必须支持 MMAP 扬声器路径。
[5.3/H-1-1] 掉帧
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|
| 每 10 秒丢帧数 | ≤ 1 | ≤ 1 | ≤ 1 | ≤ 2 | ≤ 1 | ≤ 1 | ≤ 1 | ≤ 1 |
| 分辨率 | = 1080p | = 1080p | = 1080p | = 1080p | = 1080p | = 4K | = 4K | = 4K |
| 帧速率 | = 30 | = 30 | = 30 | = 60 | = 60 | = 60 | = 60 | = 60 |
“负载”的定义为:在使用硬件视频编解码器执行并发的 1080p 至 720p 纯视频转码会话的同时,播放 128 kbps AAC 音频。
[5.3/H-1-2] 自适应播放掉帧
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|
| 每 10 秒丢帧数 | ≤ 1 | ≤ 1 | ≤ 1 | ≤ 2 | ≤ 1 | ≤ 1 | ≤ 1 | ≤ 1 |
| 分辨率 | = 1080p | = 1080p | = 1080p | = 1080p | = 1080p | = 4K | = 4K | = 4K |
| 帧速率 | = 30 | = 30 | = 30 | = 60 | = 60 | = 60 | = 60 | = 60 |
[5.6/H-1-1] 点按与发声间延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|---|
| 原生延迟时间(毫秒) | ≤ 110 | ≤ 110 | ≤ 100 | ≤ 100 | ≤ 100 | ≤ 80 | ≤ 80 | ≤ 80 | ≤ 65 |
[5.6/H-1-2] 往返音频延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|
| 往返音频延迟时间(毫秒) | ≤ 80 | ≤ 80 | ≤ 80 | ≤ 65 |
[5.6/H-1-3] 24 位音频
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
- 在低延迟和串流配置下,如果配有 3.5 毫米音频耳机插孔,则必须支持通过整个数据路径进行 >=24 位的音频立体声输出;如果支持 USB 音频,则在这些配置下也必须支持通过整个数据路径进行此类输出。对于低延迟配置,应用应在低延迟回调模式下使用 AAudio。对于流式传输配置,应用应使用 Java AudioTrack。在低延迟配置和流式传输配置中,HAL 输出接收器应接受
AUDIO_FORMAT_PCM_24_BIT、AUDIO_FORMAT_PCM_24_BIT_PACKED、AUDIO_FORMAT_PCM_32_BIT或AUDIO_FORMAT_PCM_FLOAT作为其目标输出格式。
[5.6/H-1-4] 4 声道 USB 音频
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
- 必须支持不低于 4 声道的 USB 音频设备。(供 DJ 控制器用于预听歌曲。)
[5.6/H-1-5] MIDI 设备
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(33、34、35、37),则必须满足以下要求:
- 必须支持类兼容 MIDI 设备并声明 MIDI 功能标志。
[5.6/H-1-9] 12 声道混音
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(34、35、37),则必须满足以下要求:
- 必须支持至少 12 个声道混音。这意味着能够打开具有 7.1.4 声道掩码的 AudioTrack,并且能够正确地将所有声道空间化或缩混到立体声。
[5.6/H-3-1] 音频 CPU 工作负载
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 37,则必须满足以下要求:
- 必须能够处理从播放 1 路正弦波切换到播放 20 路正弦波,且音频缓冲区不会欠载。
[5.6/H-3-2] USB 音频输出声道
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 37,则必须满足以下要求:
- 对于 USB 音频设备,必须支持至少 8 个输出声道。必须支持最多 8 个声道的声道掩码。这包括单声道、立体声、四声道、5.1 声道和 7.1 声道。
[5.6/H-3-3] USB 音频输入声道
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 37,则必须满足以下要求:
- 必须支持至少 4 个 USB 音频设备输入声道。
[5.6/H-SR] 24 声道混音
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(34、35、37),则必须满足以下要求:
- 强烈建议支持 24 个声道混音,并且至少支持 9.1.6 和 22.2 声道掩码。
[5.7/H-1-2] Media DRM 安全级别:硬件
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
必须支持具有以下内容解密功能的
MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL。采样规模下限 4 MiB 下采样数量下限 - H264 或 HEVC 32 下采样数量下限 - VP9 9 下采样数量下限 - AV1 288 下采样缓冲区空间下限 1 MiB 通用加密缓冲区空间下限 500 KiB 并发会话数量下限 30 密钥总数下限(所有会话) 80 DRM 密钥总数下限(所有会话) 6 信息大小 16 KiB 每秒解密帧数 60 fps
[5.12/H-1-2] RGBA 颜色格式
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足以下要求:
- 设备上存在的所有硬件 AV1 和 HEVC 编码器都必须支持 RGBA_1010102 颜色格式。
[5.12/H-1-3] 外部 YUV 目标
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足以下要求:
- 必须通告支持 EXT_YUV_target 扩展,才能在 8 位和 10 位的 YUV 纹理中采样。
[7.1.4/H-1-1] 显示处理单元叠加层
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(35、37),则必须满足以下要求:
- 显示处理单元 (DPU) 中必须至少有 6 个硬件叠加层,其中至少 2 个应能显示 10 位视频内容。
2.2.7.2 摄像头
对 2.2.7.2 摄像头的补充。
[7.5/H-1-1] 主后置摄像头的分辨率和帧速率
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|
| 主摄像头分辨率(百万像素) | ≥ 5 | ≥ 5 | ≥ 12 | ≥ 12 | ≥ 12 | ≥ 12 | ≥ 12 | ≥ 12 |
| 支持的视频格式 | 720p@30fps | 720p@30fps | 4k@30fps | 4k@30fps | 4k@30fps | 4k@30fps | 4k@30fps、1080p@60fps 和 720p@60fps | 4k@30fps、1080p@60fps 和 720p@60fps |
[7.5/H-1-2] 主前置摄像头的分辨率和帧速率
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10 或 20,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 |
|---|---|---|
| 主摄像头分辨率 | ≥ 2000000 | ≥ 2000000 |
| 主摄像头分辨率(百万像素) | 2 | 2 |
| 主摄像头视频每秒帧数 | ≥ 30 | ≥ 30 |
| 视频分辨率 | 720p | 720p |
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|
| 主摄像头分辨率 | ≥ 4000000 | ≥ 4915200 | ≥ 4915200 | ≥ 6000000 | ≥ 6000000 | ≥ 7990000 |
| 主摄像头分辨率(百万像素) | ≥ 4 | ≥ 4.9152 | ≥ 4.9152 | ≥ 6 | ≥ 6 | ≥ 7.99 |
| 主摄像头视频每秒帧数 | ≥ 30 | ≥ 30 | ≥ 30 | ≥ 30 | ≥ 30 | ≥ 30 |
| 视频分辨率 | 1080p | 1080p | 1080p | 1080p | 1080p | 1080p |
[7.5/H-1-3] 摄像头硬件级别
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 30、31、33、34、35 或 37,则必须满足以下要求:
- 对于后置主摄像头,必须支持将
android.info.supportedHardwareLevel属性设为FULL或更优值,对于前置主摄像头,必须支持设为LIMITED或更优值。
[7.5/H-1-4] 实时时间戳来源
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 30、31、33、34、35 或 37,则必须满足以下要求:
- 必须针对这两种主摄像头均支持
CameraMetadata.SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME。
[7.5/H-1-5] 摄像头拍摄延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(10、20、30、31、33、34、35、37),则必须满足以下要求:
- 根据 CTS 摄像头性能测试在 ITS 照明条件 (3000K) 下对这两种主摄像头的测量,对于 1080p 分辨率,Camera2 的 JPEG 拍摄延迟时间必须小于 1000 毫秒。
[7.5/H-1-6] 摄像头启动延迟
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|
| 摄像头延迟时间 | ≤ 700 | ≤ 600 | ≤ 600 | ≤ 600 | ≤ 500 | ≤ 500 | ≤ 500 | ≤ 500 |
[7.5/H-1-8] 摄像头 RAW 功能
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 31、33、34、35 或 37,则必须满足以下要求:
- 主后置摄像头必须支持
CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_RAW和android.graphics.ImageFormat.RAW_SENSOR。
[7.5/H-1-9] 摄像头慢动作
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(33、34、35、37),则必须满足以下要求:
- 必须配备一个支持 720p 或 1080p @ 240fps 的后置主摄像头。
[7.5/H-1-10] 摄像头超广角变焦比
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
- 如有朝向相同方向的超广角 RGB 摄像头,主摄像头的最小 ZOOM_RATIO 必须小于 1.0。
[7.5/H-1-11] 摄像头并发前后串流
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
- 必须在主摄像头上实现前后并发流式传输。
[7.5/H-1-12] 摄像头预览防抖
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(33、34、35、37),则必须满足以下要求:
- 主后置摄像头必须支持
CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION。
[7.5/H-1-13] 逻辑多摄像头
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 33、34、35 或 37,则必须满足以下要求:
- 如有多个后置 RGB 摄像头,主后置摄像头必须支持
LOGICAL_MULTI_CAMERA功能。
[7.5/H-1-14] 摄像头画面用例
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(33、34、35、37),则必须满足以下要求:
- 主前置摄像头和主后置摄像头都必须支持
STREAM_USE_CASE功能。
[7.5/H-1-15] 摄像头夜间模式扩展
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足以下要求:
- 对于主摄像头,必须通过 CameraX 和 Camera2 扩展来支持夜间模式扩展。
[7.5/H-1-16] 摄像头动态范围 10 位
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足以下要求:
- 主摄像头必须支持 DYNAMIC_RANGE_TEN_BIT 功能。
[7.5/H-1-17] 摄像头人脸检测
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足以下要求:
- 主摄像头必须支持人脸检测功能(STATISTICS_FACE_DETECT_MODE_SIMPLE 或 STATISTICS_FACE_DETECT_MODE_FULL)。
[7.5/H-1-18] 摄像头 JPEG R
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(35、37),则必须满足以下要求:
- 主后置摄像头和主前置摄像头必须支持 JPEG_R。
[7.5/H-1-19] 摄像头视频预览防抖
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(35、37),则必须满足以下要求:
- 采用最大尺寸 16:9 宽高比 JPEG 预览 1080p HLG10 视频时必须支持 CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION;对于主后置摄像头,必须支持采用最大尺寸的 16:9 宽高比 JPEG 流组合预览 720p HLG10 视频。
[7.5/H-1-20] 摄像头 Ultra HDR
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 在原生相机应用中,主后置摄像头和主前置摄像头必须默认输出 JPEG_R。
[7.5/H-1-21] 至少一个摄像头
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 10 或 20,则必须满足以下要求:
- 必须至少有一个前置摄像头或后置摄像头。
2.2.7.3 硬件
对 2.2.7.3 硬件的补充说明。
[7.1.1.1/H-2-1] 屏幕分辨率
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|---|
| 长边分辨率(像素) | ≥ 320 | ≥ 1280 | ≥ 1920 | ≥ 1920 | ≥ 1920 | ≥ 1920 | ≥ 1920 | ≥ 1920 | ≥ 1920 |
| 短边分辨率(像素) | ≥ 240 | ≥ 720 | ≥ 1080 | ≥ 1080 | ≥ 1080 | ≥ 1080 | ≥ 1080 | ≥ 1080 | ≥ 1080 |
[7.1.1.3/H-2-1] 屏幕密度
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、30、31、33 或 34,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 |
|---|---|---|---|---|---|---|---|
| 显示密度 (dpi) | ≥ 100 | ≥ 240 | ≥ 400 | ≥ 400 | ≥ 400 | ≥ 400 | ≥ 400 |
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 如果设备屏幕宽度 < 600 dp,屏幕密度必须至少为 400 dpi。
[7.1.1.3/H-3-1] HDR 显示屏
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|
| 显示屏亮度(尼特) | ≥ 1000 | ≥ 1000 | ≥ 1000 |
[7.6.1/H-2-1] 内存
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|---|
| 可用内存 (GiB) | 1.37 | 3.05 | 5 | 5 | 5 | 6.64 | 6.64 | 6.64 | 8 |
2.2.7.4 性能
对 2.2.7.4 性能的补充。
[8.2/H-1-1] 顺序写入
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、30、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|---|
| 文件系统 IO 速率 (Mbps) | ≥ 35 | ≥ 50 | ≥ 100 | ≥ 100 | ≥ 125 | ≥ 125 | ≥ 150 | ≥ 150 | ≥ 250 |
[8.2/H-1-2] 随机写入
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|---|
| 文件系统 IO 速率 (Mbps) | ≥ 4 | ≥ 5 | ≥ 10 | ≥ 10 | ≥ 10 | ≥ 10 | ≥ 10 | ≥ 10 | ≥ 30 |
[8.2/H-1-3] 顺序读取
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、30、31、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|---|
| 文件系统 IO 速率 (Mbps) | ≥ 125 | ≥ 200 | ≥ 200 | ≥ 200 | ≥ 250 | ≥ 250 | ≥ 250 | ≥ 250 | ≥ 700 |
[8.2/H-1-4] 随机读取
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 1、10、20、30、33、34、35 或 37,则必须满足下表中的要求:
| 元素 | MPC 1 | MPC 10 | MPC 20 | MPC 30 | MPC 31 | MPC 33 | MPC 34 | MPC 35 | MPC 37 |
|---|---|---|---|---|---|---|---|---|---|
| 文件系统 IO 速率 (Mbps) | ≥ 15 | ≥ 25 | ≥ 25 | ≥ 25 | ≥ 40 | ≥ 40 | ≥ 100 | ≥ 100 | ≥ 200 |
[8.2/H-1-5] 并行顺序读写性能
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回以下某个 MPC 值(34、35、37),则必须满足以下要求:
- 必须确保并行顺序读写性能至少达到 50 MB/s(按 2 倍读取和 1 倍写入负载计算)。
2.2.7.5 图形
对 2.2.7.5 图形的补充。
[7.1.4.1/H-1-2] EGL
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足下表中的要求:
| 元素 | MPC 35 | MPC 37 |
|---|---|---|
| egl ext 受保护内容 | = EGL_EXT_protected_content | = EGL_EXT_protected_content |
| egl img 上下文优先级 | = EGL_IMG_context_priority | = EGL_IMG_context_priority |
[7.1.4.1/H-1-3] Vulkan
如果手持设备实现针对 MEDIA_PERFORMANCE_CLASS 返回的 MPC 值为 35 或 37,则必须满足以下要求:
- 必须支持 VkPhysicalDeviceProtectedMemoryFeatures.protectedMemory 和 VK_KHR_global_priority。