Android 双目相机

全志

Posted by LXG on February 21, 2023

多摄像头支持-AOSP

硬件系统

camera_hardware_arch

a133_hardware

a133_camera_schematic

a133_soc_csi

软件架构

ape_fwk_camera

Camera App

packages/apps/Camera2/

Java SDK

fameworks/base/core/java/android/hardware/camera2

.
├── CameraAccessException.java
├── CameraCaptureSession.java
├── CameraCharacteristics.java
├── CameraConstrainedHighSpeedCaptureSession.java
├── CameraDevice.java
├── CameraManager.java
├── CameraMetadata.java
├── CaptureFailure.java
├── CaptureRequest.java
├── CaptureResult.java
├── DngCreator.java
├── impl
├── legacy
├── marshal
├── OWNERS
├── package.html
├── params
├── TotalCaptureResult.java
└── utils

AIDL interface

frameworks/av/camera


.
├── aidl
├── Android.bp
├── Android.mk
├── camera2
├── CameraBase.cpp
├── Camera.cpp
├── CameraMetadata.cpp
├── CameraParameters2.cpp
├── CameraParameters.cpp
├── cameraserver
├── CameraUtils.cpp
├── CaptureResult.cpp
├── ICameraClient.cpp
├── ICamera.cpp
├── ICameraRecordingProxy.cpp
├── ICameraRecordingProxyListener.cpp
├── include
├── MODULE_LICENSE_APACHE2
├── ndk
├── NOTICE
├── OWNERS
├── tests
└── VendorTagDescriptor.cpp

相机服务进程

frameworks/av/services/camera/libcameraservice


.
├── Android.bp
├── Android.mk
├── api1
├── api2
├── CameraFlashlight.cpp
├── CameraFlashlight.h
├── CameraService.cpp
├── CameraService.h
├── common
├── device1
├── device3
├── gui
├── hidl
├── MODULE_LICENSE_APACHE2
├── NOTICE
├── TEST_MAPPING
├── tests
└── utils

HAL interface

hardware/interfaces/camera


├── common
│   ├── 1.0
│   │   ├── Android.bp
│   │   ├── default
│   │   │   ├── Android.bp
│   │   │   ├── CameraMetadata.cpp
│   │   │   ├── CameraModule.cpp
│   │   │   ├── CameraParameters.cpp
│   │   │   ├── Exif.cpp
│   │   │   ├── HandleImporter.cpp
│   │   │   ├── include
│   │   │   ├── OWNERS
│   │   │   └── VendorTagDescriptor.cpp
│   │   └── types.hal
│   └── README.md
├── device
│   ├── 1.0
│   ├── 3.2
│   │   ├── Android.bp
│   │   ├── default
│   │   │   ├── Android.bp
│   │   │   ├── CameraDevice_3_2.h
│   │   │   ├── CameraDevice.cpp
│   │   │   ├── CameraDeviceSession.cpp
│   │   │   ├── CameraDeviceSession.h
│   │   │   ├── convert.cpp
│   │   │   ├── include
│   │   │   └── OWNERS
│   │   ├── ICameraDeviceCallback.hal
│   │   ├── ICameraDevice.hal
│   │   ├── ICameraDeviceSession.hal
│   │   └── types.hal
│   ├── 3.3
│   │   ├── Android.bp
│   │   ├── default
│   │   │   ├── Android.bp
│   │   │   ├── CameraDevice_3_3.h
│   │   │   ├── CameraDevice.cpp
│   │   │   ├── CameraDeviceSession.cpp
│   │   │   ├── CameraDeviceSession.h
│   │   │   ├── convert.cpp
│   │   │   ├── include
│   │   │   └── OWNERS
│   │   ├── ICameraDeviceSession.hal
│   │   └── types.hal
│   ├── 3.4
│   │   ├── Android.bp
│   │   ├── default
│   │   │   ├── Android.bp
│   │   │   ├── CameraDevice.cpp
│   │   │   ├── CameraDeviceSession.cpp
│   │   │   ├── convert.cpp
│   │   │   ├── ExternalCameraDevice.cpp
│   │   │   ├── ExternalCameraDeviceSession.cpp
│   │   │   ├── ExternalCameraUtils.cpp
│   │   │   ├── include
│   │   │   ├── Libve_Decoder2.c
│   │   │   └── OWNERS
│   │   ├── ICameraDeviceCallback.hal
│   │   ├── ICameraDeviceSession.hal
│   │   └── types.hal
│   ├── 3.5
│   │   ├── Android.bp
│   │   ├── default
│   │   │   ├── Android.bp
│   │   │   ├── CameraDevice.cpp
│   │   │   ├── CameraDeviceSession.cpp
│   │   │   ├── ExternalCameraDevice.cpp
│   │   │   ├── ExternalCameraDeviceSession.cpp
│   │   │   ├── include
│   │   │   └── OWNERS
│   │   ├── ICameraDeviceCallback.hal
│   │   ├── ICameraDevice.hal
│   │   ├── ICameraDeviceSession.hal
│   │   └── types.hal
│   └── README.md
├── metadata
│   ├── 3.2
│   │   ├── Android.bp
│   │   └── types.hal
│   ├── 3.3
│   │   ├── Android.bp
│   │   └── types.hal
│   ├── 3.4
│   │   ├── Android.bp
│   │   └── types.hal
│   └── README.md
├── provider
│   ├── 2.4
│   ├── 2.5
│   │   ├── Android.bp
│   │   ├── default
│   │   │   ├── Android.bp
│   │   │   ├── android.hardware.camera.provider@2.5-external-service.rc
│   │   │   ├── android.hardware.camera.provider@2.5-service_64.rc
│   │   │   ├── android.hardware.camera.provider@2.5-service-lazy_64.rc
│   │   │   ├── android.hardware.camera.provider@2.5-service-lazy.rc
│   │   │   ├── android.hardware.camera.provider@2.5-service.rc
│   │   │   ├── CameraProvider_2_5.h
│   │   │   ├── ExternalCameraProviderImpl_2_5.cpp
│   │   │   ├── ExternalCameraProviderImpl_2_5.h
│   │   │   ├── external-service.cpp
│   │   │   ├── LegacyCameraProviderImpl_2_5.cpp
│   │   │   ├── LegacyCameraProviderImpl_2_5.h
│   │   │   ├── OWNERS
│   │   │   └── service.cpp
│   │   ├── ICameraProvider.hal
│   │   └── types.hal
│   └── README.md
└── README.md

