मल्टी कैमरा सपोर्ट

एक्सटीरियर व्यू सिस्टम (ईवीएस) 1.1 में, लॉजिकल कैमरा डिवाइस जिसमें कई भौतिक कैमरा डिवाइस शामिल हैं, समर्थित है। इस वर्चुअल डिवाइस का उपयोग करने के लिए, डिवाइस कार्यान्वयन को सिंक्रोनाइज़ेशन फ्रेमवर्क का समर्थन करना चाहिए।

तार्किक कैमरा डिवाइस की गणना करें, खोलें और बंद करें

ऐप उपलब्ध लॉजिकल कैमरा उपकरणों का उपयोग करने के लिए समान IEvsEnumerator विधियों का उपयोग कर सकता है। लौटाए गए EvsCamera ऑब्जेक्ट, जो एक तार्किक कैमरा डिवाइस का प्रतिनिधित्व करता है, में मेटाडेटा में निम्नलिखित आइटम होने चाहिए:

  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
    यदि लौटाया गया EvsCamera ऑब्जेक्ट एक तार्किक कैमरे का प्रतिनिधित्व करता है, तो उसके कैमरा मेटाडेटा में उसके ANDROID_REQUEST_AVAILABLE_CAPABILITIES फ़ील्ड में यह क्षमता कुंजी होनी चाहिए।
  • ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS फ़ील्ड भौतिक कैमरा डिवाइस पहचानकर्ताओं को सूचीबद्ध करती है।
  • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE फ़ील्ड में निम्न में से कोई भी एनम मान हो सकता है:
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE मास्टर-मास्टर मोड में सेंसर के लिए है, कोई हार्डवेयर शटर/एक्सपोज़र सिंक नहीं है।
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED मास्टर-स्लेव मोड, हार्डवेयर शटर/एक्सपोज़र सिंक में सेंसर के लिए है। सिंक्रोनाइज़्ड GMSL2 कैमरों में यह मान होना चाहिए।

ऐप नई getPhysicalCameraInfo(stringcameraId) विधि में IEvsCamera के माध्यम से भौतिक कैमरा उपकरणों के एक डिस्क्रिप्टर को पुनः प्राप्त कर सकता है।

/**
 * Returns the description of the physical camera device that backs this
 * logical camera.
 *
 * If a requested device does not either exist or back this logical device,
 * this method returns a null camera descriptor. And, if this is called on
 * a physical camera device, this method is the same as getCameraInfo_1_1()
 * method if a given device ID is matched. Otherwise, this returns a
 * null camera descriptor.
 *
 * @param  deviceId Physical camera device identifier string.
 * @return info     The description of a member physical camera device.
 *                  This must be the same value as reported by
 *                  EvsEnumerator::getCameraList_1_1().
 */
getPhysicalCameraInfo(string deviceId) generates (CameraDesc info);

मल्टी-कैमरा समर्थन कॉन्फ़िगर करें

सभी तार्किक कैमरों को स्थिर रूप से परिभाषित करने की आवश्यकता है और कॉन्फ़िगरेशन प्रबंधक कार्यान्वयन के माध्यम से उनकी गणना की जानी चाहिए। चूंकि ईवीएस समूह में प्रत्येक डिवाइस को अलग-अलग कॉन्फ़िगर करने की अनुमति देता है, ईवीएस सदस्य डिवाइसों की एक सूची प्रदान करता है और इंगित करता है कि छवि कैप्चर सिंक्रनाइज़ है या नहीं।

<!-- camera group 0 -->
<group id='group0' synchronized='CALIBRATED'>
    <caps>
        <!-- list of supported controls supported by all physical devices -->
        <supported_controls>
            <control name='BRIGHTNESS' min='0' max='255'/>
            <control name='CONTRAST' min='0' max='255'/>
        </supported_controls>

        <!-- list of stream configuration supported by all physical devices -->
        <stream id='0' width='640' height='480' format='RGBA_8888' framerate='30'/>
    </caps>

    <!-- list of parameters -->
    <characteristics>
        <parameter
            name='REQUEST_AVAILABLE_CAPABILITIES'
            type='enum'
            size='1'
            value='LOGICAL_MULTI_CAMERA'
        />
        <parameter
            name='LOGICAL_MULTI_CAMERA_PHYSICAL_IDS'
            type='byte[]'
            size='2'
            value='/dev/video3,/dev/video4'
        />
    </characteristics>
