הפנייה למבנה 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 * | output_buffers |
תיאור מפורט
camera3_capture_request_t:
בקשה בודדת ללכידת תמונה/עיבוד מחדש של מאגר, שנשלחה למכשיר המצלמה HAL על ידי המסגרת ב-proces_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 הוא NULL, אזי הבקשה היא לכידה חדשה מה-imager. אם input_buffer חוקי, הבקשה היא לעיבוד מחדש של התמונה הכלולה ב- input_buffer.
במקרה האחרון, ה-HAL חייב להגדיר את ה-release_fence של ה-input_buffer לגדר סינכרון חוקית, או ל-1 אם ה-HAL אינו תומך בסנכרון, לפני שה-proces_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 בפועל ב-out_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 * הגדרות |
התיעוד עבור מבנה זה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ camera3.h