مرجع بنية camera3_capture_request

مرجع بنية camera3_capture_request

#include < camera3.h >

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

uint32_t  frame_number
 
const camera_metadata_t الإعدادات
 
camera3_stream_buffer_t input_buffer
 
uint32_t  num_output_buffers
 
const camera3_stream_buffer_t output_buffers
 

وصف مفصّل

camera3_capture_request_t:

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

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

في ردّ على ذلك، يجب أن يرسل جهاز HAL للكاميرا بنية camera3_capture_result بشكل غير متزامن إلى إطار العمل، باستخدام دالة الاستدعاء process_capture_result()‎.

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

مستندات الحقل

uint32_t frame_number

رقم اللقطة هو عدد صحيح متزايد يضبطه إطار العمل لتحديد هذه اللقطة بشكل فريد. يجب إرجاعه في طلب النتائج، ويتم استخدامه أيضًا لتحديد الطلب في الإشعارات غير المتزامنة المُرسَلة إلى: 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 .

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:

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

‫‎>= CAMERA_DEVICE_API_VERSION_3_2:

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

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

const camera_metadata_t * settings

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

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


تم إنشاء مستندات هذه البنية من الملف التالي: