این صفحه حالتهای 3A و ماشینهای حالت را برای یک دستگاه Android توصیف میکند. رابط HAL دوربین، که ماشینهای حالت را در سطح بالایی تعریف میکند، به پیادهسازی HAL و فریمورک اندروید اجازه میدهد تا حالتهای 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) به طور موثر خاموش هستند و هیچ یک از کنترلهای ضبط ممکن است توسط روتینهای 3A لغو نشود.
- در حالت AUTO، حالتهای AF، AE و AWB همگی الگوریتمهای مستقل خود را اجرا میکنند و مدخلهای متادیتای حالت، حالت و راهانداز خود را دارند، همانطور که در بخش بعدی فهرست شده است.
- در USE_SCENE_MODE، مقدار ورودی ANDROID_CONTROL_SCENE_MODE باید برای تعیین رفتار روالهای 3A استفاده شود. در SCENE_MODE های غیر از FACE_PRIORITY، HAL باید مقادیر ANDROID_CONTROL_AE/AWB/AF_MODE را لغو کند تا حالتی باشد که برای SCENE_MODE انتخابی ترجیح می دهد. برای مثال، HAL ممکن است SCENE_MODE_NIGHT را برای استفاده از حالت CONTINUOUS_FOCUS AF ترجیح دهد. هر گونه انتخاب کاربر از AE/AWB/AF_MODE زمانی که صحنه باید برای این حالت های صحنه نادیده گرفته شود.
- برای SCENE_MODE_FACE_PRIORITY، کنترلهای AE/AWB/AFMODE مانند ANDROID_CONTROL_MODE_AUTO کار میکنند، اما روالهای 3A باید نسبت به اندازهگیری و تمرکز روی هر چهره شناساییشده در صحنه تعصب داشته باشند.
تنظیمات فوکوس خودکار و ورودی های نتیجه
ورودی های ابرداده اصلی | |
---|---|
ANDROID_CONTROL_AF_MODE | کنترل برای انتخاب حالت فوکوس خودکار فعلی. توسط چارچوب در تنظیمات درخواست تنظیم کنید. |
AF_MODE_OFF | AF غیرفعال است. چارچوب/برنامه به طور مستقیم موقعیت لنز را کنترل می کند. |
AF_MODE_AUTO | فوکوس خودکار تک حرکتی. بدون حرکت لنز مگر اینکه AF فعال شود. |
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 | هیچ تمرکزی انجام نشده است یا الگوریتم بازنشانی شده است. لنز حرکت نمی کند همیشه وضعیت برای 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 معتقد است که متمرکز است. لنز حرکت نمی کند. |
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) که باید برای تعیین فوکوس خوب استفاده شود. این برای همه حالتهای AF که برای فوکوس اسکن میکنند، صدق میکند. توسط چارچوب در تنظیمات درخواست تنظیم کنید. |
تنظیمات نوردهی خودکار و ورودیهای نتیجه
ورودی های ابرداده اصلی | |
---|---|
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 | Low Light Boost به طور خودکار روشنایی جریان پیش نمایش را در شرایط کم نور تنظیم می کند. این می تواند منجر به افزایش تاری حرکت و نویز در شرایط کم نور شود. سازندگان دستگاه باید اطمینان حاصل کنند که نرخ فریم کمتر از 10 فریم بر ثانیه نیست. |
ANDROID_CONTROL_AE_STATE | فراداده پویا که وضعیت الگوریتم AE فعلی را توصیف می کند که توسط HAL در فراداده نتیجه گزارش شده است. |
AE_STATE_INACTIVE | وضعیت AE اولیه پس از تغییر حالت. هنگامی که دستگاه باز می شود، باید در این حالت راه اندازی شود. |
AE_STATE_SEARCHING | AE به مقدار خوبی همگرا نیست و در حال تنظیم پارامترهای نوردهی است. |
AE_STATE_CONVERGED | AE مقادیر نوردهی خوبی برای صحنه فعلی پیدا کرده است و پارامترهای نوردهی تغییر نمی کنند. HAL ممکن است به طور خود به خود این حالت را برای جستجوی راه حل بهتر ترک کند. |
AE_STATE_LOCKED | AE با کنترل 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 | تنظیمات تعادل سفیدی ثابت برای نور فلورسنت خوب است، تقریباً 5000K. |
AWB_MODE_WARM_FLUORESCENT | تنظیمات تعادل سفیدی ثابت برای روشنایی فلورسنت، تقریباً 3000K خوب است. |
AWB_MODE_DAYLIGHT | تنظیمات تعادل سفیدی ثابت برای نور روز خوب است، تقریباً 5500K. |
AWB_MODE_CLOUDY_DAYLIGHT | تنظیمات تعادل سفیدی ثابت برای نور روز ابری خوب است، تقریباً 6500K. |
AWB_MODE_TWILIGHT | تنظیمات تعادل سفیدی ثابت برای نزدیک غروب/طلوع خورشید خوب است، تقریباً 15000K. |
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
حالت = AF_MODE_OFF یا AF_MODE_EDOF | |||
---|---|---|---|
ایالت | علت دگرگونی | حالت جدید | یادداشت ها |
غیر فعال | AF غیرفعال است |
حالت = AF_MODE_AUTO یا AF_MODE_MACRO | |||
---|---|---|---|
ایالت | علت دگرگونی | حالت جدید | یادداشت ها |
غیر فعال | AF_TRIGGER | ACTIVE_SCAN | حرکت AF را شروع کنید لنز در حال حرکت است |
ACTIVE_SCAN | جارو AF انجام شد | FOCUSED_LOCKED | در صورت موفقیت آمیز بودن AF اکنون لنز قفل شده است |
ACTIVE_SCAN | جارو AF انجام شد | NOT_FOCUSED_LOCKED | در صورت موفقیت آمیز بودن AF اکنون لنز قفل شده است |
ACTIVE_SCAN | AF_CANCEL | غیر فعال | لغو/تنظیم مجدد AF اکنون لنز قفل شده است |
FOCUSED_LOCKED | AF_CANCEL | غیر فعال | لغو/تنظیم مجدد AF |
FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | رفت و برگشت جدید را شروع کنید لنز در حال حرکت است |
NOT_FOCUSED_LOCKED | AF_CANCEL | غیر فعال | لغو/تنظیم مجدد AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | رفت و برگشت جدید را شروع کنید لنز در حال حرکت است |
همه ایالت ها | تغییر حالت | غیر فعال |
حالت = AF_MODE_CONTINUOUS_VIDEO | |||
---|---|---|---|
ایالت | علت دگرگونی | حالت جدید | یادداشت ها |
غیر فعال | HAL اسکن جدید را آغاز می کند | PASSIVE_SCAN | حرکت AF را شروع کنید لنز در حال حرکت است |
غیر فعال | AF_TRIGGER | NOT_FOCUSED_LOCKED | پرس و جو وضعیت AF اکنون لنز قفل شده است |
PASSIVE_SCAN | HAL اسکن فعلی را کامل می کند | PASSIVE_FOCUSED | پایان دادن به اسکن AF اکنون لنز قفل شده است |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | دگرگونی فوری اگر تمرکز خوب باشد اکنون لنز قفل شده است |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | دگرگونی فوری در صورت بد بودن تمرکز اکنون لنز قفل شده است |
PASSIVE_SCAN | AF_CANCEL | غیر فعال | تنظیم مجدد موقعیت لنز اکنون لنز قفل شده است |
PASSIVE_FOCUSED | HAL اسکن جدید را آغاز می کند | PASSIVE_SCAN | اسکن AF را شروع کنید لنز در حال حرکت است |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | دگرگونی فوری اگر تمرکز خوب باشد اکنون لنز قفل شده است |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | دگرگونی فوری در صورت بد بودن تمرکز اکنون لنز قفل شده است |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | بدون تاثیر |
FOCUSED_LOCKED | AF_CANCEL | غیر فعال | اسکن AF را مجدداً راه اندازی کنید |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | بدون تاثیر |
NOT_FOCUSED_LOCKED | AF_CANCEL | غیر فعال | اسکن AF را مجدداً راه اندازی کنید |
حالت = AF_MODE_CONTINUOUS_PICTURE | |||
---|---|---|---|
ایالت | علت دگرگونی | حالت جدید | یادداشت ها |
غیر فعال | HAL اسکن جدید را آغاز می کند | PASSIVE_SCAN | اسکن AF را شروع کنید لنز در حال حرکت است |
غیر فعال | AF_TRIGGER | NOT_FOCUSED_LOCKED | پرس و جو وضعیت AF اکنون لنز قفل شده است |
PASSIVE_SCAN | HAL اسکن فعلی را کامل می کند | PASSIVE_FOCUSED | پایان دادن به اسکن AF اکنون لنز قفل شده است |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | تحول نهایی یک بار تمرکز خوب است اکنون لنز قفل شده است |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | دگرگونی نهایی اگر نتوان تمرکز کرد اکنون لنز قفل شده است |
PASSIVE_SCAN | AF_CANCEL | غیر فعال | تنظیم مجدد موقعیت لنز اکنون لنز قفل شده است |
PASSIVE_FOCUSED | HAL اسکن جدید را آغاز می کند | PASSIVE_SCAN | اسکن AF را شروع کنید لنز در حال حرکت است |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | دگرگونی فوری اگر تمرکز خوب باشد اکنون لنز قفل شده است |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | دگرگونی فوری در صورت بد بودن تمرکز اکنون لنز قفل شده است |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | بدون تاثیر |
FOCUSED_LOCKED | AF_CANCEL | غیر فعال | اسکن AF را مجدداً راه اندازی کنید |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | بدون تاثیر |
NOT_FOCUSED_LOCKED | AF_CANCEL | غیر فعال | اسکن AF را مجدداً راه اندازی کنید |
ماشین های حالت AE و AWB
ماشینهای حالت AE و AWB عمدتاً یکسان هستند. AE حالت های FLASH_REQUIRED و PRECAPTURE اضافی دارد. بنابراین ردیف های زیر که به آن دو حالت اشاره می کنند باید برای ماشین حالت AWB نادیده گرفته شوند.
حالت = AE_MODE_OFF / حالت AWB نه AUTO | |||
---|---|---|---|
ایالت | علت دگرگونی | حالت جدید | یادداشت ها |
غیر فعال | AE/AWB غیرفعال است |
حالت = AE_MODE_ON_* / AWB_MODE_AUTO | |||
---|---|---|---|
ایالت | علت دگرگونی | حالت جدید | یادداشت ها |
غیر فعال | HAL اسکن AE/AWB را آغاز می کند | جستجو | |
غیر فعال | AE/AWB_LOCK روشن است | قفل شده است | ارزش ها قفل شده اند |
جستجو | HAL اسکن AE/AWB را به پایان می رساند | همگرا | ارزش های خوب، تغییر نمی کند |
جستجو | HAL اسکن AE را تمام می کند | FLASH_REQUIRED | همگرا اما خیلی تاریک بدون فلاش |
جستجو | AE/AWB_LOCK روشن است | قفل شده است | ارزش ها قفل شده اند |
همگرا | HAL اسکن AE/AWB را آغاز می کند | جستجو | ارزش ها قفل شده اند |
همگرا | AE/AWB_LOCK روشن است | قفل شده است | ارزش ها قفل شده اند |
FLASH_REQUIRED | HAL اسکن AE/AWB را آغاز می کند | جستجو | ارزش ها قفل شده اند |
FLASH_REQUIRED | AE/AWB_LOCK روشن است | قفل شده است | ارزش ها قفل شده اند |
قفل شده است | AE/AWB_LOCK خاموش است | جستجو | ارزش ها پس از آنلاک خوب نیستند |
قفل شده است | AE/AWB_LOCK خاموش است | همگرا | ارزش ها پس از آنلاک خوب است |
قفل شده است | AE_LOCK خاموش است | FLASH_REQUIRED | نوردهی خوب، اما خیلی تاریک است |
همه ایالت های AE | PRECAPTURE_START | پیش گرفتن | دنباله پیش گرفتن را شروع کنید |
پیش گرفتن | دنباله انجام شد، AE_LOCK خاموش است | همگرا | آماده برای عکس برداری با کیفیت بالا |
پیش گرفتن | دنباله انجام شد، AE_LOCK روشن است | قفل شده است | آماده برای عکس برداری با کیفیت بالا |
فعال کردن کنترل دستی
چندین کنترل نیز در پیکربندی بلوکهای دستگاه 3A دخیل هستند تا امکان کنترل مستقیم برنامه را فراهم کنند.
مدل HAL برای کنترل 3A به این صورت است که برای هر درخواست، HAL وضعیت فیلدهای کنترل 3A را بررسی می کند. اگر هر روال 3A فعال باشد، آن روال، متغیرهای کنترلی را که به آن روال مربوط میشوند، لغو میکند، و این مقادیر نادیده گرفته میشوند سپس در فراداده نتیجه برای آن ضبط در دسترس هستند. بنابراین، برای مثال، اگر نوردهی خودکار در یک درخواست فعال باشد، HAL باید فیلدهای نوردهی، افزایش و مدت زمان فریم (و احتمالاً فیلدهای فلاش، بسته به حالت AE) درخواست را بازنویسی کند. لیست کنترل های مربوطه عبارتند از:
نام کنترل | واحد | یادداشت ها |
---|---|---|
android.control.mode | تعداد: OFF، AUTO، USE_SCENE_MODE | کنترل سطح بالا 3A. وقتی روی OFF تنظیم شود، تمام کنترل 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 | OFF به معنای کنترل دستی تعادل رنگ سفید است. |