| <?xml version="1.0" encoding="UTF-8" ?> |
| <!-- Copyright (C) 2018-2020 Intel Corporation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <CameraSettings> |
| <Profiles cameraId="0" name="imx208"> |
| <Supported_hardware> |
| <hwType value="SUPPORTED_HW_IPU3"/> |
| </Supported_hardware> |
| |
| <Android_metadata> <!-- Android static metadata only --> |
| <!-- Color Correction --> |
| <colorCorrection.availableAberrationModes value="OFF"/> |
| <!-- Control --> |
| <control.availableModes value="AUTO"/> |
| <control.aeAvailableAntibandingModes value="OFF,50HZ,60Hz,AUTO"/> |
| <control.aeAvailableModes value="OFF,ON"/> |
| <control.aeLockAvailable value="TRUE"/> |
| <control.aeAvailableTargetFpsRanges value="15,15,24,24,15,30,30,30,15,60,60,60"/> |
| <control.aeCompensationRange value="0,0"/> |
| <control.aeCompensationStep value="0,1"/> |
| <control.afAvailableModes value="OFF"/> |
| <control.availableEffects value="OFF"/> |
| <control.awbAvailableModes value="AUTO"/> |
| <control.awbLockAvailable value="TRUE"/> |
| <control.availableSceneModes value="FACE_PRIORITY"/> |
| <control.availableVideoStabilizationModes value="OFF"/> |
| <control.maxRegions value="1,0,0"/> |
| <edge.availableEdgeModes value="OFF,FAST,HIGH_QUALITY,ZERO_SHUTTER_LAG"/> |
| <!-- JPEG --> |
| <jpeg.maxSize value="3182784"/> <!-- 1936*1096*1.5 --> |
| <jpeg.availableThumbnailSizes value="0,0,160,120,320,180,320,240"/> <!-- INCREASING ORDER --> |
| <!-- Lens Info--> |
| <lens.info.availableApertures value="0.0"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <lens.info.availableFilterDensities value="0.0"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <lens.info.availableFocalLengths value="1.93"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <lens.info.availableOpticalStabilization value="OFF"/> <!-- OPTIONS: OFF, ON --> |
| <lens.info.hyperfocalDistance value="0.0"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <lens.info.minimumFocusDistance value="0.1"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <lens.info.shadingMapSize value="0,0"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <lens.info.focusDistanceCalibration value="APPROXIMATE"/> |
| <!-- Lens --> |
| <lens.facing value="FRONT"/> |
| <!-- Request --> |
| <request.maxNumOutputStreams value="0,2,1"/> |
| <request.pipelineMaxDepth value="6"/> |
| <request.maxNumInputStreams value="1"/> |
| <request.partialResultCount value="1"/> |
| <request.availableCapabilities value="BACKWARD_COMPATIBLE,READ_SENSOR_SETTINGS,MANUAL_SENSOR,YUV_REPROCESSING"/> |
| <request.availableRequestKeys value="blackLevel.lock, |
| colorCorrection.aberrationMode, |
| colorCorrection.gains, |
| colorCorrection.transform, |
| control.aeAntibandingMode, |
| control.aeExposureCompensation, |
| control.aeLock, |
| control.aeMode, |
| control.aeTargetFpsRange, |
| control.afMode, |
| control.aeRegions, |
| control.afTrigger, |
| control.awbLock, |
| control.awbMode, |
| control.captureIntent, |
| control.effectMode, |
| control.mode, |
| control.sceneMode, |
| control.videoStabilizationMode, |
| edge.mode, |
| flash.mode, |
| hotPixel.mode, |
| jpeg.gpsLocation, |
| jpeg.orientation, |
| jpeg.quality, |
| jpeg.thumbnailQuality, |
| jpeg.thumbnailSize, |
| scaler.cropRegion, |
| statistics.faceDetectMode, |
| sensor.frameDuration, |
| sensor.exposureTime, |
| sensor.sensitivity, |
| lens.focalLength, |
| lens.aperture, |
| lens.focusDistance, |
| lens.filterDensity, |
| lens.opticalStabilizationMode, |
| noiseReduction.mode, |
| tonemap.curve, |
| reprocess.effectiveExposureFactor"/> |
| |
| <request.availableResultKeys value="colorCorrection.mode, |
| colorCorrection.transform, |
| colorCorrection.gains, |
| colorCorrection.aberrationCorrectionMode, |
| control.aeAntibandingMode, |
| control.aeExposureCompensation, |
| control.aeLock, |
| control.aeMode, |
| control.aeTargetFpsRange, |
| control.aePrecaptureTrigger, |
| control.afMode, |
| control.afTrigger, |
| control.awbLock, |
| control.awbMode, |
| control.captureIntent, |
| control.effectMode, |
| control.mode, |
| control.sceneMode, |
| control.videoStabilizationMode, |
| control.aeState, |
| control.afState, |
| control.awbState, |
| sync.frameNumber, |
| edge.mode, |
| flash.mode, |
| hotPixel.mode, |
| jpeg.gpsLocation, |
| jpeg.orientation, |
| jpeg.quality, |
| jpeg.thumbnailQuality, |
| jpeg.thumbnailSize, |
| lens.focalLength, |
| lens.aperture, |
| lens.filterDensity, |
| lens.focusDistance, |
| lens.opticalStabilizationMode, |
| request.pipelineDepth, |
| scaler.cropRegion, |
| sensor.testPatternData, |
| sensor.testPatternMode, |
| sensor.timestamp, |
| sensor.rollingShutterSkew, |
| shading.mode, |
| statistics.faceDetectMode, |
| statistics.hotPixelMapMode, |
| sensor.frameDuration, |
| sensor.exposureTime, |
| sensor.sensitivity, |
| statistics.hotPixelMap, |
| statistics.faces, |
| statistics.lensShadingCorrectionMap, |
| statistics.sceneFlicker, |
| statistics.lensShadingMapMode, |
| noiseReduction.mode, |
| tonemap.curve, |
| reprocess.effectiveExposureFactor"/> |
| <request.availableCharacteristicsKeys value="0"/> |
| <!-- Scaler --> |
| <scaler.availableMaxDigitalZoom value="1.0"/> |
| <scaler.availableInputOutputFormatsMap value="YCbCr_420_888,2,BLOB,YCbCr_420_888"/> |
| <scaler.availableStreamConfigurations value="BLOB,1920x1080,OUTPUT, |
| BLOB,1280x960,OUTPUT, |
| BLOB,1280x720,OUTPUT, |
| BLOB,640x480,OUTPUT, |
| BLOB,320x240,OUTPUT, |
| YCbCr_420_888,1920x1080,OUTPUT, |
| YCbCr_420_888,1280x960,OUTPUT, |
| YCbCr_420_888,1280x720,OUTPUT, |
| YCbCr_420_888,640x480,OUTPUT, |
| YCbCr_420_888,320x240,OUTPUT, |
| YCbCr_420_888,1920x1080,INPUT, |
| IMPLEMENTATION_DEFINED,1920x1080,OUTPUT, |
| IMPLEMENTATION_DEFINED,1280x960,OUTPUT, |
| IMPLEMENTATION_DEFINED,1280x720,OUTPUT, |
| IMPLEMENTATION_DEFINED,640x480,OUTPUT, |
| IMPLEMENTATION_DEFINED,320x240,OUTPUT" /> |
| <scaler.availableMinFrameDurations value="BLOB,1920x1080,16666666, |
| BLOB,1280x960,16666666, |
| BLOB,1280x720,16666666, |
| BLOB,640x480,16666666, |
| BLOB,320x240,16666666, |
| YCbCr_420_888,1920x1080,66666666, |
| YCbCr_420_888,1920x1080,16666666, |
| YCbCr_420_888,1280x960,16666666, |
| YCbCr_420_888,1280x720,16666666, |
| YCbCr_420_888,640x480,16666666, |
| YCbCr_420_888,320x240,16666666, |
| IMPLEMENTATION_DEFINED,1920x1080,16666666, |
| IMPLEMENTATION_DEFINED,1280x960,16666666, |
| IMPLEMENTATION_DEFINED,1280x720,16666666, |
| IMPLEMENTATION_DEFINED,640x480,16666666, |
| IMPLEMENTATION_DEFINED,320x240,16666666" /> |
| <scaler.availableStallDurations value="BLOB,1920x1080,16666666, |
| BLOB,1280x960,16666666, |
| BLOB,1280x720,16666666, |
| BLOB,640x480,16666666, |
| BLOB,320x240,16666666" /> |
| <scaler.croppingType value="CENTER_ONLY"/> |
| <!-- Sensor Info --> |
| <sensor.info.activeArraySize value="0,0,1936,1096"/> |
| <sensor.info.sensitivityRange value="85,2720"/> |
| <sensor.info.colorFilterArrangement value="GRBG"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <sensor.info.exposureTimeRange value="100000,200000000"/> |
| <sensor.info.maxFrameDuration value="200000000"/> |
| <sensor.info.physicalSize value="2.71,1.53"/> <!-- 1936x1.4um 1096x1.4um --> |
| <sensor.info.pixelArraySize value="1936x1096"/> |
| <sensor.info.whiteLevel value="0"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <sensor.info.timestampSource value="UNKNOWN"/> |
| <!-- Sensor --> |
| <sensor.baseGainFactor value="0,1"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <sensor.blackLevelPattern value="0,0,0,0"/> |
| <sensor.maxAnalogSensitivity value="0"/> <!-- HAL may override this value from CMC for RAW sensors --> |
| <sensor.orientation value="0"/> |
| <sensor.profileHueSatMapDimensions value="0,0,0"/> |
| <sensor.availableTestPatternModes value="OFF,COLOR_BARS"/> |
| <!-- Info --> |
| <info.supportedHardwareLevel value="LIMITED"/> |
| <!-- shading --> |
| <shading.availableModes value="OFF"/> |
| <!-- Statistics Info --> |
| <statistics.info.availableFaceDetectModes value="OFF,SIMPLE"/> |
| <statistics.info.histogramBucketCount value="0"/> |
| <statistics.info.maxFaceCount value="10"/> |
| <statistics.info.maxHistogramCount value="0"/> |
| <statistics.info.maxSharpnessMapValue value="0"/> |
| <statistics.info.sharpnessMapSize value="0,0"/> |
| <statistics.info.availableHotPixelMapModes value="OFF"/> |
| <statistics.info.availableLensShadingMapModes value="OFF"/> |
| <!-- Tonemap --> |
| <tonemap.maxCurvePoints value="1024"/> |
| <!-- Flash --> |
| <flash.colorTemperature value="0"/> |
| <flash.maxEnergy value="0"/> |
| <!-- Flash info --> |
| <flash.info.available value="FALSE"/> |
| <flash.info.chargeDuration value="1000000"/> |
| <flash.maxEnergy value="10"/> |
| <!-- Sync --> |
| <sync.maxLatency value="PER_FRAME_CONTROL"/> |
| <!-- Hot Pixel --> |
| <hotPixel.availableHotPixelModes value="OFF"/> |
| <!-- Noise Reduction --> |
| <noiseReduction.availableNoiseReductionModes value="OFF,FAST,HIGH_QUALITY,ZERO_SHUTTER_LAG"/> |
| <!-- reprocess --> |
| <reprocess.maxCaptureStall value="4"/> |
| |
| </Android_metadata> |
| |
| <!-- ******************PSL specific section start **************************************************************--> |
| <Hal_tuning_IPU3> <!-- Parameters to tune the HAL and hacks for the HAL that are camera dependent --> |
| <flipping value="" value_v=""/> <!-- value: SENSOR_FLIP_H or "", value_v: SENSOR_FLIP_V or "" --> |
| <supportIsoMap value="false"/> |
| <graphSettingsFile value="graph_settings_imx208.xml"/> |
| </Hal_tuning_IPU3> |
| |
| <Sensor_info_IPU3> <!-- Information that parametrizes the behavior or qualities of the physical sensor --> |
| <sensorType value="SENSOR_TYPE_RAW"/> <!-- SENSOR_TYPE_SOC or SENSOR_TYPE_RAW --> |
| <exposure.sync value="true"/> <!-- compensate expsure sync--> |
| <sensor.digitalGain value="true"/> <!-- digital gain support on sensor--> |
| <gain.lag value="2"/> <!-- camera3 HAL CPF parameters moved here start--> |
| <exposure.lag value="2"/> |
| <fov value= "54.8" value_v="42.5"/> |
| <statistics.initialSkip value="1"/> <!-- camera3 HAL CPF parameters moved here end--> |
| <frame.initialSkip value="3"/> <!-- camera3 HAL CPF parameters moved here end--> |
| <isoAnalogGain1 value="85"/> <!--Pseudo ISO corresponding analog gain value 1.0. --> |
| <cITMaxMargin value="10"/> <!--coarse integration time max margin --> |
| <maxNvmDataSize value="320"/> <!--the max NVM data size saved in makernote. --> |
| <nvmDirectory value="i2c-INT3499:00"/> <!--location of the NVM data--> |
| <sensor.testPatternMap value="Off,0,ColorBars,2"/> |
| <ag.multiplier value="32"/> |
| <ag.maxRatio value="8"/> |
| <ag.smiaParameters value="0,-1,256,256"/> |
| </Sensor_info_IPU3> |
| |
| <MediaCtl_elements_IPU3> |
| <element name="imx208" type="pixel_array"/> <!-- HAL will append Bus id for element name "imx208 8-0010" --> |
| <element name="ipu3-csi2 1" type="csi_receiver"/> |
| </MediaCtl_elements_IPU3> |
| |
| <Common> |
| <faceAeEnabled value="true"/> |
| <faceEngineRunningInterval value="3"/> |
| </Common> |
| <!-- ******************PSL specific section end **************************************************************--> |
| </Profiles> |
| |
| <!-- ******************PSL specific section end **************************************************************--> |
| |
| <hal_tuning> <!-- Parameters to tune the HAL that are camera independent but common across PSL's --> |
| <!-- gfxHalToV4L2PixelFmtTable |
| This table encodes the agreement between the Camera HAL and the |
| Gfx and video HAL's. It maps the gfxHAL pixel formats (that the client |
| can request for a stream) to concrete V4L2 pixel formats that |
| the Camera HW can provide. |
| This is needed for several reasons: |
| - the pixel layout is not well defined (implementation_defined) |
| - the pixel layout changes from sensor to sensor (RAW) |
| Most entries are camera independent but some are not. |
| For camera dependent entries sensorId field is used. |
| --> |
| <gfxHalToV4L2PixelFmtTable.impl_defined_preview value="V4L2_PIX_FMT_NV21"/> |
| <gfxHalToV4L2PixelFmtTable.impl_defined_video value="V4L2_PIX_FMT_NV21"/> |
| <gfxHalToV4L2PixelFmtTable.raw_sensor sensorId="0" value="V4L2_PIX_FMT_SRGGB10"/> |
| <gfxHalToV4L2PixelFmtTable.ycbcr_420_888 value="V4L2_PIX_FMT_NV21"/> |
| </hal_tuning> |
| |
| <Common> <!-- Common parameters of camera --> |
| </Common> |
| </CameraSettings> |
| |