בדף הזה מתוארים המצבים והמצבים המכונים של 3A במכשיר Android. ממשק ה-HAL של המצלמה, שמגדיר את מכונות המצב ברמה גבוהה, מאפשר להטמעת ה-HAL ולמסגרת Android לתקשר את המצבים הנוכחיים של 3A ולהפעיל אירועי 3A. הטמעת ה-HAL אחראית על אלגוריתמי ה-3A ששולטים בהגדרות המצבים ובמעבר בין המצבים של 3A.
כשהמכשיר נפתח, כל המצבים הנפרדים של 3A חייבים להיות ב-STATE_INACTIVE.
הגדרת הסטרימינג לא מאפסת את 3A. לדוגמה, צריך לשמור על התמקדות נעולה במהלך השיחה ב-configure()
.
כדי להפעיל פעולת 3A, פשוט מגדירים את הרשומה הרלוונטית של הטריגר בהגדרות של הבקשה הבאה כדי לציין את תחילת הטריגר. לדוגמה, כדי להפעיל סריקת פוקוס אוטומטי, מגדירים את הערך של ANDROID_CONTROL_AF_TRIGGER ל-ANDROID_CONTROL_AF_TRIGGER_START בבקשה אחת. כדי לבטל סריקת פוקוס אוטומטי, מגדירים את הערך של ANDROID_CONTROL_AF_TRIGGER ל-ANDROID_CONTRL_AF_TRIGGER_CANCEL. אחרת, הרשומה לא תהיה קיימת או שתוגדר ל-ANDROID_CONTROL_AF_TRIGGER_IDLE. כל בקשה עם רשומת טריגר שמוגדרת לערך שאינו IDLE תטופל כאירוע טריגר עצמאי.
ברמה העליונה, 3A נשלט על ידי ההגדרה ANDROID_CONTROL_MODE. המערכת בוחרת בין 3A ללא (ANDROID_CONTROL_MODE_OFF), מצב אוטומטי רגיל (ANDROID_CONTROL_MODE_AUTO) ושימוש בהגדרת מצב הסצנה (ANDROID_CONTROL_USE_SCENE_MODE):
- במצב מושבת, כל אחד מהמצבים הנפרדים של המיקוד האוטומטי (AF), החשיפת האוטו (AE) והאיזון האוטומטי של הלבן (AWB) מושבתים למעשה, ואף אחת מהפקדים של הצילום לא יכולה לשנות את התוצאות של התהליכים האוטומטיים.
- במצב AUTO, במצבי AF, AE ו-AWB פועלים אלגוריתמים עצמאיים, ולכל אחד מהם יש רשומות מטא-נתונים משלו של מצב, מצב טריגר ומצב, כפי שמפורט בקטע הבא.
- ב-USE_SCENE_MODE, צריך להשתמש בערך של הערך ANDROID_CONTROL_SCENE_MODE כדי לקבוע את ההתנהגות של תרחישי 3A. ב-SCENE_MODEs שאינם FACE_PRIORITY, ה-HAL חייב לשנות את הערכים של ANDROID_CONTROL_AE/AWB/AF_MODE למצב שהוא מעדיף ל- SCENE_MODE שנבחר. לדוגמה, יכול להיות שה-HAL יעדיף את SCENE_MODE_NIGHT כדי להשתמש במצב AF של CONTINUOUS_FOCUS. המערכת תתעלם מכל בחירה של משתמש ב-AE/AWB/AF_MODE במצבים האלה.
- במצב SCENE_MODE_FACE_PRIORITY, אמצעי הבקרה של AE/AWB/AFMODE פועלים כמו במצב ANDROID_CONTROL_MODE_AUTO, אבל תהליכי ה-3A חייבים להתמקד במדידה ובמיקוד על כל הפנים שזוהו בסצנה.
הגדרות של התמקדות אוטומטית ורישום תוצאות
רשומות המטא-נתונים הראשיות | |
---|---|
ANDROID_CONTROL_AF_MODE | אמצעי בקרה לבחירת מצב המיקוד האוטומטי הנוכחי. מוגדר על ידי המסגרת בהגדרות הבקשה. |
AF_MODE_OFF | התכונה 'מיקוד אוטומטי' מושבתת. המסגרת או האפליקציה שולטים ישירות במיקום העדשה. |
AF_MODE_AUTO | מיקוד אוטומטי בתנועה אחת. אין תנועה של העדשה אלא אם הפעלתם את התכונה 'מיקוד אוטומטי'. |
AF_MODE_MACRO | מיקוד אוטומטי קרוב בתנועה אחת. אין תנועה של העדשה אלא אם מופעל AF |
AF_MODE_CONTINUOUS_VIDEO | מיקוד רציף חלק, לצילום סרטונים. הפעלה מיידית נועדה לנעול את המיקוד במיקום הנוכחי. הביטול יגרום לחדש את הפוקוס הרציף. |
AF_MODE_CONTINUOUS_PICTURE | מיקוד רציף מהיר, לצילום תמונות סטילס ללא השהיה של הצמצם. כשמפעילים את האפשרות, המיקוד ננעל בסיום הסריקת הרקע הפעילה. הביטול יגרום לכך שהמיקוד ימשיך לפעול. |
AF_MODE_EDOF | מיקוד מתקדם עם עומק שדה מורחב. אין סריקת פוקוס אוטומטי, ולכן הפעלה או ביטול של סריקת פוקוס אוטומטי לא משפיעים על התמונה. ה-HAL מתמקד באופן אוטומטי בתמונות. |
ANDROID_CONTROL_AF_STATE | מטא-נתונים דינמיים שמתארים את המצב הנוכחי של אלגוריתם ה-AF, שמדווחים על ידי ה-HAL במטא-נתוני התוצאה. |
AF_STATE_INACTIVE | לא בוצע מיקוד או שהאלגוריתם אופס. Lens לא זז. תמיד המצב של MODE_OFF או MODE_EDOF. כשפותחים את המכשיר, הוא צריך להתחיל במצב הזה. |
AF_STATE_PASSIVE_SCAN | אלגוריתם של התמקדות רציפה סורק כרגע כדי למצוא מיקוד טוב. העדשה זזה. |
AF_STATE_PASSIVE_FOCUSED | אלגוריתם של התמקדות רציפה מאמין שהוא מתמקד היטב. העדשה לא זזה. ה-HAL עשוי לצאת מהמצב הזה באופן ספונטני. |
AF_STATE_PASSIVE_UNFOCUSED | אלגוריתם של מיקוד רציף סבור שהתמונה לא ממוקדת מספיק. העדשה לא זזה. ה-HAL עשוי לצאת מהמצב הזה באופן ספונטני. |
AF_STATE_ACTIVE_SCAN | מתבצע סריקת אבטחה שהמשתמש הפעיל. |
AF_STATE_FOCUSED_LOCKED | אלגוריתם המיקוד האוטומטי חושב שהתמונה ממוקדת. העדשה לא זזה. |
AF_STATE_NOT_FOCUSED_LOCKED | לא ניתן היה לבצע מיקוד באמצעות אלגוריתם ה-AF. העדשה לא זזה. |
ANDROID_CONTROL_AF_TRIGGER | לחצן להתחלת סריקה עם פוקוס אוטומטי. המשמעות שלו תלויה במצב ובמצב. מוגדר על ידי המסגרת בהגדרות הבקשה. |
AF_TRIGGER_IDLE | אין טריגר פעיל כרגע. |
AF_TRIGGER_START | הפעלת ההתחלה של סריקה של AF. ההשפעה תלויה במצב ובמצב הפעילות. |
AF_TRIGGER_CANCEL | ביטול הסריקה הנוכחית של AF, אם יש כזו, ואיפוס האלגוריתם לברירת המחדל. |
רשומות מטא-נתונים נוספות | |
---|---|
ANDROID_CONTROL_AF_REGIONS | אמצעי בקרה לבחירת האזורים בתחום הראייה (FOV) שצריך להשתמש בהם כדי לקבוע את מידת המיקוד. ההגבלה הזו חלה על כל מצבי התמקדות האוטומטי שמבצעים סריקה לצורך התמקדות. מוגדר על ידי המסגרת בהגדרות הבקשה. |
הגדרות של חשיפה אוטומטית ורשומות של תוצאות
רשומות המטא-נתונים הראשיות | |
---|---|
ANDROID_CONTROL_AE_MODE | אמצעי בקרה לבחירת מצב החשיפה האוטומטי הנוכחי. מוגדר על ידי המסגרת בהגדרות הבקשה. |
AE_MODE_OFF | חשיפת האוטומטית מושבתת, והמשתמש קובע את רמת החשיפה, את עוצמת האות, את משך המסגרת ואת הפלאש. |
AE_MODE_ON | חשיפה אוטומטית רגילה, עם בקרת הבזק מושבתת. המשתמש יכול להגדיר את הפלאש למצב אש או למצב פנס. |
AE_MODE_ON_AUTO_FLASH | חשיפה אוטומטית רגילה, עם הפעלת פלאש לפי שיקול דעת של HAL לצורך צילום מקדים וצילום סטילס. השבתת היכולת של המשתמשים לשלוט בפלאש. |
AE_MODE_ON_ALWAYS_FLASH | חשיפה אוטומטית רגילה, עם הפעלת פלאש תמיד לצורך צילום, ובשיקול דעת של HAL לצורך צילום מראש. השבתת היכולת של המשתמשים לשלוט בפלאש. |
AE_MODE_ON_AUTO_FLASH_REDEYE | חשיפה אוטומטית רגילה, עם הפעלת פלאש לפי שיקול דעת של HAL לצורך צילום מקדים וצילום סטילס. כדאי להשתמש בפלאש במהלך רצף הצילום המקדים כדי לצמצם את תופעת העיניים האדומות בתמונה הסופית. השבתת היכולת של המשתמשים לשלוט בפלאש. |
AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY | התכונה 'הגברת התאורה החלשה' מכווננת באופן אוטומטי את הבהירות של שידור התצוגה המקדימה בתנאים של תאורה חלשה. כתוצאה מכך, יכול להיות שיופיעו יותר טשטוש תנועה ורעש בתנאים של תאורה חלשה. יצרני המכשירים חייבים לוודא שקצב הפריימים לא יורד מ-10 fps. |
ANDROID_CONTROL_AE_STATE | מטא-נתונים דינמיים שמתארים את המצב הנוכחי של אלגוריתם ה-AE, שמדווחים על ידי ה-HAL במטא-נתונים של התוצאה. |
AE_STATE_INACTIVE | המצב הראשוני של AE אחרי החלפת המצב. כשפותחים את המכשיר, הוא צריך להתחיל במצב הזה. |
AE_STATE_SEARCHING | המערכת לא הגיעה לערך טוב של AE והיא מתאימה את הפרמטרים של החשיפה. |
AE_STATE_CONVERGED | המערכת מצאה ערכי חשיפה טובים לסצנה הנוכחית, והפרמטרים של החשיפה לא משתנים. HAL עשוי לצאת באופן ספונטני מהמצב הזה כדי לחפש פתרון טוב יותר. |
AE_STATE_LOCKED | החשיפה האוטומטית ננעלה באמצעות הפקד AE_LOCK. ערכי החשיפה לא משתנים. |
AE_STATE_FLASH_REQUIRED | ה-HAL יישם חשיפה משולבת, אבל לדעתו נדרשת הפעלת הבזק כדי לקבל תמונה בהירה מספיק. משמש לקביעת אם אפשר להשתמש בפריים ללא השהיה של הצמצם. |
AE_STATE_PRECAPTURE | ה-HAL נמצא באמצע רצף של צילום מראש. בהתאם למצב AE, המצב הזה עשוי לכלול הפעלת הפלאש למדידת התאורה או רצף של פולסים של הפלאש לצמצום העיניים האדומות. |
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER | אמצעי בקרה להתחלת רצף מדידה לפני צילום תמונה באיכות גבוהה. מוגדר על ידי המסגרת בהגדרות הבקשה. |
PRECAPTURE_TRIGGER_IDLE | אין טריגר פעיל כרגע. |
PRECAPTURE_TRIGGER_START | מתחילים רצף לפני הצילום. ה-HAL צריך להשתמש בבקשות הבאות כדי למדוד חשיפה או איזון לבן טובים לצילום ברזולוציה גבוהה שיתבצע בקרוב. |
רשומות מטא-נתונים נוספות | |
---|---|
ANDROID_CONTROL_AE_LOCK | אמצעי בקרה לנעילת אמצעי הבקרה של AE בערכים הנוכחיים שלהם. |
ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION | אמצעי בקרה לכוונון נקודת היעד של הבהירות באלגוריתם ה-AE. |
ANDROID_CONTROL_AE_TARGET_FPS_RANGE | אמצעי בקרה לבחירת טווח היעד של קצב הפריימים לאלגוריתם ה-AE. תרחיש ה-AE לא יכול לשנות את קצב הפריימים כך שיהיה מחוץ למגבלות האלה. |
ANDROID_CONTROL_AE_REGIONS | אמצעי בקרה לבחירת האזורים ב-FOV שצריך להשתמש בהם כדי לקבוע את רמות החשיפה המתאימות. הכלל הזה חל על כל מצבי ה-AE מלבד OFF. |
הגדרות של איזון לבן אוטומטי ורשומות של תוצאות
רשומות המטא-נתונים הראשיות | |
---|---|
ANDROID_CONTROL_AWB_MODE | אמצעי בקרה לבחירת מצב איזון הלבן הנוכחי. |
AWB_MODE_OFF | איזון הלבן האוטומטי מושבת. המשתמש שולט במטריצת הצבעים. |
AWB_MODE_AUTO | איזון הלבן האוטומטי מופעל, ו-3A שולט בטרנספורמציית הצבעים, תוך שימוש בטרנספורמציות מורכבות יותר ממטריצה פשוטה. |
AWB_MODE_INCANDESCENT | הגדרות קבועות של איזון לבן שמתאימות לתאורה פנימית של נורות ליבון (טונגסטן), בערך 2700K. |
AWB_MODE_FLUORESCENT | הגדרות קבועות של איזון לבן שמתאימות לתאורה פלואורסצנטית, בערך 5,000K. |
AWB_MODE_WARM_FLUORESCENT | הגדרות קבועות של איזון לבן שמתאימות לתאורה פלואורסצנטית, בערך 3,000K. |
AWB_MODE_DAYLIGHT | הגדרות קבועות של איזון לבן שמתאימות לתאורה טבעית, בערך 5,500K. |
AWB_MODE_CLOUDY_DAYLIGHT | הגדרות קבועות של איזון לבן שמתאימות לתאורה טבעית מעוננת, בערך 6500K. |
AWB_MODE_TWILIGHT | הגדרות קבועות של איזון לבן מתאימות לצילום בשעת שקיעה או זריחה, בערך 15,000K. |
AWB_MODE_SHADE | הגדרות קבועות של איזון לבן שמתאימות לאזורים מוארים באופן עקיף על ידי השמש, בערך 7500K. |
ANDROID_CONTROL_AWB_STATE | מטא-נתונים דינמיים שמתארים את המצב הנוכחי של אלגוריתם ה-AWB, שמדווחים על ידי ה-HAL במטא-נתונים של התוצאה. |
AWB_STATE_INACTIVE | המצב הראשוני של AWB אחרי מעבר בין המצבים. כשפותחים את המכשיר, הוא צריך להתחיל במצב הזה. |
AWB_STATE_SEARCHING | ה-AWB לא מתכנס לערך טוב ומשנה את הפרמטרים של התאמת הצבעים. |
AWB_STATE_CONVERGED | התכונה AWB מצאה ערכים טובים של התאמת צבע לסצנה הנוכחית, והפרמטרים לא משתנים. HAL עשוי לצאת באופן ספונטני מהמצב הזה כדי לחפש פתרון טוב יותר. |
AWB_STATE_LOCKED | AWB נעול באמצעות אמצעי הבקרה AWB_LOCK. ערכי התאמת הצבע לא משתנים. |
רשומות מטא-נתונים נוספות | |
---|---|
ANDROID_CONTROL_AWB_LOCK | אמצעי בקרה לנעילת התאמות הצבעים של AWB לערכיהן הנוכחיים. |
ANDROID_CONTROL_AWB_REGIONS | אמצעי בקרה לבחירת האזורים ב-FOV שצריך להשתמש בהם כדי לקבוע איזון צבעים טוב. ההגדרה הזו חלה רק על מצב איזון לבן אוטומטי. |
הערות כלליות על מעבר במכונות מצב
מעבר בין המצבים AF, AE או AWB תמיד מאפס את מצב האלגוריתם ל-INACTIVE. באופן דומה, מעבר בין CONTROL_MODE או CONTROL_SCENE_MODE אם CONTROL_MODE == USE_SCENE_MODE מאפס את כל מצבי האלגוריתם ל-INACTIVE.
הטבלאות הבאות מתייחסות לכל מצב בנפרד.
מכונות מצב של AF
mode = AF_MODE_OFF או AF_MODE_EDOF | |||
---|---|---|---|
מדינה | גורם הטרנספורמציה | המצב החדש | הערות |
לא פעיל | התכונה AF מושבתת |
mode = AF_MODE_AUTO או AF_MODE_MACRO | |||
---|---|---|---|
מדינה | גורם הטרנספורמציה | המצב החדש | הערות |
לא פעיל | AF_TRIGGER | ACTIVE_SCAN | התחלת סריקת מיקוד אוטומטי העדשה זזה עכשיו |
ACTIVE_SCAN | סריקת AF הסתיימה | FOCUSED_LOCKED | אם ה-AF הצליח Lens נעול עכשיו |
ACTIVE_SCAN | סריקת AF הסתיימה | NOT_FOCUSED_LOCKED | אם ה-AF הצליח Lens נעול עכשיו |
ACTIVE_SCAN | AF_CANCEL | לא פעיל | ביטול או איפוס של AF Lens נעול עכשיו |
FOCUSED_LOCKED | AF_CANCEL | לא פעיל | ביטול או איפוס של AF |
FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | התחלת סריקת רשת חדשה העדשה זזה עכשיו |
NOT_FOCUSED_LOCKED | AF_CANCEL | לא פעיל | ביטול או איפוס של AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | התחלת סריקת רשת חדשה העדשה זזה עכשיו |
כל המדינות | שינוי מצב | לא פעיל |
mode = AF_MODE_CONTINUOUS_VIDEO | |||
---|---|---|---|
מדינה | גורם הטרנספורמציה | המצב החדש | הערות |
לא פעיל | HAL מתחיל סריקה חדשה | PASSIVE_SCAN | התחלת סריקת מיקוד אוטומטי העדשה זזה עכשיו |
לא פעיל | AF_TRIGGER | NOT_FOCUSED_LOCKED | שאילתת מצב AF Lens נעול עכשיו |
PASSIVE_SCAN | HAL משלים את הסריקה הנוכחית | PASSIVE_FOCUSED | סיום הסריקה של המיקוד האוטומטי Lens נעול עכשיו |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | טרנספורמציה מיידית אם המיקוד טוב Lens נעול עכשיו |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | טרנספורמציה מיידית אם המיקוד לא טוב Lens נעול עכשיו |
PASSIVE_SCAN | AF_CANCEL | לא פעיל | איפוס מיקום העדשה Lens נעול עכשיו |
PASSIVE_FOCUSED | HAL מתחיל סריקה חדשה | PASSIVE_SCAN | התחלת סריקה של מיקוד אוטומטי העדשה זזה עכשיו |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | טרנספורמציה מיידית אם המיקוד טוב Lens נעול עכשיו |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | טרנספורמציה מיידית אם המיקוד לא טוב
Lens נעול עכשיו |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | ללא אפקטים |
FOCUSED_LOCKED | AF_CANCEL | לא פעיל | הפעלה מחדש של הסריקה למיקוד אוטומטי |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | ללא אפקטים |
NOT_FOCUSED_LOCKED | AF_CANCEL | לא פעיל | הפעלה מחדש של הסריקה למיקוד אוטומטי |
mode = AF_MODE_CONTINUOUS_PICTURE | |||
---|---|---|---|
מדינה | גורם הטרנספורמציה | המצב החדש | הערות |
לא פעיל | HAL מתחיל סריקה חדשה | PASSIVE_SCAN | התחלת סריקה של מיקוד אוטומטי העדשה זזה עכשיו |
לא פעיל | AF_TRIGGER | NOT_FOCUSED_LOCKED | שאילתת מצב AF Lens נעול עכשיו |
PASSIVE_SCAN | HAL משלים את הסריקה הנוכחית | PASSIVE_FOCUSED | סיום הסריקה של המיקוד האוטומטי
Lens נעול עכשיו |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | טרנספורמציה סופית לאחר שהתמקדתם בנושא Lens נעול עכשיו |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | טרנספורמציה סופית אם לא ניתן להתמקד Lens נעול עכשיו |
PASSIVE_SCAN | AF_CANCEL | לא פעיל | איפוס מיקום העדשה Lens נעול עכשיו |
PASSIVE_FOCUSED | HAL מתחיל סריקה חדשה | PASSIVE_SCAN | התחלת סריקה של מיקוד אוטומטי העדשה זזה עכשיו |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | טרנספורמציה מיידית אם המיקוד טוב Lens נעול עכשיו |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | טרנספורמציה מיידית אם המיקוד לא תקין Lens נעול עכשיו |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | ללא אפקטים |
FOCUSED_LOCKED | AF_CANCEL | לא פעיל | הפעלה מחדש של הסריקה למיקוד אוטומטי |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | ללא אפקטים |
NOT_FOCUSED_LOCKED | AF_CANCEL | לא פעיל | הפעלה מחדש של הסריקה למיקוד אוטומטי |
מכונות מצב של AE ו-AWB
מכונות המצב של AE ו-AWB זהות ברובן. ל-AE יש מצבים נוספים: FLASH_REQUIRED ו-PRECAPTURE. לכן, שורות בהמשך שמתייחסות לשני המצבים האלה צריכות להתעלם ממכונת המצבים של AWB.
mode = AE_MODE_OFF / AWB mode not AUTO | |||
---|---|---|---|
מדינה | גורם הטרנספורמציה | המצב החדש | הערות |
לא פעיל | AE/AWB מושבתים |
mode = AE_MODE_ON_* / AWB_MODE_AUTO | |||
---|---|---|---|
מדינה | גורם הטרנספורמציה | המצב החדש | הערות |
לא פעיל | HAL מפעיל סריקת AE/AWB | מחפש | |
לא פעיל | AE/AWB_LOCK מופעל | נעולה | ערכים נעולים |
מחפש | HAL מסיים את הסריקה של AE/AWB | CONVERGED | ערכים טובים, לא משתנים |
מחפש | HAL מסיים את הסריקה של AE | FLASH_REQUIRED | התמונה התמקדה אבל היא חשוכה מדי בלי הפלאש |
מחפש | AE/AWB_LOCK מופעל | נעולה | ערכים נעולים |
CONVERGED | HAL מפעיל סריקת AE/AWB | מחפש | ערכים נעולים |
CONVERGED | AE/AWB_LOCK מופעל | נעולה | ערכים נעולים |
FLASH_REQUIRED | HAL מפעיל סריקת AE/AWB | מחפש | ערכים נעולים |
FLASH_REQUIRED | AE/AWB_LOCK מופעל | נעולה | ערכים נעולים |
נעולה | AE/AWB_LOCK מושבת | מחפש | ערכים לא תקינים אחרי ביטול הנעילה |
נעולה | AE/AWB_LOCK מושבת | CONVERGED | הערכים תקינים אחרי ביטול הנעילה |
נעולה | AE_LOCK מושבת | FLASH_REQUIRED | החשיפה טובה, אבל התמונה חשוכה מדי |
כל המדינות ב-AE | PRECAPTURE_START | PRECAPTURE | התחלת רצף של צילום מקדים |
הקלטה מראש | הרצף הושלם, AE_LOCK מושבת | CONVERGED | מוכנים לצילום באיכות גבוהה |
הקלטה מראש | הרצף הושלם, AE_LOCK מופעל | נעולה | מוכנים לצילום באיכות גבוהה |
הפעלת שליטה ידנית
יש גם כמה אמצעי בקרה שמעורבים בהגדרת הבלוק 3A של המכשיר כדי לאפשר שליטה ישירה באפליקציה.
המודל של HAL לבקרת 3A הוא שבכל בקשה, HAL בודק את המצב של שדות הבקרה של 3A. אם תפעילו תרחיש 3A כלשהו, התרחיש הזה יחליף את משתני הבקרה שקשורים לתרחיש הזה, וערכי ההחרגה האלה יהיו זמינים במטא-נתוני התוצאה של הצילום. לדוגמה, אם החשיפה האוטומטית מופעלת בבקשה, ה-HAL צריך לשכתב את השדות של הבקשה: חשיפה, רווח ומשך מסגרת (ואולי גם את השדות של הפלאש, בהתאם למצב AE). רשימת אמצעי הבקרה הרלוונטיים היא:
שם הבקרה | יחידה | הערות |
---|---|---|
android.control.mode | enum: OFF, AUTO, USE_SCENE_MODE | אמצעי בקרה ברמה גבוהה מסוג 3A. כשהאפשרות מוגדרת כ'מושבתת', כל בקרת ה-3A על ידי ה-HAL מושבתת. האפליקציה צריכה להגדיר את השדות של פרמטרים לתיעוד בעצמה. כשהערך מוגדר ל-AUTO, אמצעי הבקרה של האלגוריתמים הנפרדים ב-android.control.* נכנסים לתוקף, כמו android.control.afMode. כשההגדרה היא USE_SCENE_MODE, אמצעי הבקרה הנפרדים ב-android.control.* מושבתות ברוב המקרים, ו-HAL מטמיע אחת מההגדרות של מצב הסצנה (כמו ACTION, SUNSET או PARTY) לפי הצורך. |
android.control.afMode | טיפוסים בני מנייה (enum) | OFF (מושבת) – שליטה ידנית בחיבור העדשה באמצעות android.lens.focusDistance. |
android.control.aeMode | טיפוסים בני מנייה (enum) | OFF (מושבת) – שליטה ידנית בחשיפה/בהמרה/במשך המסגרת באמצעות android.sensor.exposureTime / .sensitivity / .frameDuration |
android.control.awbMode | טיפוסים בני מנייה (enum) | מצב כבוי פירושו שליטה ידנית באיזון הלבן. |