自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
camera2_stream_ops 结构体参考文档
#include <
camera2.h
>
输出图像流队列接口。在 allocate_stream() 中,系统会向 HAL 设备提供一组此类方法,这些方法用于与该串流的 gralloc 缓冲区队列进行交互。在 allocate_stream 返回之前,不得调用这些函数。
定义位于文件
camera2.h
的
73
行。
从队列中获取要填充的缓冲区。对于给定流(在 allocate_stream 中定义),缓冲区的大小和格式是固定的,应从平台 gralloc 模块查询步长。gralloc 缓冲区将根据 allocate_stream 提供的使用标志分配,并将被锁定以供使用。
定义位于文件
camera2.h
的
81
行。
int(* enqueue_buffer)(const struct
camera2_stream_ops
*w, int64_t timestamp, buffer_handle_t *buffer)
|
将填充的缓冲区推送到流,以供使用方使用。
时间戳表示图像第一行的曝光开始时间;它必须来自单调时钟,并以纳秒为单位。不同摄像头或同一摄像头的连续实例之间的时间戳无需具有可比性。不过,同一摄像头的不同串流之间的帧速率必须可比。如果一次捕获会为多个串流生成缓冲区,则每个串流的该缓冲区都必须具有相同的时间戳,并且该时间戳必须与输出帧元数据中的时间戳一致。
定义位于文件
camera2.h
的
96
行。
int(* set_crop)(const struct
camera2_stream_ops
*w, int left, int top, int right, int bottom)
|
为随后加入队列的缓冲区设置剪裁窗口。这些参数以相对于缓冲区宽度和高度的像素数衡量。
定义位于文件
camera2.h
的
108
行。
此结构体的文档是根据以下文件生成的:
-
hardware/libhardware/include/hardware/
camera2.h
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-26。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-03-26。"],[],[]]