הפנייה למבנה camera3_capture_request

הפנייה למבנה 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().

הגדרה בשורה 2135 של קובץ camera3.h .

תיעוד שטח

uint32_t frame_number

מספר המסגרת הוא מספר שלם הולך וגדל שהוגדר על ידי המסגרת כדי לזהות באופן ייחודי לכידה זו. יש להחזיר אותו בקריאה לתוצאה, והוא משמש גם לזיהוי הבקשה בהתראות אסינכרוניות שנשלחות ל- camera3_callback_ops_t.notify() .

הגדרה בשורה 2142 של קובץ camera3.h .

מאגר זרם הקלט לשימוש עבור בקשה זו, אם בכלל.

אם 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. בקשות עוקבות עשויות לעשות שימוש חוזר במאגרים, או לספק מאגרים חדשים לגמרי.

הגדרה בשורה 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 בפועל ב-out_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 * הגדרות

מאגר ההגדרות מכיל את פרמטרי הלכידה והעיבוד עבור הבקשה. כמקרה מיוחד, מאגר הגדרות NULL מציין שההגדרות זהות לבקשת הלכידה שהוגשה לאחרונה. לא ניתן להשתמש במאגר NULL בתור הבקשה הראשונה שנשלחה לאחר קריאה ל-configure_streams().

הגדרה בשורה 2151 של קובץ camera3.h .


התיעוד עבור מבנה זה נוצר מהקובץ הבא:
  • hardware/libhardware/include/hardware/ camera3.h