camera2_stream_ops مرجع ساختار
#include < camera2.h >
فیلدهای داده | |
int(* | dequeue_buffer )(Const struct camera2_stream_ops *w, buffer_handle_t **buffer) |
int(* | enqueue_buffer )(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer) |
int(* | cancel_buffer )(const struct camera2_stream_ops *w, buffer_handle_t *buffer) |
int(* | set_crop )(const struct camera2_stream_ops *w, int left, int top, int right, int bottom) |
توصیف همراه با جزئیات
رابط صف جریان تصویر خروجی. مجموعهای از این روشها در allocate_stream() به دستگاه HAL ارائه میشود و برای تعامل با صف بافر gralloc برای آن جریان استفاده میشود. آنها ممکن است تا پس از بازگشت allocate_stream فراخوانی نشوند.
مستندات میدانی
int(* cancel_buffer)(const struct camera2_stream_ops *w, buffer_handle_t *buffer) |
int(* dequeue_buffer)(const struct camera2_stream_ops *w, buffer_handle_t **buffer) |
یک بافر برای پر کردن از صف دریافت کنید. اندازه و فرمت بافر برای یک جریان معین ثابت است (تعریف شده در allocate_stream)، و گام باید از ماژول gralloc پلت فرم جستجو شود. بافر gralloc بر اساس پرچم های استفاده ارائه شده توسط allocate_stream اختصاص داده شده است و برای استفاده قفل خواهد شد.
int(* enqueue_buffer)(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer) |
یک بافر پر شده را به جریان فشار دهید تا مصرف کننده از آن استفاده کند.
مهر زمان نشان دهنده زمان شروع نوردهی ردیف اول تصویر است. باید از یک ساعت یکنواخت باشد و در نانوثانیه اندازه گیری می شود. نیازی نیست که مهرهای زمانی بین دوربین های مختلف یا نمونه های متوالی یک دوربین قابل مقایسه باشند. با این حال، آنها باید بین جریان های یک دوربین قابل مقایسه باشند. اگر یک عکس برای چند جریان بافر ایجاد کند، هر جریان باید دارای مهر زمانی یکسانی برای آن بافر باشد و آن مهر زمانی باید با مهر زمانی موجود در فراداده قاب خروجی مطابقت داشته باشد.
int(* set_crop)(const struct camera2_stream_ops *w, int left, int top, int right, int bottom) |
مستندات این ساختار از فایل زیر تولید شده است:
- hardware/libhardware/include/hardware/ camera2.h