Android 12 रिलीज़ में कई कैमरा ITS परिवर्तन शामिल हैं। यह पृष्ठ उन परिवर्तनों का सारांश प्रस्तुत करता है जो चार व्यापक श्रेणियों में आते हैं:
पायथन 3 का रिफैक्टर
जनवरी 2020 में पायथन 2.7 के अप्रचलन के कारण, संपूर्ण कैमरा आईटीएस कोडबेस को पायथन 3 में पुनः सक्रिय किया गया था। एंड्रॉइड 12 में निम्नलिखित पायथन संस्करणों और लाइब्रेरी की आवश्यकता है:
- पायथन 3.7.9 या पायथन 3.7.10
- ओपनसीवी 3.4.2
- नम्पी 1.19.2
- मैटप्लोटलिब 3.3.2
- स्काइपी 1.5.2
- पायसीरियल 3.5
- तकिया 8.1.0
- PyYAML 5.3.1
मुख्य परीक्षण लॉन्चर, tools/run_all_tests.py
, एंड्रॉइड 11 या उससे कम संस्करण के समान ही रहता है और इसे पायथन 3 में पुनः सक्रिय किया जाता है।
सभी व्यक्तिगत परीक्षणों को दोबारा तैयार किया जाता है और tests/its_base_test.py
में परिभाषित नए परीक्षण सेटअप वर्ग का उपयोग किया जाता है। अधिकांश परीक्षण नाम और कार्यक्षमता समान रहती हैं। एंड्रॉइड 12 में सभी व्यक्तिगत परीक्षण अब अपने दृश्य लोड करते हैं। जबकि प्रत्येक परीक्षण के लिए दृश्य लोड करने से समग्र परीक्षण समय बढ़ जाता है, यह व्यक्तिगत परीक्षणों की डिबगिंग को सक्षम बनाता है।
व्यक्तिगत परीक्षण परिवर्तनों के बारे में अधिक जानकारी के लिए, परीक्षण परिवर्तन देखें।
निम्नलिखित पायथन मॉड्यूल को नाम परिवर्तन के साथ दोबारा तैयार किया गया है:
-
pymodules/its/caps.py
→utils/camera_properties_utils.py
-
pymodules/its/cv2image.py
→utils/opencv_processing_utils.py
-
pymodules/its/device.py
→utils/its_session_utils.py
-
pymodules/its/error.py
→utils/error_util.py
-
pymodules/its/image.py
→utils/image_processing_utils.py
-
pymodules/its/objects.py
→utils/capture_request_utils.py
-
pymodules/its/target.py
→utils/target_exposure_utils.py
-
tools/hw.py
→utils/sensor_fusion_utils.py
मोबली परीक्षण ढांचे को अपनाना
मोबली एक पायथन-आधारित परीक्षण ढांचा है जो परीक्षण मामलों का समर्थन करता है जिसके लिए कस्टम हार्डवेयर सेटअप के साथ कई उपकरणों की आवश्यकता होती है। कैमरा आईटीएस परीक्षणों के बेहतर नियंत्रण और लॉगिंग को सक्षम करने के लिए मोबली परीक्षण बुनियादी ढांचे का उपयोग करता है।
कैमरा आईटीएस परीक्षणों के बेहतर नियंत्रण और लॉगिंग को सक्षम करने के लिए मोबली परीक्षण बुनियादी ढांचे का उपयोग करता है। मोबली एक पायथन-आधारित परीक्षण ढांचा है जो परीक्षण मामलों का समर्थन करता है जिसके लिए कस्टम हार्डवेयर सेटअप के साथ कई उपकरणों की आवश्यकता होती है। मोबली पर अधिक जानकारी के लिए google/mobly देखें।
config.yml फ़ाइलें
मोबली फ्रेमवर्क के साथ, आप परीक्षण के तहत एक डिवाइस (डीयूटी) और its_base_test
क्लास में एक चार्ट टैबलेट सेट कर सकते हैं। Mobly टेस्टबेड बनाने के लिए config.yml
(YAML) फ़ाइल का उपयोग किया जाता है। इस कॉन्फ़िगरेशन फ़ाइल के भीतर एकाधिक टेस्टबेड को कॉन्फ़िगर किया जा सकता है, उदाहरण के लिए, एक टैबलेट और एक सेंसर फ़्यूज़न टेस्टबेड। प्रत्येक टेस्टबेड के नियंत्रक अनुभाग के भीतर, आप परीक्षण धावक के लिए उपयुक्त एंड्रॉइड डिवाइस की पहचान करने के लिए device_ids
निर्दिष्ट कर सकते हैं। डिवाइस आईडी के अलावा, अन्य पैरामीटर जैसे टैबलेट brightness
, chart_distance
, debug_mode
, camera_id
और scene_id
टेस्ट क्लास में पास किए जाते हैं। सामान्य परीक्षण पैरामीटर मान हैं:
brightness: 192 (all tablets except Pixel C)
chart_distance: 31.0 (rev1/rev1a box for FoV < 90° cameras)
chart_distance: 22.0 (rev2 test rig for FoV > 90° cameras)
टेबलेट-आधारित परीक्षण
टैबलेट-आधारित परीक्षण के लिए, कीवर्ड TABLET
परीक्षणबेड नाम में मौजूद होना चाहिए। इनिशियलाइज़ेशन के दौरान, मोबली टेस्ट रनर TestParams
इनिशियलाइज़ करता है और उन्हें व्यक्तिगत परीक्षणों में पास करता है।
टेबलेट-आधारित रन के लिए निम्नलिखित एक नमूना config.yml
फ़ाइल है।
TestBeds:
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False"
chart_loc_arg: ""
camera: 0
scene: <scene-name> # if <scene-name> runs all scenes
tools/run_all_tests.py
उपयोग करके टेस्टबेड को लागू किया जा सकता है। यदि कोई कमांड लाइन मान मौजूद नहीं है, तो परीक्षण config.yml
फ़ाइल मानों के साथ चलते हैं। इसके अतिरिक्त, आप एंड्रॉइड 11 या उससे पहले के संस्करण के समान कमांड का उपयोग करके कमांड लाइन पर camera
और scene
कॉन्फिग फ़ाइल मानों को ओवरराइड कर सकते हैं।
उदाहरण के लिए:
python tools/run_all_tests.py
python tools/run_all_tests.py camera=1
python tools/run_all_tests.py scenes=2,1,0
python tools/run_all_tests.py camera=1 scenes=2,1,0
सेंसर फ़्यूज़न परीक्षण
सेंसर फ़्यूज़न परीक्षण के लिए, परीक्षण बेड नाम में कीवर्ड SENSOR_FUSION
शामिल होना चाहिए। सही परीक्षण बिस्तर परीक्षण किए गए दृश्यों द्वारा निर्धारित किया जाता है। एंड्रॉइड 12 सेंसर फ़्यूज़न के लिए Arduino और Canakit दोनों नियंत्रकों का समर्थन करता है।
सेंसर फ़्यूज़न रन के लिए निम्नलिखित एक नमूना config.yml
फ़ाइल है।
Testbeds
- Name: TEST_BED_SENSOR_FUSION
# Test configuration for sensor_fusion/test_sensor_fusion.py
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
fps: 30
img_size: 640,480
test_length: 7
debug_mode: "False"
chart_distance: 25
rotator_cntl: arduino # cntl can be arduino or canakit
rotator_ch: 1
camera: 0
सेंसर फ़्यूज़न परीक्षण रिग के साथ सेंसर फ़्यूज़न परीक्षण चलाने के लिए, उपयोग करें:
python tools/run_all_tests.py scenes=sensor_fusion
python tools/run_all_tests.py scenes=sensor_fusion camera=0
एकाधिक परीक्षण बिस्तर
कॉन्फ़िगरेशन फ़ाइल में एकाधिक परीक्षण बेड शामिल किए जा सकते हैं। सबसे आम संयोजन टैबलेट टेस्टबेड और सेंसर फ़्यूज़न टेस्टबेड दोनों का होना है।
निम्नलिखित टैबलेट और सेंसर फ़्यूज़न टेस्टबेड दोनों के साथ एक नमूना config.yml
फ़ाइल है।
Testbeds
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False"
chart_loc_arg: ""
camera: 0
scene: <scene-name> # if <scene-name> runs all scenes
- Name: TEST_BED_SENSOR_FUSION
# Test configuration for sensor_fusion/test_sensor_fusion.py
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
fps: 30
img_size: 640,480
test_length: 7
debug_mode: "False"
chart_distance: 25
rotator_cntl: arduino # cntl can be arduino or canakit
rotator_ch: 1
camera: 0
मैन्युअल परीक्षण
एंड्रॉइड 12 में मैन्युअल परीक्षण का समर्थन जारी है। हालांकि, टेस्टबेड को टेस्टबेड नाम में कीवर्ड MANUAL
के साथ परीक्षण की पहचान करनी चाहिए। इसके अतिरिक्त, परीक्षण बिस्तर में टैबलेट आईडी शामिल नहीं हो सकती।
मैन्युअल परीक्षण के लिए निम्नलिखित एक नमूना config.yml
फ़ाइल है।
TestBeds:
- Name: TEST_BED_MANUAL
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
debug_mode: "False"
chart_distance: 31.0
camera: 0
scene: scene1
टेबलेट के बिना परीक्षण दृश्य
दृश्य 0 और दृश्य 5 के लिए परीक्षण TEST_BED_TABLET_SCENES
या TEST_BED_MANUAL
के साथ किया जा सकता है। हालाँकि, यदि परीक्षण TEST_BED_TABLET_SCENES
के साथ किया जाता है, तो टैबलेट कनेक्ट होना चाहिए और टैबलेट सीरियल आईडी मान्य होना चाहिए, भले ही टैबलेट का उपयोग न किया गया हो क्योंकि टेस्ट क्लास सेटअप टैबलेट के लिए सीरियल आईडी मान निर्दिष्ट करता है।
व्यक्तिगत परीक्षण चलाएँ
व्यक्तिगत परीक्षण केवल डिबग उद्देश्यों के लिए चलाए जा सकते हैं क्योंकि उनके परिणाम सीटीएस सत्यापनकर्ता को रिपोर्ट नहीं किए जाते हैं। क्योंकि config.yml
फ़ाइलों को camera
और scene
के लिए कमांड लाइन पर ओवरराइट नहीं किया जा सकता है, ये पैरामीटर प्रश्न में व्यक्तिगत परीक्षण के लिए config.yml
फ़ाइल में सही होने चाहिए। इसके अतिरिक्त, यदि कॉन्फ़िगरेशन फ़ाइल में एक से अधिक टेस्टबेड है, तो आपको --test_bed
ध्वज के साथ टेस्टबेड निर्दिष्ट करना होगा। उदाहरण के लिए:
python tests/scene1_1/test_black_white.py --config config.yml --test_bed TEST_BED_TABLET_SCENES
कलाकृतियों का परीक्षण करें
एंड्रॉइड 12 में, कैमरा आईटीएस के लिए परीक्षण कलाकृतियों को एंड्रॉइड 11 या उससे पहले के संस्करण के समान ही संग्रहीत किया जाता है, लेकिन निम्नलिखित परिवर्तनों के साथ:
- परीक्षण आर्टिफैक्ट
/tmp
निर्देशिका में स्पष्टता के लिए 8-वर्ण यादृच्छिक स्ट्रिंग के साथCameraITS_
जुड़ा हुआ है। - प्रत्येक परीक्षण के लिए परीक्षण आउटपुट और त्रुटियां
test_name_stdout.txt
औरtest_name_stderr.txt
के बजायtest_log.DEBUG
में संग्रहीत की जाती हैं। - प्रत्येक व्यक्तिगत परीक्षण से DUT और टैबलेट लॉगकैट्स को
/tmp/CameraITS_########
निर्देशिका में संग्रहीत किया जाता है, जिससे डिबगिंग सरल हो जाती है क्योंकि 3A मुद्दों को डीबग करने के लिए आवश्यक सभी जानकारी लॉग की जाती है।
परीक्षण परिवर्तन
एंड्रॉइड 12 में टैबलेट दृश्य पीडीएफ फाइलों के बजाय पीएनजी फाइलें हैं। पीएनजी फ़ाइलों का उपयोग अधिक टैबलेट मॉडलों को दृश्यों को ठीक से प्रदर्शित करने में सक्षम बनाता है।
scene0/test_जिटर.py
test_jitter
परीक्षण एंड्रॉइड 12 में भौतिक छिपे हुए कैमरों पर चलता है।
scene1_1/test_black_white.py
Android 12 के लिए, test_black_white
में test_black_white
और test_channel_saturation
दोनों की कार्यक्षमता है।
निम्न तालिका एंड्रॉइड 11 में दो व्यक्तिगत परीक्षणों का वर्णन करती है।
परीक्षण का नाम | पहला एपीआई स्तर | इस प्रकार के दावे |
---|---|---|
scene1_1/test_black_white.py | सभी | लघु एक्सपोज़र, कम लाभ RGB मान ~[0, 0, 0] लंबा एक्सपोज़र, उच्च लाभ RGB मान ~[255, 255, 255] |
scene1_1/test_channel_saturation.py | 29 | सफेद छवियों में रंग टिंट को खत्म करने के लिए [255, 255, 255] अंतरों पर सहनशीलता कम की गई। |
निम्न तालिका Android 12 में मर्ज किए गए परीक्षण, scene1_1/test_black_white.py का वर्णन करती है।
परीक्षण का नाम | पहला एपीआई स्तर | इस प्रकार के दावे |
---|---|---|
scene1_1/test_black_white.py | सभी | लघु एक्सपोज़र, कम लाभ RGB मान ~[0, 0, 0] लंबा एक्सपोज़र, उच्च लाभ आरजीबी मान ~[255, 255, 255] और सफेद छवियों में रंग टिंट को खत्म करने के लिए मूल्यों के बीच कम सहनशीलता। |
scene1_1/test_burst_sameness_manual.py
test_burst_sameness_manual
परीक्षण Android 12 में भौतिक छिपे हुए कैमरों पर चलता है।
scene1_2/test_tonemap_sequence.py
test_tonemap_sequence
परीक्षण Android 12 में सीमित कैमरों पर चलता है।
scene1_2/test_yuv_plus_raw.py
test_yuv_plus_raw
परीक्षण Android 12 में भौतिक छिपे हुए कैमरों पर चलता है।
scene2_a/test_format_combos.py
test_format_combos
परीक्षण Android 12 में सीमित कैमरों पर चलता है।
scene3/test_flip_mirror.py
test_flip_mirror
परीक्षण Android 12 में सीमित कैमरों पर चलता है।
scene4/test_aspect_ratio_and_crop.py
एंड्रॉइड 12 में scene4/test_aspect_ratio_and_crop.py
में मंडलियां ढूंढना दोबारा शुरू किया गया था।
पहले के एंड्रॉइड संस्करणों में एक विधि का उपयोग किया जाता था जिसमें आकार और रंग के लिए फिल्टर के साथ मूल समोच्च (वर्ग) के अंदर एक बच्चे के समोच्च (वृत्त) को ढूंढना शामिल था। एंड्रॉइड 12 एक ऐसी विधि का उपयोग करता है जिसमें सभी आकृतियों को ढूंढना और फिर सबसे अधिक गोलाकार सुविधाओं को ढूंढकर फ़िल्टर करना शामिल है। डिस्प्ले पर नकली वृत्तों को स्क्रीन करने के लिए, न्यूनतम समोच्च क्षेत्र की आवश्यकता होती है, और वृत्त का समोच्च काला होना चाहिए।
रूपरेखा और उनके चयन मानदंड निम्नलिखित छवि में दिखाए गए हैं।
चित्र 1. आकृति और चयन मानदंड का वैचारिक चित्रण
एंड्रॉइड 12 विधि सरल है और कुछ डिस्प्ले टैबलेट में बाउंडिंग बॉक्स क्लिपिंग के साथ समस्या को हल करने के लिए काम करती है। डिबगिंग उद्देश्यों के लिए सभी सर्कल उम्मीदवारों को लॉग किया गया है।
Android 12 में, क्रॉप टेस्ट FULL
और LEVEL3
डिवाइस के लिए चलाया जाता है। एंड्रॉइड 11 या उससे कम संस्करण FULL
उपकरणों के लिए फसल परीक्षण दावे को छोड़ देते हैं।
निम्न तालिका test_aspect_ratio_and_crop.py
के लिए दावों को सूचीबद्ध करती है जो किसी दिए गए डिवाइस स्तर और पहले एपीआई स्तर के अनुरूप हैं।
डिवाइस स्तर | पहला एपीआई स्तर | इस प्रकार के दावे |
---|---|---|
सीमित | सभी | आस्पेक्ट अनुपात 4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी |
भरा हुआ | <31 | आस्पेक्ट अनुपात 4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी |
भरा हुआ | ≥ 31 | काटना आस्पेक्ट अनुपात 4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी |
स्तर 3 | सभी | काटना आस्पेक्ट अनुपात 4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी |
scene4/test_multi_camera_ignment.py
scene4/test_multi_camera_alignment.py
में वाईयूवी कैप्चर के लिए undo_zoom()
विधि को उन सेंसरों पर क्रॉपिंग के लिए अधिक सटीक रूप से ध्यान में रखने के लिए दोबारा तैयार किया गया था जो कैप्चर के पहलू अनुपात से मेल नहीं खाते हैं।
एंड्रॉइड 11 पायथन 2 कोड
zoom_ratio = min(1.0 * yuv_w / cr_w, 1.0 * yuv_h / cr_h)
circle[i]['x'] = cr['left'] + circle[i]['x'] / zoom_ratio
circle[i]['y'] = cr['top'] + circle[i]['y'] / zoom_ratio
circle[i]['r'] = circle[i]['r'] / zoom_ratio
एंड्रॉइड 12 पायथन 3 कोड
yuv_aspect = yuv_w / yuv_h
relative_aspect = yuv_aspect / (cr_w/cr_h)
if relative_aspect > 1:
zoom_ratio = yuv_w / cr_w
yuv_x = 0
yuv_y = (cr_h - cr_w / yuv_aspect) / 2
else:
zoom_ratio = yuv_h / cr_h
yuv_x = (cr_w - cr_h * yuv_aspect) / 2
yuv_y = 0
circle['x'] = cr['left'] + yuv_x + circle['x'] / zoom_ratio
circle['y'] = cr['top'] + yuv_y + circle['y'] / zoom_ratio
circle['r'] = circle['r'] / zoom_ratio
सेंसर_फ्यूजन/टेस्ट_सेंसर_फ्यूजन.py
एंड्रॉइड 12 में, सेंसर फ़्यूज़न परीक्षण के लिए छवियों में सुविधाओं का पता लगाने की एक विधि जोड़ी गई है।
एंड्रॉइड 12 से नीचे के संस्करणों में, पूरी छवि का उपयोग सर्वोत्तम 240 सुविधाओं को खोजने के लिए किया जाता है, जिन्हें न्यूनतम फीचर आवश्यकता 30 सुविधाओं के साथ रोलिंग शटर प्रभाव से बचने के लिए केंद्र में 20% छिपा दिया जाता है।
यदि इस विधि द्वारा पाई गई सुविधाएं अपर्याप्त हैं, तो एंड्रॉइड 12 फीचर डिटेक्शन क्षेत्र को पहले 20% केंद्र में मास्क करता है, और अधिकतम सुविधाओं को न्यूनतम सुविधा आवश्यकता से दो गुना तक सीमित करता है।
निम्न छवि एंड्रॉइड 11 और एंड्रॉइड 12 फीचर डिटेक्शन के बीच अंतर दिखाती है। न्यूनतम सुविधा आवश्यकता सीमा बढ़ाने से खराब गुणवत्ता वाली सुविधाओं का पता चलता है और माप पर नकारात्मक प्रभाव पड़ता है।
चित्र 2. एंड्रॉइड 11 और एंड्रॉइड 12 के बीच फीचर डिटेक्शन में अंतर
नए परीक्षण
scene0/test_solid_color_test_pattern.py
एंड्रॉइड 12 के लिए एक नया परीक्षण, test_solid_color_test_pattern
सक्षम किया गया है। यह परीक्षण सभी कैमरों के लिए सक्षम है और निम्न तालिका में वर्णित है।
दृश्य | परीक्षण का नाम | पहला एपीआई स्तर | विवरण |
---|---|---|---|
0 | परीक्षण_ठोस_रंग_परीक्षण_पैटर्न | 31 | ठोस रंग छवि आउटपुट और छवि रंग प्रोग्रामयोग्यता की पुष्टि करता है। |
कैमरा गोपनीयता मोड का समर्थन करने के लिए ठोस रंग परीक्षण पैटर्न सक्षम होना चाहिए। test_solid_color_test_pattern
परीक्षण चयनित पैटर्न द्वारा परिभाषित रंग के साथ ठोस रंग YUV छवि आउटपुट की पुष्टि करता है, और छवि का रंग विनिर्देश के अनुसार बदलता है।
पैरामीटर
-
cameraPrivacyModeSupport
: यह निर्धारित करता है कि कैमरा गोपनीयता मोड का समर्थन करता है या नहीं। -
android.sensor.testPatternMode
: परीक्षण पैटर्न मोड सेट करता है। यह परीक्षणSOLID_COLOR
का उपयोग करता है। -
android.sensor.testPatternData
: परीक्षण पैटर्न मोड के लिए R, Gr, Gb, G परीक्षण पैटर्न मान सेट करता है।
ठोस रंग परीक्षण पैटर्न के विवरण के लिए, SENSOR_TEST_PATTERN_MODE_SOLID_COLOR
देखें।
तरीका
सेट पैरामीटर के लिए YUV फ़्रेम कैप्चर किए जाते हैं और छवि सामग्री को मान्य किया जाता है। परीक्षण पैटर्न सीधे छवि सेंसर से आउटपुट होता है, इसलिए किसी विशेष दृश्य की आवश्यकता नहीं होती है। यदि PER_FRAME_CONTROL
समर्थित है, तो परीक्षण की गई प्रत्येक सेटिंग के लिए एक एकल YUV फ़्रेम कैप्चर किया जाता है। यदि PER_FRAME_CONTROL
समर्थित नहीं है, तो LIMITED
कैमरों में परीक्षण कवरेज को अधिकतम करने के लिए केवल अंतिम फ्रेम का विश्लेषण करके चार फ़्रेम कैप्चर किए जाते हैं।
YUV कैप्चर पूरी तरह से संतृप्त BLACK
, WHITE
, RED
, GREEN
और BLUE
परीक्षण पैटर्न पर सेट हैं। चूंकि परीक्षण पैटर्न की परिभाषा सेंसर बायर पैटर्न के अनुसार है, इसलिए प्रत्येक रंग के लिए रंग चैनल सेट किए जाने चाहिए जैसा कि निम्न तालिका में दिखाया गया है।
रंग | टेस्टपैटर्नडेटा (आरजीजीबी) |
---|---|
काला | (0, 0, 0, 0) |
सफ़ेद | (1, 1, 1, 1) |
लाल | (1, 0, 0, 0) |
हरा | (0, 1, 1, 0) |
नीला | (0, 0, 0, 1) |
अभिकथन तालिका
निम्न तालिका test_solid_color_test_pattern.py
के परीक्षण अभिकथनों का वर्णन करती है।
कैमरा पहला एपीआई स्तर | कैमरा प्रकार | रंगों पर जोर दिया गया |
---|---|---|
31 | बायर | काला, सफ़ेद, लाल, हरा, नीला |
31 | मोनो | श्याम सफेद |
<31 | बायर/मोनो | काला |
प्रदर्शन वर्ग परीक्षण
scene2_c/test_camera_launch_perf_class.py
यह सत्यापित करता है कि scene2_c फेस सीन के साथ फ्रंट और रियर दोनों प्राथमिक कैमरों के लिए कैमरा स्टार्टअप 500 एमएस से कम है।
scene2_c/test_jpeg_capture_perf_class.py
सत्यापित करता है कि scene2_c फेस सीन के साथ फ्रंट और रियर दोनों प्राथमिक कैमरों के लिए 1080p JPEG कैप्चर विलंबता 1 सेकंड से कम है।