Android Q 预研之media和graphics功能

以下来源官网介绍 https://developer.android.google.cn/

Android Q Beta计划

从2019年3月13日开始运行,直到最终公开发布给AOSP和OEM,计划于2019年第三季度完成。里程碑如下:

    3月 Beta 1(初始版本,测试版)
    4月 Beta 2(增量更新,测试版)
    5月 Beta 3(增量更新,测试版)
    6月 Beta 4(最终API和官方SDK,Play发布,测试版)
    Q3  Beta 5(测试发布候选版)
    Q3  Beta 6(最终测试的候选版本)
    Q3  最终发布到AOSP和生态系统

与Media Codec直接相关的改变

Android Q引入了以下新的 media and graphics features and APIs

1. MediaCodecInfo的改进

在MediaCodecInfo中有一些新的方法揭示了有关编解码器的更多信息:

  • isSoftwareOnly()

如果编解码器仅在软解中运行,则返回true。软件编解码器不能保证渲染时的性能。

  • isHardwareAccelerated()

如果编解码器由硬件加速,则返回true。

  • isVendor()

如果编解码器由设备供应商提供,则返回true;如果由Android平台提供,则返回false。

  • isAlias()

MediaCodecList包含附加实例为使用备用编解码器名称name/s(alias/es)但底层编解码器是一样。如果此实例中的编解码器是另一个编解码器的别名,则此方法返回true。
此外, MediaCodec.getCanonicalName() 返回通过别名创建的编解码器的基础编解码器名称。

2. Performance Points


Performance Point(性能点)表示编解码器的在特定宽高(分辨率)和帧速率时渲染视频的能力。例如,UHD_60性能点表示以每秒60帧的速度渲染的超高清视频(3840x2160像素)。

该方法 MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() 返回编解码器可以渲染或捕获的PerformancePoint条目列表 。

您可以通过调用PerformancePoint.covers(PerformancePoint)来检查给定的 PerformancePoint是否覆盖另一个 PerformancePoint。例如,UHD_60.covers(UHD_50)返回true。

所有硬件加速编解码器(hardware-accelerated codecs)都有性能点列表。如果编解码器无法满足最低标准性能点,则性能点列表为空。

请注意,已升级到Q但未更新vendor image的设备将没有性能点数据,因为此数据来自vendor HAL。在这种情况下,getSupportedPerformancePoints()返回null。

3. 支持 Monochrome camera 单色相机

Android 9(API等级28)首次推出了单色相机功能。Android Q为单色相机支持增加了几项增强功能:

  • 新的 Y8 stream格式支持,以提高内存效率。
  • 支持单色原始DNG捕获。
  • 介绍MONO和NIR CFA枚举,以区分常规单色相机和近红外相机。

您可以使用此功能捕获本机单色图像。复杂逻辑相机设备可以使用单色相机作为物理子相机以实现更好的低光图像质量。

4. Dynamic Depth Format

从Android Q开始,摄像机可以使用称为动态深度格式(DDF)的新模式将图像的深度数据存储在单独的文件中。应用可以请求JPG图像及其depth metadata,将该数据信息应用在图像后处理中以获得用户想要的任何模糊程度,且无需修改原始图像数据。

猜你喜欢

转载自blog.csdn.net/sinat_37343534/article/details/89473490