في حين أن خوارزميات 3A الفعلية تصل إلى مستوى تنفيذ HAL، يتم تعريف وصف جهاز الحالة عالي المستوى بواسطة واجهة HAL للسماح لجهاز 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.
- في الوضع التلقائي، تعمل جميع أوضاع 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_MODE_AUTO | التركيز البؤري التلقائي بمسحة واحدة. لا توجد حركة للعدسة ما لم يتم تشغيل التركيز البؤري التلقائي. |
AF_MODE_MACRO | ضبط تلقائي للصورة عن قرب. لا توجد حركة للعدسة ما لم يتم تشغيل التركيز البؤري التلقائي |
AF_MODE_CONTINUOUS_VIDEO | التركيز المستمر السلس لتسجيل الفيديو. يؤدي التشغيل فورًا إلى قفل التركيز في الموضع الحالي. يؤدي الإلغاء إلى استئناف التركيز المستمر. |
AF_MODE_CONTINUOUS_PICTURE | التركيز البؤري المستمر السريع، لالتقاط الصور الثابتة بدون تأخير في الغالق. يتم التركيز على عمليات الأقفال بمجرد انتهاء عملية المسح النشطة حاليًا. يؤدي الإلغاء إلى استئناف التركيز المستمر. |
AF_MODE_EDOF | عمق ممتد متقدم للتركيز الميداني. لا يوجد مسح للتركيز التلقائي، لذا فإن تشغيله أو إلغائه ليس له أي تأثير. يتم تركيز الصور تلقائيًا بواسطة HAL. |
ANDROID_CONTROL_AF_STATE | بيانات التعريف الديناميكية التي تصف حالة خوارزمية التركيز البؤري التلقائي الحالية، والتي تم الإبلاغ عنها بواسطة 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_STATE_NOT_FOCUSED_LOCKED | لم تتمكن خوارزمية التركيز البؤري التلقائي من التركيز. العدسة لا تتحرك. |
ANDROID_CONTROL_AF_TRIGGER | التحكم في بدء فحص التركيز البؤري التلقائي، والذي يعتمد معناه على الوضع والحالة. تم تعيينه بواسطة الإطار في إعدادات الطلب. |
AF_TRIGGER_IDLE | لا يوجد الزناد الحالي. |
AF_TRIGGER_START | بدء تشغيل مسح التركيز البؤري التلقائي. يعتمد التأثير على الوضع والحالة. |
AF_TRIGGER_CANCEL | قم بإلغاء فحص التركيز البؤري التلقائي الحالي إن وجد، وأعد ضبط الخوارزمية على الوضع الافتراضي. |
إدخالات بيانات التعريف الإضافية | |
---|---|
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 للالتقاط المسبق والتقاط الصور الثابتة. استخدم فلاشًا متتابعًا في نهاية تسلسل الالتقاط المسبق لتقليل العين الحمراء في الصورة النهائية. تم تعطيل تحكم المستخدم في الفلاش. |
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 | التحكم في اختيار مناطق مجال الرؤية التي ينبغي استخدامها لتحديد مستويات التعرض الجيدة. وينطبق هذا على جميع أوضاع AE إلى جانب OFF. |
إعدادات توازن اللون الأبيض التلقائي وإدخالات النتائج
إدخالات البيانات الوصفية الرئيسية | |
---|---|
ANDROID_CONTROL_AWB_MODE | التحكم في اختيار وضع توازن اللون الأبيض الحالي. |
AWB_MODE_OFF | تم تعطيل توازن اللون الأبيض التلقائي. يتحكم المستخدم في مصفوفة الألوان. |
AWB_MODE_AUTO | يتم تمكين توازن اللون الأبيض التلقائي. يتحكم 3A في تحويل الألوان، وربما يستخدم تحويلات أكثر تعقيدًا من المصفوفة البسيطة. |
AWB_MODE_INCANDESCENT | إعدادات توازن اللون الأبيض الثابتة جيدة للإضاءة المتوهجة (التنغستن) الداخلية، حوالي 2700 كلفن. |
AWB_MODE_FLUORESCENT | إعدادات توازن اللون الأبيض الثابتة جيدة لإضاءة الفلورسنت، حوالي 5000 كلفن. |
AWB_MODE_WARM_FLUORESCENT | إعدادات توازن اللون الأبيض الثابتة جيدة لإضاءة الفلورسنت، حوالي 3000 كلفن. |
AWB_MODE_DAYLIGHT | إعدادات توازن اللون الأبيض الثابتة جيدة لضوء النهار، حوالي 5500 كلفن. |
AWB_MODE_CLOUDY_DAYLIGHT | إعدادات توازن اللون الأبيض الثابتة جيدة لضوء النهار الغائم، حوالي 6500 كلفن. |
AWB_MODE_TWILIGHT | إعدادات توازن اللون الأبيض الثابتة جيدة عند غروب الشمس/شروق الشمس القريب، حوالي 15000 كلفن. |
AWB_MODE_SHADE | إعدادات توازن اللون الأبيض الثابتة جيدة للمناطق المضاءة بشكل غير مباشر بالشمس، حوالي 7500 كلفن. |
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 | التحكم في تحديد مناطق مجال الرؤية التي ينبغي استخدامها لتحديد توازن الألوان الجيد. ينطبق هذا فقط على وضع توازن اللون الأبيض التلقائي. |
ملاحظات انتقال آلة الحالة العامة
يؤدي التبديل بين أوضاع AF أو AE أو AWB دائمًا إلى إعادة تعيين حالة الخوارزمية إلى غير نشط. وبالمثل، يؤدي التبديل بين CONTROL_MODE أو CONTROL_SCENE_MODE إذا كان CONTROL_MODE == USE_SCENE_MODE إلى إعادة تعيين جميع حالات الخوارزمية إلى INACTIVE.
الجداول أدناه مخصصة لكل وضع.
آلات حالة AF
الوضع = AF_MODE_OFF أو AF_MODE_EDOF | |||
---|---|---|---|
ولاية | سبب التحول | دولة جديدة | ملحوظات |
غير نشط | تم تعطيل التركيز البؤري التلقائي |
الوضع = AF_MODE_AUTO أو AF_MODE_MACRO | |||
---|---|---|---|
ولاية | سبب التحول | دولة جديدة | ملحوظات |
غير نشط | AF_TRIGGER | ACTIVE_SCAN | ابدأ عملية مسح التركيز البؤري التلقائي العدسة تتحرك الآن |
ACTIVE_SCAN | تم إجراء عملية مسح التركيز البؤري التلقائي | FOCUSED_LOCKED | إذا نجح AF العدسة مقفلة الآن |
ACTIVE_SCAN | تم إجراء عملية مسح التركيز البؤري التلقائي | NOT_FOCUSED_LOCKED | إذا نجح AF العدسة مقفلة الآن |
ACTIVE_SCAN | AF_CANCEL | غير نشط | إلغاء/إعادة ضبط التركيز البؤري التلقائي العدسة مقفلة الآن |
FOCUSED_LOCKED | AF_CANCEL | غير نشط | إلغاء/إعادة ضبط التركيز البؤري التلقائي |
FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | بدء عملية مسح جديدة العدسة تتحرك الآن |
NOT_FOCUSED_LOCKED | AF_CANCEL | غير نشط | إلغاء/إعادة ضبط التركيز البؤري التلقائي |
NOT_FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | بدء عملية مسح جديدة العدسة تتحرك الآن |
كل المقاطعات | تغيير الوضع | غير نشط |
الوضع = AF_MODE_CONTINUOUS_VIDEO | |||
---|---|---|---|
ولاية | سبب التحول | دولة جديدة | ملحوظات |
غير نشط | يبدأ HAL بفحص جديد | PASSIVE_SCAN | ابدأ عملية مسح التركيز البؤري التلقائي العدسة تتحرك الآن |
غير نشط | AF_TRIGGER | NOT_FOCUSED_LOCKED | استعلام حالة AF العدسة مقفلة الآن |
PASSIVE_SCAN | يكمل HAL الفحص الحالي | PASSIVE_FOCUSED | إنهاء مسح التركيز البؤري التلقائي العدسة مقفلة الآن |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | التحول الفوري إذا كان التركيز جيدا العدسة مقفلة الآن |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | التحول الفوري إذا كان التركيز سيئا العدسة مقفلة الآن |
PASSIVE_SCAN | AF_CANCEL | غير نشط | إعادة ضبط موضع العدسة العدسة مقفلة الآن |
PASSIVE_FOCUSED | يبدأ HAL بفحص جديد | PASSIVE_SCAN | ابدأ فحص التركيز البؤري التلقائي العدسة تتحرك الآن |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | التحول الفوري إذا كان التركيز جيدا العدسة مقفلة الآن |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | التحول الفوري إذا كان التركيز سيئا العدسة مقفلة الآن |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | بدون تأثير |
FOCUSED_LOCKED | AF_CANCEL | غير نشط | أعد تشغيل فحص التركيز البؤري التلقائي |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | بدون تأثير |
NOT_FOCUSED_LOCKED | AF_CANCEL | غير نشط | أعد تشغيل فحص التركيز البؤري التلقائي |
الوضع = AF_MODE_CONTINUOUS_PICTURE | |||
---|---|---|---|
ولاية | سبب التحول | دولة جديدة | ملحوظات |
غير نشط | يبدأ HAL بفحص جديد | PASSIVE_SCAN | ابدأ فحص التركيز البؤري التلقائي العدسة تتحرك الآن |
غير نشط | AF_TRIGGER | NOT_FOCUSED_LOCKED | استعلام حالة AF العدسة مقفلة الآن |
PASSIVE_SCAN | يكمل HAL الفحص الحالي | PASSIVE_FOCUSED | إنهاء مسح التركيز البؤري التلقائي العدسة مقفلة الآن |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | التحول النهائي مرة واحدة تركز بشكل جيد العدسة مقفلة الآن |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | التحول في نهاية المطاف إذا لم تتمكن من التركيز العدسة مقفلة الآن |
PASSIVE_SCAN | AF_CANCEL | غير نشط | إعادة ضبط موضع العدسة العدسة مقفلة الآن |
PASSIVE_FOCUSED | يبدأ HAL بفحص جديد | PASSIVE_SCAN | ابدأ فحص التركيز البؤري التلقائي العدسة تتحرك الآن |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | التحول الفوري إذا كان التركيز جيدا العدسة مقفلة الآن |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | التحول الفوري إذا كان التركيز سيئا العدسة مقفلة الآن |
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.
الوضع = AE_MODE_OFF / وضع AWB ليس تلقائي | |||
---|---|---|---|
ولاية | سبب التحول | دولة جديدة | ملحوظات |
غير نشط | تم تعطيل AE/AWB |
الوضع = AE_MODE_ON_* / AWB_MODE_AUTO | |||
---|---|---|---|
ولاية | سبب التحول | دولة جديدة | ملحوظات |
غير نشط | يبدأ HAL بفحص AE/AWB | يبحث | |
غير نشط | تشغيل AE/AWB_LOCK | مقفل | القيم مغلقة |
يبحث | ينهي HAL فحص AE/AWB | متقاربة | القيم الجيدة، لا تتغير |
يبحث | HAL ينهي فحص AE | فلاش_مطلوب | متقاربة ولكنها مظلمة جدًا بدون فلاش |
يبحث | تشغيل AE/AWB_LOCK | مقفل | القيم مغلقة |
متقاربة | يبدأ HAL بفحص AE/AWB | يبحث | القيم مغلقة |
متقاربة | تشغيل AE/AWB_LOCK | مقفل | القيم مغلقة |
فلاش_مطلوب | يبدأ HAL بفحص AE/AWB | يبحث | القيم مغلقة |
فلاش_مطلوب | تشغيل AE/AWB_LOCK | مقفل | القيم مغلقة |
مقفل | AE/AWB_LOCK معطل | يبحث | القيم ليست جيدة بعد فتح القفل |
مقفل | AE/AWB_LOCK معطل | متقاربة | القيم جيدة بعد فتح |
مقفل | AE_LOCK معطل | فلاش_مطلوب | التعرض جيد، ولكن مظلمة للغاية |
جميع دول AE | PRECAPTURE_START | الالتقاط المسبق | بدء تسلسل الالتقاط المسبق |
الالتقاط المسبق | تم التسلسل، تم إيقاف AE_LOCK | متقاربة | جاهز لالتقاط صور عالية الجودة |
الالتقاط المسبق | تم التسلسل، AE_LOCK قيد التشغيل | مقفل | جاهز لالتقاط صور عالية الجودة |
تمكين التحكم اليدوي
يتم أيضًا تضمين العديد من عناصر التحكم في تكوين كتل 3A الخاصة بالجهاز للسماح بالتحكم المباشر في التطبيق.
نموذج HAL للتحكم 3A هو أنه لكل طلب، يقوم HAL بفحص حالة حقول التحكم 3A. إذا تم تمكين أي روتين 3A، فسيتجاوز هذا الروتين متغيرات التحكم المرتبطة بهذا الروتين، وستكون قيم التجاوز هذه متاحة بعد ذلك في بيانات التعريف الناتجة لهذا الالتقاط. لذلك، على سبيل المثال، إذا تم تمكين التعريض الضوئي التلقائي في أحد الطلبات، فيجب أن تقوم طبقة تجريد سطح الأرض (HAL) بالكتابة فوق حقول التعريض الضوئي والكسب ومدة الإطار (وربما حقول الفلاش، اعتمادًا على وضع AE) للطلب. قائمة الضوابط ذات الصلة هي:
اسم التحكم | وحدة | ملحوظات |
---|---|---|
android.control.mode | التعداد: إيقاف، تلقائي، 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 | التعداد | OFF يعني التحكم اليدوي في تركيز العدسة من خلال android.lens.focusDistance. |
android.control.aeMode | التعداد | OFF يعني التحكم اليدوي في مدة التعرض/الكسب/الإطار من خلال android.sensor.exposureTime / .sensitivity / .frameDuration |
android.control.awbMode | التعداد | OFF يعني التحكم اليدوي في توازن اللون الأبيض. |