HAL impl

hardware/aw/camera


.
├── 1_0
│   ├── allwinnertech
│   ├── Android.mk
│   ├── BufferListManager.cpp
│   ├── BufferListManager.h
│   ├── CallbackNotifier.cpp
│   ├── CallbackNotifier.h
│   ├── CameraDebug.cpp
│   ├── CameraDebug.h
│   ├── CameraHardware2.cpp
│   ├── CameraHardware2.h
│   ├── CameraParameters.cpp
│   ├── CameraParameters.h
│   ├── CameraPlatform.h
│   ├── CCameraConfig.cpp
│   ├── CCameraConfig.h
│   ├── HALCameraFactory.cpp
│   ├── HALCameraFactory.h
│   ├── include
│   ├── lib32
│   ├── lib64
│   ├── libfacedetection
│   ├── libstd
│   ├── Libve_Decoder2.c
│   ├── Libve_Decoder2.h
│   ├── memory
│   ├── OSAL_Mutex.c
│   ├── OSAL_Mutex.h
│   ├── OSAL_Queue.c
│   ├── OSAL_Queue.h
│   ├── PreviewWindow.cpp
│   ├── PreviewWindow.h
│   ├── scaler.c
│   ├── SceneFactory
│   ├── tvd_interface.h
│   ├── V4L2CameraDevice2.cpp
│   └── V4L2CameraDevice2.h
├── 3_4
│   ├── allwinnertech
│   ├── Android.mk
│   ├── camera_config.cpp
│   ├── camera_config.h
│   ├── camera.cpp
│   ├── camera.h
│   ├── camera_stream.cpp
│   ├── camera_stream.h
│   ├── capture_request.cpp
│   ├── capture_request.h
│   ├── common.cpp
│   ├── common.h
│   ├── debug.txt
│   ├── format_metadata_factory.cpp
│   ├── format_metadata_factory.h
│   ├── format_metadata_factory_test.cpp
│   ├── function_thread.h
│   ├── include
│   ├── lib
│   ├── metadata
│   ├── README.md
│   ├── request_tracker.cpp
│   ├── request_tracker.h
│   ├── request_tracker_test.cpp
│   ├── static_properties.cpp
│   ├── static_properties.h
│   ├── static_properties_test.cpp
│   ├── stream_format.cpp
│   ├── stream_format.h
│   ├── stream_manager.cpp
│   ├── stream_manager.h
│   ├── v4l2_camera.cpp
│   ├── v4l2_camera.h
│   ├── v4l2_camera_hal.cpp
│   ├── v4l2_camera_hal.h
│   ├── v4l2_gralloc.cpp
│   ├── v4l2_gralloc.h
│   ├── v4l2_log.h
│   ├── v4l2_metadata_factory.cpp
│   ├── v4l2_metadata_factory.h
│   ├── v4l2_stream.cpp
│   ├── v4l2_stream.h
│   ├── v4l2_wrapper.cpp
│   ├── v4l2_wrapper.h
│   └── v4l2_wrapper_mock.h
├── Android.mk
├── auto_1_0
│   ├── allwinnertech
│   ├── Android.mk
│   ├── BufferListManager.cpp
│   ├── BufferListManager.h
│   ├── CallbackNotifier.cpp
│   ├── CallbackNotifier.h
│   ├── CameraDebug.cpp
│   ├── CameraDebug.h
│   ├── CameraHardware2.cpp
│   ├── CameraHardware2.h
│   ├── CameraManager.cpp
│   ├── CameraManager.h
│   ├── CameraParameters.cpp
│   ├── CameraParameters.h
│   ├── CameraPlatform.h
│   ├── CCameraConfig.cpp
│   ├── CCameraConfig.h
│   ├── G2dApi.cpp
│   ├── G2dApi.h
│   ├── HALCameraFactory.cpp
│   ├── HALCameraFactory.h
│   ├── include
│   ├── lib32
│   ├── lib64
│   ├── libfacedetection
│   ├── libstd
│   ├── Libve_Decoder2.c
│   ├── Libve_Decoder2.h
│   ├── memory
│   ├── OSAL_Mutex.c
│   ├── OSAL_Mutex.h
│   ├── OSAL_Queue.c
│   ├── OSAL_Queue.h
│   ├── PreviewWindow.cpp
│   ├── PreviewWindow.h
│   ├── scaler.c
│   ├── SceneFactory
│   ├── tvd_interface.h
│   ├── V4L2CameraDevice2.cpp
│   └── V4L2CameraDevice2.h
└── README

