مرجع بنية 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().
مستندات الحقل
uint32_t frame_number |
رقم اللقطة هو عدد صحيح متزايد يضبطه إطار العمل لتحديد هذه اللقطة بشكل فريد. يجب إرجاعه في طلب النتائج، ويتم استخدامه أيضًا لتحديد الطلب في الإشعارات غير المتزامنة المُرسَلة إلى: camera3_callback_ops_t.notify() .
camera3_stream_buffer_t * input_buffer |
ذاكرة التخزين المؤقت لمصدر الإدخال المطلوب استخدامها لهذا الطلب، إن توفّرت
إذا كان 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. وقد تعيد الطلبات اللاحقة استخدام وحدات التخزين المؤقت أو تقدّم وحدات تخزين مؤقت جديدة تمامًا.
uint32_t num_output_buffers |
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).
const camera_metadata_t * settings |
تم إنشاء مستندات هذه البنية من الملف التالي:
- hardware/libhardware/include/hardware/ camera3.h