مرجع ساختار camera3_capture_request

مرجع ساختار camera3_capture_request

#include < camera3.h >

فیلدهای داده

uint32_t قاب_شماره
const camera_metadata_t * تنظیمات
camera3_stream_buffer_t * input_buffer
uint32_t num_output_buffers
const camera3_stream_buffer_t * خروجی_بافرها

توصیف همراه با جزئیات

camera3_capture_request_t:

یک درخواست واحد برای ضبط تصویر/پردازش مجدد بافر، که توسط فریمورک موجود در process_capture_request () به دستگاه Camera HAL ارسال شده است.

درخواست شامل تنظیماتی است که برای این عکس‌برداری استفاده می‌شود، و مجموعه بافرهای خروجی برای نوشتن داده‌های تصویر حاصله. ممکن است به صورت اختیاری حاوی یک بافر ورودی باشد، در این صورت درخواست برای پردازش مجدد آن بافر ورودی به جای گرفتن یک بافر جدید است. تصویر با سنسور دوربین ضبط با فریم_شماره شناسایی می شود.

در پاسخ، دستگاه دوربین HAL باید یک ساختار camera3_capture_result را به صورت ناهمزمان به چارچوب ارسال کند، با استفاده از فراخوانی ()process_capture_result.

تعریف در خط 2135 فایل camera3.h .

مستندات میدانی

uint32_t قاب_شماره

شماره فریم یک عدد صحیح افزایشی است که توسط فریم ورک برای شناسایی منحصر به فرد این تصویر تنظیم شده است. باید در فراخوانی نتیجه برگردانده شود، و همچنین برای شناسایی درخواست در اعلان‌های ناهمزمان ارسال شده به camera3_callback_ops_t.notify () استفاده می‌شود.

تعریف در خط 2142 فایل camera3.h .

بافر جریان ورودی برای استفاده برای این درخواست، در صورت وجود.

اگر input_buffer NULL باشد، در این صورت درخواست عکسبرداری جدید از تصویرگر است. اگر input_buffer معتبر باشد، درخواست برای پردازش مجدد تصویر موجود در input_buffer است.

در حالت دوم، قبل از بازگشت ()process_capture_request، HAL باید release_fence از input_buffer را روی یک حصار همگام‌سازی معتبر، یا اگر HAL از sync پشتیبانی نمی‌کند، روی -1 تنظیم کند.

قبل از دسترسی به HAL باید روی حصار همگام‌سازی بافر ورودی منتظر بماند.

<= CAMERA_DEVICE_API_VERSION_3_1:

هر بافر ورودی موجود در اینجا قبل از گنجاندن آن در یک درخواست، از طریق register_stream_buffers() با HAL ثبت شده است.

>= CAMERA_DEVICE_API_VERSION_3_2:

بافرها از قبل در HAL ثبت نشده اند. درخواست‌های بعدی ممکن است از بافرها استفاده مجدد کنند یا بافرهای کاملاً جدیدی ارائه کنند.

تعریف در خط 2177 فایل camera3.h .

uint32_t num_output_buffers

تعداد بافرهای خروجی برای این درخواست ضبط. باید حداقل 1 باشد.

تعریف در خط 2183 فایل camera3.h .

const camera3_stream_buffer_t * output_buffers

آرایه‌ای از بافرهای جریانی num_output_buffers که باید با داده‌های تصویر از این ضبط/پردازش مجدد پر شود. HAL باید روی حصارهای به دست آوردن هر بافر جریان قبل از نوشتن برای آنها منتظر بماند.

HAL مالکیت ورودی های buffer_handle_t واقعی در output_buffers را در اختیار می گیرد. تا زمانی که در یک camera3_capture_result_t برگردانده نشوند، چارچوب به آنها دسترسی ندارد.

<= CAMERA_DEVICE_API_VERSION_3_1:

تمام بافرهای موجود در اینجا از طریق register_stream_buffers() قبل از گنجاندن آنها در یک درخواست، با HAL ثبت می‌شوند.

>= CAMERA_DEVICE_API_VERSION_3_2:

هر یک یا همه بافرهای موجود در اینجا ممکن است در این درخواست کاملاً جدید باشند (که قبلاً توسط HAL دیده نشده است).

تعریف در خط 2204 فایل camera3.h .

const camera_metadata_t * تنظیمات

بافر تنظیمات حاوی پارامترهای ضبط و پردازش درخواست است. به عنوان یک مورد خاص، یک بافر تنظیمات NULL نشان می دهد که تنظیمات با درخواست ضبط اخیر ارائه شده یکسان است. بافر NULL نمی تواند به عنوان اولین درخواست ارسال شده پس از فراخوانی configure_streams () استفاده شود.

تعریف در خط 2151 فایل camera3.h .


مستندات این ساختار از فایل زیر تولید شده است:
  • hardware/libhardware/include/hardware/ camera3.h