相机驱动

./drivers/media/platform/sunxi-vin/modules/sensor/gc2053_mipi.c

camera.cfg

device/softwinner/ceres-c3/configs/camera.cfg


;-------------------------------------------------------------------------------
; 用于camera的配置
;
; 采用格式:
; key = key_value
; 注意: 每个key需要顶格写;
;		key_value紧跟着key后面的等号后面, 位于同一行中;
;		key_value限制大小为256字节以内;
;		
;------------------------------------------------------------------------------- 

;------------------------------------------------------------------------------- 
; exif information of "make" and "model"
;-------------------------------------------------------------------------------
key_camera_exif_make = MAKE_AllWinner
key_camera_exif_model = PRODUCT_BOARD

;------------------------------------------------------------------------------- 
; 1 for single camera, 2 for double camera
;------------------------------------------------------------------------------- 
number_of_camera = 2

;-------------------------------------------------------------------------------
; 0 for no support for Time-division multiplexing
; 1 for support which means you can open all camera at the same time
;-------------------------------------------------------------------------------
use_camera_multiplexing = 0

;------------------------------------------------------------------------------- 
; CAMERA_FACING_BACK
; gc2355
;------------------------------------------------------------------------------- 
camera_id = 0

;------------------------------------------------------------------------------- 
; 1 for CAMERA_FACING_FRONT
; 0 for CAMERA_FACING_BACK
;------------------------------------------------------------------------------- 
camera_facing = 0

;------------------------------------------------------------------------------- 
; 1 for camera without isp(using built-in isp of Axx)
; 0 for camera with isp
;------------------------------------------------------------------------------- 
use_builtin_isp = 0

;------------------------------------------------------------------------------- 
; camera orientation (0, 90, 180, 270)
;------------------------------------------------------------------------------- 
camera_orientation = 0

;------------------------------------------------------------------------------- 
; driver device name
;------------------------------------------------------------------------------- 
camera_device = /dev/video0

;------------------------------------------------------------------------------- 
; device id 
; for two camera devices with one CSI
;------------------------------------------------------------------------------- 
device_id = 0

used_preview_size = 1
key_support_preview_size = 1920x1080,1280x720,640x480,320x240
key_default_preview_size = 1920x1080

used_picture_size = 1
key_support_picture_size = 1920x1080,1280x720,640x480,320x240
key_default_picture_size = 1920x1080

used_flash_mode = 0
key_support_flash_mode = on,off,auto
key_default_flash_mode = off

used_color_effect=1
key_support_color_effect = none,mono,negative,sepia,aqua
key_default_color_effect = none

