Camera3_capture_request مرجع الهيكل

Camera3_capture_request مرجع الهيكل

#include < camera3.h >

حقول البيانات

uint32_t رقم الإطار
الكاميرا الثابتة_metadata_t * إعدادات
Camera3_stream_buffer_t * input_buffer
uint32_t num_output_buffers
كاميرا ثابتة3_stream_buffer_t * input_buffers

وصف تفصيلي

Camera3_capture_request_t:

طلب واحد لالتقاط الصور/إعادة معالجة المخزن المؤقت، يتم إرساله إلى جهاز Camera HAL بواسطة إطار العمل فيprocess_capture_request().

يحتوي الطلب على الإعدادات التي سيتم استخدامها لهذا الالتقاط، ومجموعة المخازن المؤقتة للإخراج لكتابة بيانات الصورة الناتجة فيها. وقد يحتوي بشكل اختياري على مخزن مؤقت للإدخال، وفي هذه الحالة يكون الطلب لإعادة معالجة المخزن المؤقت للإدخال بدلاً من التقاط مخزن مؤقت جديد الصورة باستخدام مستشعر الكاميرا. يتم التعرف على الالتقاط بواسطة رقم الإطار.

ردًا على ذلك، يجب أن يرسل جهاز HAL الخاص بالكاميرا بنية Camera3_capture_result بشكل غير متزامن إلى إطار العمل، وذلك باستخدام رد الاتصالprocess_capture_result().

التعريف في السطر 2135 من ملف Camera3.h .

التوثيق الميداني

uint32_t رقم الإطار

رقم الإطار هو عدد صحيح متزايد يتم تعيينه بواسطة إطار العمل لتعريف هذا الالتقاط بشكل فريد. يجب إعادته في استدعاء النتيجة، ويستخدم أيضًا لتحديد الطلب في الإشعارات غير المتزامنة المرسلة إلى Camera3_callback_ops_t.notify() .

التعريف في السطر 2142 من ملف Camera3.h .

المخزن المؤقت لدفق الإدخال الذي سيتم استخدامه لهذا الطلب، إن وجد.

إذا كانت قيمة input_buffer فارغة، فإن الطلب يكون لالتقاط جديد من جهاز التصوير. إذا كان input_buffer صالحًا، فإن الطلب يكون لإعادة معالجة الصورة الموجودة في input_buffer.

في الحالة الأخيرة، يجب أن تقوم HAL بتعيين Release_fence الخاص بـ input_buffer إلى سياج مزامنة صالح، أو إلى -1 إذا كانت HAL لا تدعم المزامنة، قبل إرجاع Process_capture_request().

مطلوب من HAL الانتظار حتى الحصول على سياج المزامنة الخاص بمخزن الإدخال المؤقت قبل الوصول إليه.

<= CAMERA_DEVICE_API_VERSION_3_1:

سيتم تسجيل أي مخزن مؤقت للإدخال هنا في طبقة تجريد سطح الأرض (HAL) من خلال Register_stream_buffers() قبل تضمينه في الطلب.

>= CAMERA_DEVICE_API_VERSION_3_2:

لن يتم تسجيل المخازن المؤقتة مسبقًا في HAL. قد تقوم الطلبات اللاحقة بإعادة استخدام المخازن المؤقتة، أو توفير مخازن مؤقتة جديدة تمامًا.

التعريف في السطر 2177 من ملف Camera3.h .

uint32_t num_output_buffers

عدد مخازن الإخراج المؤقتة لطلب الالتقاط هذا. يجب أن يكون على الأقل 1.

التعريف في السطر 2183 من ملف Camera3.h .

كاميرا ثابتة3_stream_buffer_t * مخرجات_مخازن مؤقتة

مصفوفة من المخازن المؤقتة للتدفق num_output_buffers، ليتم ملؤها ببيانات الصورة من هذا الالتقاط/إعادة المعالجة. يجب أن تنتظر HAL على أسوار الاكتساب لكل مخزن مؤقت للتيار قبل الكتابة إليهم.

يأخذ HAL ملكية إدخالات buffer_handle_t الفعلية فيoutput_buffers؛ لا يتمكن إطار العمل من الوصول إليها حتى يتم إرجاعها في ملف Camera3_capture_result_t.

<= CAMERA_DEVICE_API_VERSION_3_1:

سيتم تسجيل كافة المخازن المؤقتة المضمنة هنا في HAL من خلال Register_stream_buffers() قبل تضمينها في الطلب.

>= CAMERA_DEVICE_API_VERSION_3_2:

قد تكون أي من المخازن المؤقتة المضمنة هنا أو جميعها جديدة تمامًا في هذا الطلب (لم يسبق لـ HAL رؤيتها من قبل).

التعريف في السطر 2204 من ملف Camera3.h .

إعدادات الكاميرا الثابتة_metadata_t *

يحتوي المخزن المؤقت للإعدادات على معلمات الالتقاط والمعالجة للطلب. وفي حالة خاصة، يشير المخزن المؤقت للإعدادات NULL إلى أن الإعدادات مطابقة لطلب الالتقاط الذي تم إرساله مؤخرًا. لا يمكن استخدام المخزن المؤقت NULL كأول طلب تم إرساله بعد استدعاءconfig_streams() .

التعريف في السطر 2151 من ملف Camera3.h .


تم إنشاء وثائق هذه البنية من الملف التالي: