Mappage de l'API Camera2

Cette page explique comment les API Camera2 remplacent les API de base du système de vision étendue (EVS).

API IEvsEnumerator

IEvsEnumerator API NDK Camera2 API Java Camera2

openCamera

EVS openCamera combinait la configuration d'ouverture et de flux. Camera2 les sépare.

ACameraManager_openCamera , puis ACameraDevice_createCaptureSession avec AImageReader , puis ACameraDevice_createCaptureRequest

CameraManager.openCamera, puis CameraDevice.createCaptureSession (avec ImageReader ou autre Surface), puis CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList, puis ACameraManager_getCameraCharacteristics pour plus d'informations CameraManager.getCameraIdList, puis CameraManager.getCameraCharacteristics pour plus d'informations
getStreamList ACameraManager_getCameraCharacteristics, lire le tag ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics, obtenir CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback avec ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback avec CameraManager.AvailabilityCallback
isHardware N/A N/A

getDisplayIdList

Obsolète.

Utiliser DisplayManager.getDisplays

N/A N/A

getDisplayState

Obsolète.

Utiliser Display.getState

N/A N/A

getDisplayStateById

Obsolète.

Utiliser DisplayManager.getDisplay puis Display.getState

N/A N/A

openDisplay

Obsolète.

Utiliser WindowManager.addView sur un Display spécifique

N/A N/A

closeDisplay

Obsolète.

Utiliser WindowManager.removeView

N/A N/A

openUltrasonicsArray

Obsolète.

Utiliser les propriétés VHAL.

N/A N/A

getUltrasonicsArrayList

Obsolète.

Utiliser les propriétés VHAL.

N/A N/A

closeUltrasonicsArray

Obsolète.

Utiliser les propriétés VHAL.

N/A N/A

IEvsCamera

IEvsCamera API NDK Camera2 API Java Camera2
getCameraInfo ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

getPhysicalCameraInfo

Pour les caméras logiques, vérifiez getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Impossible de modifier dynamiquement dans Camera2. Définissez cette option lorsque vous créez ImageReader

Définir dans AImageReader_new ou AImageReader_newWithUsage Définir dans ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Aucun équivalent direct. Utiliser stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Aucun équivalent direct. Utiliser setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Libère le tampon dans la file d'attente

AImage_delete Image.close

importExternalBuffers

La gestion des tampons est gérée par les surfaces. Pour en savoir plus, consultez CameraCaptureSession.prepare

N/A N/A
getParameterList ACameraMetadata_getAllTags CameraCharacteristics.getKeys
getIntParameter ACaptureRequest_getConstEntry CaptureRequest.get(key)

getIntParameterRange

Les plages font partie de CameraCharacteristics

ACameraMetadata_getConstEntry CameraCharacteristics.get(key)
(CONTROL_AE_COMPENSATION_RANGE) et similaires
setIntParameter ACaptureRequest_setEntry_i32, _u8 et similaires CaptureRequest.Builder.set(key, value)

getExtendedInfo

Utilisez des tags de fournisseur pour implémenter des données personnalisées.

Utilisez des tags de fournisseur sur ACaptureRequest
ou ACameraMetadata
Utilisez des tags de fournisseur sur CaptureRequest ou CameraCharacteristics

setExtendedInfo

Utilisez des tags de fournisseur pour implémenter des données personnalisées.

Utilisez des tags de fournisseur sur ACaptureRequest Utilisez des tags de fournisseur sur CaptureRequest.Builder

setPrimaryClient

Obsolète.

L'état du client principal est basé sur la priorité en mode partagé Camera2.

N/A N/A

unsetPrimaryClient

Obsolète.

N/A N/A

forcePrimaryClient

Obsolète.

N/A N/A

IEvsCameraStream

IEvsCameraStream API NDK Camera2 API Java Camera2

deliverFrame

Rappel pour recevoir de nouvelles images. Acquérir l'image avec ImageReader.acquireLatestImage ou ImageReader.acquireNextImage

onImageAvailable de AImageReader_ImageListener

onImageAvailable de ImageReader.OnImageAvailableListener

notify

Rappels pour les événements de capture (démarrage, progression, achèvement, échec) et CameraDevice.StateCallback pour les événements d'appareil (erreur, déconnexion).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

API IEvsDisplay

Toutes les API de l'interface IEvsDisplay sont obsolètes. Les OEM doivent utiliser les classes Android standards :