used_frame_rate = 1
key_support_frame_rate = 30
key_default_frame_rate = 30

used_focus_mode = 0
key_support_focus_mode = auto,infinity,macro,fixed,continuous-video,continuous-picture
key_default_focus_mode = auto

used_scene_mode = 0
key_support_scene_mode = auto,portrait,landscape,night,night-portrait,theatre,beach,snow,sunset,steadyphoto,fireworks,sports,party,candlelight,barcode
key_default_scene_mode = auto

used_white_balance = 1
key_support_white_balance = auto,incandescent,fluorescent,warm-fluorescent,daylight,cloudy-daylight
key_default_white_balance = auto

used_exposure_compensation = 1
key_max_exposure_compensation = 4
key_min_exposure_compensation = -4
key_step_exposure_compensation = 1
key_default_exposure_compensation = 0

used_zoom = 0
key_zoom_supported = true
key_smooth_zoom_supported = false
key_zoom_ratios = 100,120,150,200,230,250,300
key_max_zoom = 2
key_default_zoom = 0
key_horizonal_view_angle = 48.6
key_vertical_view_angle = 37.0

;------------------------------------------------------------------------------- 
; CAMERA_FACING_FRONT
; gc0310
;------------------------------------------------------------------------------- 
camera_id = 1

;------------------------------------------------------------------------------- 
; 1 for camera without isp(using built-in isp of Axx)
; 0 for camera with isp
;------------------------------------------------------------------------------- 
use_builtin_isp = 0

;------------------------------------------------------------------------------- 
; 1 for CAMERA_FACING_FRONT
; 0 for CAMERA_FACING_BACK
;------------------------------------------------------------------------------- 
camera_facing = 1

;------------------------------------------------------------------------------- 
; camera orientation (0, 90, 180, 270)
;------------------------------------------------------------------------------- 
camera_orientation = 0

;------------------------------------------------------------------------------- 
; driver device name
;------------------------------------------------------------------------------- 
camera_device = /dev/video1

;------------------------------------------------------------------------------- 
; device id 
; for two camera devices with one CSI
;------------------------------------------------------------------------------- 
device_id = 1

used_preview_size = 1
key_support_preview_size = 1920x1080,1280x720,640x480,320x240
key_default_preview_size = 1920x1080

used_picture_size = 1
key_support_picture_size = 1920x1080,1280x720,640x480,320x240
key_default_picture_size = 1920x1080

;200w
;key_support_picture_size = 1600x1200,1280x720,640x480,320x240
;key_default_picture_size = 1600x1200

used_flash_mode = 0
key_support_flash_mode = on,off,auto
key_default_flash_mode = on

used_color_effect= 1
key_support_color_effect = none,mono,negative,sepia,aqua
key_default_color_effect = none

used_frame_rate = 1
key_support_frame_rate = 30
key_default_frame_rate = 30

used_focus_mode = 0
key_support_focus_mode = auto,infinity,macro,fixed
key_default_focus_mode = auto

used_scene_mode = 0
key_support_scene_mode = auto,portrait,landscape,night,night-portrait,theatre,beach,snow,sunset,steadyphoto,fireworks,sports,party,candlelight,barcode
key_default_scene_mode = auto

used_white_balance = 0
key_support_white_balance = auto,incandescent,fluorescent,warm-fluorescent,daylight,cloudy-daylight
key_default_white_balance = auto

used_exposure_compensation = 1
key_max_exposure_compensation = 3
key_min_exposure_compensation = -3
key_step_exposure_compensation = 1
key_default_exposure_compensation = 0

used_zoom = 0
key_zoom_supported = true
key_smooth_zoom_supported = false
key_zoom_ratios = 100,120,150,200,230,250,300
key_max_zoom = 2
key_default_zoom = 0
key_horizonal_view_angle = 44.3
key_vertical_view_angle = 33.9

dumpsys media.camera


$ dumpsys media.camera

== Service global info: ==

Number of camera devices: 2
Number of normal camera devices: 2
    Device 0 maps to "0"
    Device 1 maps to "1"
Active Camera Clients:
[]
Allowed user IDs: 0

== Camera service events log (most recent at top): ==
  02-21 11:52:02 : USER_SWITCH previous allowed user IDs: <None>, current allowed user IDs: 0
  02-21 11:51:56 : ADD device 1, reason: (Device added)
  02-21 11:51:56 : ADD device 0, reason: (Device added)

== Camera device 0 dynamic info: ==
  Device 0 is closed, no client instance