</group>
,

एक्सटीरियर व्यू सिस्टम (ईवीएस) 1.1 में, लॉजिकल कैमरा डिवाइस जिसमें कई भौतिक कैमरा डिवाइस शामिल हैं, समर्थित है। इस वर्चुअल डिवाइस का उपयोग करने के लिए, डिवाइस कार्यान्वयन को सिंक्रोनाइज़ेशन फ्रेमवर्क का समर्थन करना चाहिए।

तार्किक कैमरा डिवाइस की गणना करें, खोलें और बंद करें

ऐप उपलब्ध लॉजिकल कैमरा उपकरणों का उपयोग करने के लिए समान IEvsEnumerator विधियों का उपयोग कर सकता है। लौटाए गए EvsCamera ऑब्जेक्ट, जो एक तार्किक कैमरा डिवाइस का प्रतिनिधित्व करता है, में मेटाडेटा में निम्नलिखित आइटम होने चाहिए:

  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
    यदि लौटाया गया EvsCamera ऑब्जेक्ट एक तार्किक कैमरे का प्रतिनिधित्व करता है, तो उसके कैमरा मेटाडेटा में उसके ANDROID_REQUEST_AVAILABLE_CAPABILITIES फ़ील्ड में यह क्षमता कुंजी होनी चाहिए।
  • ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS फ़ील्ड भौतिक कैमरा डिवाइस पहचानकर्ताओं को सूचीबद्ध करती है।
  • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE फ़ील्ड में निम्न में से कोई भी एनम मान हो सकता है:
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE मास्टर-मास्टर मोड में सेंसर के लिए है, कोई हार्डवेयर शटर/एक्सपोज़र सिंक नहीं है।
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED मास्टर-स्लेव मोड, हार्डवेयर शटर/एक्सपोज़र सिंक में सेंसर के लिए है। सिंक्रोनाइज़्ड GMSL2 कैमरों में यह मान होना चाहिए।

ऐप नई getPhysicalCameraInfo(stringcameraId) विधि में IEvsCamera के माध्यम से भौतिक कैमरा उपकरणों के एक डिस्क्रिप्टर को पुनः प्राप्त कर सकता है।

/**
 * Returns the description of the physical camera device that backs this
 * logical camera.
 *
 * If a requested device does not either exist or back this logical device,
 * this method returns a null camera descriptor. And, if this is called on
 * a physical camera device, this method is the same as getCameraInfo_1_1()
 * method if a given device ID is matched. Otherwise, this returns a
 * null camera descriptor.
 *
 * @param  deviceId Physical camera device identifier string.
 * @return info     The description of a member physical camera device.
 *                  This must be the same value as reported by
 *                  EvsEnumerator::getCameraList_1_1().
 */
getPhysicalCameraInfo(string deviceId) generates (CameraDesc info);

मल्टी-कैमरा समर्थन कॉन्फ़िगर करें

सभी तार्किक कैमरों को स्थिर रूप से परिभाषित करने की आवश्यकता है और कॉन्फ़िगरेशन प्रबंधक कार्यान्वयन के माध्यम से उनकी गणना की जानी चाहिए। चूंकि ईवीएस समूह में प्रत्येक डिवाइस को अलग-अलग कॉन्फ़िगर करने की अनुमति देता है, ईवीएस सदस्य डिवाइसों की एक सूची प्रदान करता है और इंगित करता है कि छवि कैप्चर सिंक्रनाइज़ है या नहीं।

<!-- camera group 0 -->
<group id='group0' synchronized='CALIBRATED'>
    <caps>
        <!-- list of supported controls supported by all physical devices -->
        <supported_controls>
            <control name='BRIGHTNESS' min='0' max='255'/>
            <control name='CONTRAST' min='0' max='255'/>
        </supported_controls>

        <!-- list of stream configuration supported by all physical devices -->
        <stream id='0' width='640' height='480' format='RGBA_8888' framerate='30'/>
    </caps>

    <!-- list of parameters -->
    <characteristics>
        <parameter
            name='REQUEST_AVAILABLE_CAPABILITIES'
            type='enum'
            size='1'
            value='LOGICAL_MULTI_CAMERA'
        />
        <parameter
            name='LOGICAL_MULTI_CAMERA_PHYSICAL_IDS'
            type='byte[]'
            size='2'
            value='/dev/video3,/dev/video4'
        />
    </characteristics>
</group>