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().
التوثيق الميداني
uint32_t رقم الإطار |
رقم الإطار هو عدد صحيح متزايد يتم تعيينه بواسطة إطار العمل لتعريف هذا الالتقاط بشكل فريد. يجب إعادته في استدعاء النتيجة، ويستخدم أيضًا لتحديد الطلب في الإشعارات غير المتزامنة المرسلة إلى 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 |
كاميرا ثابتة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 رؤيتها من قبل).
إعدادات الكاميرا الثابتة_metadata_t * |
يحتوي المخزن المؤقت للإعدادات على معلمات الالتقاط والمعالجة للطلب. وفي حالة خاصة، يشير المخزن المؤقت للإعدادات NULL إلى أن الإعدادات مطابقة لطلب الالتقاط الذي تم إرساله مؤخرًا. لا يمكن استخدام المخزن المؤقت NULL كأول طلب تم إرساله بعد استدعاءconfig_streams() .
تم إنشاء وثائق هذه البنية من الملف التالي:
- الأجهزة/libhardware/تشمل/الأجهزة/ الكاميرا3.h