== Camera device 1 dynamic info: ==
  Device 1 is closed, no client instance
== Camera Provider HAL legacy/0 (v2.5, remote) static info: 2 devices: ==
== Camera HAL device device@3.3/legacy/0 (v3.3) static information: ==
  Resource cost: 100
  Conflicting devices: None
  API1 info:
    Has a flash unit: false
    Facing: Back
    Orientation: 0
  API2 camera characteristics:
    Dumping camera metadata array: 58 / 58 entries, 1656 / 1656 bytes of extra data.
      Version: 1, Flags: 00000000
      android.control.maxRegions (1001c): int32[3]
        [0 0 0 ]
      android.request.maxNumOutputStreams (c0006): int32[3]
        [0 2 1 ]
      android.sensor.info.activeArraySize (f0000): int32[4]
        [0 0 1920 1080 ]
      android.request.availableCapabilities (c000c): byte[1]
        [BACKWARD_COMPATIBLE ]
      android.scaler.availableStreamConfigurations (d000a): int32[48]
        [33 1920 1080 OUTPUT ]
        [33 1280 720 OUTPUT ]
        [33 640 480 OUTPUT ]
        [33 320 240 OUTPUT ]
        [34 1920 1080 OUTPUT ]
        [34 1280 720 OUTPUT ]
        [34 640 480 OUTPUT ]
        [34 320 240 OUTPUT ]
        [35 1920 1080 OUTPUT ]
        [35 1280 720 OUTPUT ]
        [35 640 480 OUTPUT ]
        [35 320 240 OUTPUT ]
      android.scaler.availableMinFrameDurations (d000b): int64[48]
        [33 1920 ]
        [1080 33300000 ]
        [33 1280 ]
        [720 33300000 ]
        [33 640 ]
        [480 33300000 ]
        [33 320 ]
        [240 33300000 ]
        [34 1920 ]
        [1080 33300000 ]
        [34 1280 ]
        [720 33300000 ]
        [34 640 ]
        [480 33300000 ]
        [34 320 ]
        [240 33300000 ]
        [35 1920 ]
        [1080 33300000 ]
        [35 1280 ]
        [720 33300000 ]
        [35 640 ]
        [480 33300000 ]
        [35 320 ]
        [240 33300000 ]
      android.scaler.availableStallDurations (d000c): int64[48]
        [33 1920 ]
        [1080 1000000000 ]
        [33 1280 ]
        [720 1000000000 ]
        [33 640 ]
        [480 1000000000 ]
        [33 320 ]
        [240 1000000000 ]
        [34 1920 ]
        [1080 0 ]
        [34 1280 ]
        [720 0 ]
        [34 640 ]
        [480 0 ]
        [34 320 ]
        [240 0 ]
        [35 1920 ]
        [1080 0 ]
        [35 1280 ]
        [720 0 ]
        [35 640 ]
        [480 0 ]
        [35 320 ]
        [240 0 ]
      android.colorCorrection.availableAberrationModes (00004): byte[2]
        [1 2 ]
      android.control.aeCompensationRange (10015): int32[2]
        [0 0 ]
      android.control.aeCompensationStep (10016): rational[1]
        [(0 / 1000) ]
      android.control.afAvailableModes (10017): byte[1]
        [0 ]
      android.control.aeAvailableAntibandingModes (10012): byte[1]
        [3 ]
      android.control.aeAvailableModes (10013): byte[1]
        [1 ]
      android.control.awbAvailableModes (1001b): byte[2]
        [0 1 ]
      android.control.aeLockAvailable (10024): byte[1]
        [FALSE ]
      android.control.awbLockAvailable (10025): byte[1]
        [FALSE ]
      android.control.availableSceneModes (10019): byte[1]
        [0 ]
      android.control.availableEffects (10018): byte[1]
        [0 ]
      android.control.availableModes (10026): byte[2]
        [1 2 ]
      android.flash.info.available (50000): byte[1]
        [FALSE ]
      android.hotPixel.availableHotPixelModes (60001): byte[2]
        [1 2 ]
      android.statistics.info.availableHotPixelMapModes (120006): byte[1]
        [0 ]
      android.lens.info.availableApertures (90000): float[1]
        [2.00000000 ]
      android.lens.facing (80005): byte[1]
        [BACK ]
      android.lens.info.availableFocalLengths (90002): float[1]
        [3.03999996 ]
      android.lens.info.availableFilterDensities (90001): float[1]
        [0.00000000 ]
      android.lens.info.focusDistanceCalibration (90007): byte[1]
        [UNCALIBRATED ]
      android.lens.info.minimumFocusDistance (90005): float[1]
        [0.00000000 ]
      android.lens.info.hyperfocalDistance (90004): float[1]
        [0.00000000 ]
      android.shading.availableModes (100002): byte[2]
        [1 2 ]
      android.statistics.info.availableLensShadingMapModes (120007): byte[1]
        [0 ]
      android.control.availableVideoStabilizationModes (1001a): byte[2]
        [0 1 ]
      android.lens.info.availableOpticalStabilization (90003): byte[1]
        [0 ]
      android.noiseReduction.availableNoiseReductionModes (a0002): byte[2]
        [0 0 ]
      android.jpeg.availableThumbnailSizes (70007): int32[4]
        [0 0 320 240 ]
      android.jpeg.maxSize (70008): int32[1]
        [20000000 ]
      android.request.maxNumInputStreams (c0008): int32[1]
        [0 ]
      android.request.pipelineMaxDepth (c000a): byte[1]
        [4 ]
      android.sync.maxLatency (170001): int32[1]
        [UNKNOWN ]
      android.scaler.availableMaxDigitalZoom (d0004): float[1]
        [1.00000000 ]
      android.scaler.croppingType (d000d): byte[1]
        [FREEFORM ]
      android.sensor.info.pixelArraySize (f0006): int32[2]
        [1920 1080 ]
      android.sensor.info.physicalSize (f0005): float[2]
        [3.67400002 2.75999999 ]
      android.sensor.info.timestampSource (f0008): byte[1]
        [UNKNOWN ]
      android.sensor.orientation (e000e): int32[1]
        [0 ]
      android.sensor.availableTestPatternModes (e0019): int32[1]
        [0 ]
      android.statistics.info.availableFaceDetectModes (120000): byte[1]
        [0 ]
      android.statistics.info.maxFaceCount (120002): int32[1]
        [0 ]
      android.led.availableLeds (140001): byte[1]
        [TRANSMIT ]
      android.distortionCorrection.availableModes (1b0001): byte[1]
        [0 ]
      android.info.supportedHardwareLevel (150000): byte[1]
        [LIMITED ]
      android.request.partialResultCount (c000b): int32[1]
        [1 ]
      android.sensor.info.maxFrameDuration (f0004): int64[1]
        [100000000 ]
      android.control.aeAvailableTargetFpsRanges (10014): int32[4]
        [10 30 30 30 ]
      android.request.availableRequestKeys (c000d): int32[36]
        [3 65537 65543 65545 ]
        [65542 65536 65539 65547 ]
        [65538 65546 65552 65550 ]
        [65551 262146 393216 1114115 ]
        [524288 524290 524289 524291 ]
        [1048576 1114128 65553 524292 ]
        [65549 655360 458758 851968 ]
        [917528 1114112 1769472 786433 ]
        [65541 458755 458756 458757 ]
      android.request.availableResultKeys (c000e): int32[46]
        [3 65537 65543 65568 ]
        [65545 65542 65536 65567 ]
        [65539 65547 65570 65538 ]
        [65546 65552 65550 65551 ]
        [262149 262146 393216 1114115 ]
        [524288 524290 524289 524291 ]
        [524297 1048576 1114128 65553 ]
        [524292 65549 655360 458758 ]
        [786441 1507328 851968 917520 ]
        [917530 917528 1114112 1114126 ]
        [1769472 786433 65541 458755 ]
        [458756 458757 ]
      android.request.availableCharacteristicsKeys (c000f): int32[58]
        [65564 786438 983040 786444 ]
        [851978 851979 851980 4 ]
        [65557 65558 65559 65554 ]
        [65555 65563 65572 65573 ]
        [65561 65560 65574 327680 ]
        [393217 1179654 589824 524293 ]
        [589826 589825 589831 589829 ]
        [589828 1048578 1179655 65562 ]
        [589827 655362 458759 458760 ]
        [786440 786442 1507329 851972 ]
        [851981 983046 983045 983048 ]
        [917518 917529 1179648 1179650 ]
        [1310721 1769473 1376256 786443 ]
        [983044 65556 786445 786446 ]
        [786447 983050 ]
      android.sensor.info.preCorrectionActiveArraySize (f000a): int32[4]
        [0 0 1920 1080 ]
