现在,我知道我们可以从 MediaCodecInfo.CodecCapability.profiles 中获取配置文件。 例如,如果解码器是 hevc,则配置文件可以是 HEVCProfileMain10HDR10 或 HEVCProfileMain10HDR10Plus。如果配置文件名称等于 HEVCProfileMain10HDR10Plus,是否意味着它同时支持 hdr10+ 和 hdr10? 然后,在[Android开发者文档][1]
[1]: https://source.android.com/docs/core/display/hdr#vp9-hlg-pq 表示如果解码器是 vp9 并且配置文件名称等于 VP9Profile2HDR 或 VP9Profile2HDR10Plus,它将支持 HLG。为什么不说vp9支持hdr或hdr10+?
如果编解码器支持多个配置文件(
HEVCProfileMain10
、HEVCProfileMain10HDR10
、HEVCProfileMain10HDR10Plus
),那么我们可以预期所有这些都列在 MediaCodecInfo.CodecCapabilities.profileLevels
数组中。
请注意,当文档提到“HDR 视频”时,它通常意味着“高动态范围视频”。而HDR10和HDR10+是HDR视频的特定格式(以及
HLG10
和杜比视界)。
因此,例如,VP9 Profile 3 (HDR) 支持 2 个颜色深度(10 或 12 位)和 2 个传输函数(PQ 和 HLG)。但是
HDR10
意味着 10 位和 PQ,而 HLG10
意味着 10 位和 HLG
。
请注意,HEVCMain 10 配置文件也支持多种传输功能。例如,
HEVCProfileMain10
处理 HLG
,HEVCProfileMain10HDR10
处理 PQ
。名称中的数字 10 代表每个样本 10 位。