== Camera HAL device device@3.3/legacy/0 (v3.3) dumpState: ==
No active camera device session instance
== Camera HAL device device@3.3/legacy/1 (v3.3) static information: ==
  Resource cost: 100
  Conflicting devices: None
  API1 info:
    Has a flash unit: false
    Facing: Front
    Orientation: 0
  API2 camera characteristics:
    Dumping camera metadata array: 58 / 58 entries, 1656 / 1656 bytes of extra data.
      Version: 1, Flags: 00000000
      android.control.maxRegions (1001c): int32[3]
        [0 0 0 ]
      android.request.maxNumOutputStreams (c0006): int32[3]
        [0 2 1 ]
      android.sensor.info.activeArraySize (f0000): int32[4]
        [0 0 1920 1080 ]
      android.request.availableCapabilities (c000c): byte[1]
        [BACKWARD_COMPATIBLE ]
      android.scaler.availableStreamConfigurations (d000a): int32[48]
        [33 1920 1080 OUTPUT ]
        [33 1280 720 OUTPUT ]
        [33 640 480 OUTPUT ]
        [33 320 240 OUTPUT ]
        [34 1920 1080 OUTPUT ]
        [34 1280 720 OUTPUT ]
        [34 640 480 OUTPUT ]
        [34 320 240 OUTPUT ]
        [35 1920 1080 OUTPUT ]
        [35 1280 720 OUTPUT ]
        [35 640 480 OUTPUT ]
        [35 320 240 OUTPUT ]
      android.scaler.availableMinFrameDurations (d000b): int64[48]
        [33 1920 ]
        [1080 33300000 ]
        [33 1280 ]
        [720 33300000 ]
        [33 640 ]
        [480 33300000 ]
        [33 320 ]
        [240 33300000 ]
        [34 1920 ]
        [1080 33300000 ]
        [34 1280 ]
        [720 33300000 ]
        [34 640 ]
        [480 33300000 ]
        [34 320 ]
        [240 33300000 ]
        [35 1920 ]
        [1080 33300000 ]
        [35 1280 ]
        [720 33300000 ]
        [35 640 ]
        [480 33300000 ]
        [35 320 ]
        [240 33300000 ]
      android.scaler.availableStallDurations (d000c): int64[48]
        [33 1920 ]
        [1080 1000000000 ]
        [33 1280 ]
        [720 1000000000 ]
        [33 640 ]
        [480 1000000000 ]
        [33 320 ]
        [240 1000000000 ]
        [34 1920 ]
        [1080 0 ]
        [34 1280 ]
        [720 0 ]
        [34 640 ]
        [480 0 ]
        [34 320 ]
        [240 0 ]
        [35 1920 ]
        [1080 0 ]
        [35 1280 ]
        [720 0 ]
        [35 640 ]
        [480 0 ]
        [35 320 ]
        [240 0 ]
      android.colorCorrection.availableAberrationModes (00004): byte[2]
        [1 2 ]
      android.control.aeCompensationRange (10015): int32[2]
        [0 0 ]
      android.control.aeCompensationStep (10016): rational[1]
        [(0 / 1000) ]
      android.control.afAvailableModes (10017): byte[1]
        [0 ]
      android.control.aeAvailableAntibandingModes (10012): byte[1]
        [3 ]
      android.control.aeAvailableModes (10013): byte[1]
        [1 ]
      android.control.awbAvailableModes (1001b): byte[2]
        [0 1 ]
      android.control.aeLockAvailable (10024): byte[1]
        [FALSE ]
      android.control.awbLockAvailable (10025): byte[1]
        [FALSE ]
      android.control.availableSceneModes (10019): byte[1]
        [0 ]
      android.control.availableEffects (10018): byte[1]
        [0 ]
      android.control.availableModes (10026): byte[2]
        [1 2 ]
      android.flash.info.available (50000): byte[1]
        [FALSE ]
      android.hotPixel.availableHotPixelModes (60001): byte[2]
        [1 2 ]
      android.statistics.info.availableHotPixelMapModes (120006): byte[1]
        [0 ]
      android.lens.info.availableApertures (90000): float[1]
        [2.00000000 ]
      android.lens.facing (80005): byte[1]
        [FRONT ]
      android.lens.info.availableFocalLengths (90002): float[1]
        [3.03999996 ]
      android.lens.info.availableFilterDensities (90001): float[1]
        [0.00000000 ]
      android.lens.info.focusDistanceCalibration (90007): byte[1]
        [UNCALIBRATED ]
      android.lens.info.minimumFocusDistance (90005): float[1]
        [0.00000000 ]
      android.lens.info.hyperfocalDistance (90004): float[1]
        [0.00000000 ]
      android.shading.availableModes (100002): byte[2]
        [1 2 ]
      android.statistics.info.availableLensShadingMapModes (120007): byte[1]
        [0 ]
      android.control.availableVideoStabilizationModes (1001a): byte[2]
        [0 1 ]
      android.lens.info.availableOpticalStabilization (90003): byte[1]
        [0 ]
      android.noiseReduction.availableNoiseReductionModes (a0002): byte[2]
        [0 0 ]
      android.jpeg.availableThumbnailSizes (70007): int32[4]
        [0 0 320 240 ]
      android.jpeg.maxSize (70008): int32[1]
        [20000000 ]
      android.request.maxNumInputStreams (c0008): int32[1]
        [0 ]
      android.request.pipelineMaxDepth (c000a): byte[1]
        [4 ]
      android.sync.maxLatency (170001): int32[1]
        [UNKNOWN ]
      android.scaler.availableMaxDigitalZoom (d0004): float[1]
        [1.00000000 ]
      android.scaler.croppingType (d000d): byte[1]
        [FREEFORM ]
      android.sensor.info.pixelArraySize (f0006): int32[2]
        [1920 1080 ]
      android.sensor.info.physicalSize (f0005): float[2]
        [3.67400002 2.75999999 ]
      android.sensor.info.timestampSource (f0008): byte[1]
        [UNKNOWN ]
      android.sensor.orientation (e000e): int32[1]
        [0 ]
      android.sensor.availableTestPatternModes (e0019): int32[1]
        [0 ]
      android.statistics.info.availableFaceDetectModes (120000): byte[1]
        [0 ]
      android.statistics.info.maxFaceCount (120002): int32[1]
        [0 ]
      android.led.availableLeds (140001): byte[1]
        [TRANSMIT ]
      android.distortionCorrection.availableModes (1b0001): byte[1]
        [0 ]
      android.info.supportedHardwareLevel (150000): byte[1]
        [LIMITED ]
      android.request.partialResultCount (c000b): int32[1]
        [1 ]
      android.sensor.info.maxFrameDuration (f0004): int64[1]
        [100000000 ]
      android.control.aeAvailableTargetFpsRanges (10014): int32[4]
        [10 30 30 30 ]
      android.request.availableRequestKeys (c000d): int32[36]
        [3 65537 65543 65545 ]
        [65542 65536 65539 65547 ]
        [65538 65546 65552 65550 ]
        [65551 262146 393216 1114115 ]
        [524288 524290 524289 524291 ]
        [1048576 1114128 65553 524292 ]
        [65549 655360 458758 851968 ]
        [917528 1114112 1769472 786433 ]
        [65541 458755 458756 458757 ]
      android.request.availableResultKeys (c000e): int32[46]
        [3 65537 65543 65568 ]
        [65545 65542 65536 65567 ]
        [65539 65547 65570 65538 ]
        [65546 65552 65550 65551 ]
        [262149 262146 393216 1114115 ]
        [524288 524290 524289 524291 ]
        [524297 1048576 1114128 65553 ]
        [524292 65549 655360 458758 ]
        [786441 1507328 851968 917520 ]
        [917530 917528 1114112 1114126 ]
        [1769472 786433 65541 458755 ]
        [458756 458757 ]
      android.request.availableCharacteristicsKeys (c000f): int32[58]
        [65564 786438 983040 786444 ]
        [851978 851979 851980 4 ]
        [65557 65558 65559 65554 ]
        [65555 65563 65572 65573 ]
        [65561 65560 65574 327680 ]
        [393217 1179654 589824 524293 ]
        [589826 589825 589831 589829 ]
        [589828 1048578 1179655 65562 ]
        [589827 655362 458759 458760 ]
        [786440 786442 1507329 851972 ]
        [851981 983046 983045 983048 ]
        [917518 917529 1179648 1179650 ]
        [1310721 1769473 1376256 786443 ]
        [983044 65556 786445 786446 ]
        [786447 983050 ]
      android.sensor.info.preCorrectionActiveArraySize (f000a): int32[4]
        [0 0 1920 1080 ]
== Camera HAL device device@3.3/legacy/1 (v3.3) dumpState: ==
No active camera device session instance
== Camera Provider HAL external/0 (v2.5, remote) static info: 0 devices: ==

== Vendor tags: ==

  Dumping vendor tag descriptors for vendor with id 2592128789 
  Dumping configured vendor tag descriptors: None set
  Dumping vendor tag descriptors for vendor with id 3854507339 
  Dumping configured vendor tag descriptors: None set

== Camera error traces (0): ==
  No camera traces collected.