blob: 609ec146af6ff78963d0873a21d1861937375002 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copyright (C) 2017 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="imx258">
<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,30,30,30"/>
<control.aeCompensationRange value="0,0"/>
<control.aeCompensationStep value="0,1"/>
<control.afAvailableModes value="OFF,AUTO,CONTINUOUS_VIDEO,CONTINUOUS_PICTURE"/>
<control.availableEffects value="OFF"/>
<control.awbAvailableModes value="AUTO"/>
<control.awbLockAvailable value="TRUE"/>
<control.availableSceneModes value="DISABLED"/>
<control.availableVideoStabilizationModes value="OFF"/>
<control.maxRegions value="1,0,1"/>
<!-- EDGE -->
<edge.availableEdgeModes value="OFF"/>
<!-- JPEG -->
<jpeg.maxSize value="19869696"/> <!-- 4224*3136*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="3.65"/> <!-- 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="BACK"/>
<!-- Request -->
<request.maxNumOutputStreams value="0,2,1"/>
<request.pipelineMaxDepth value="6"/>
<request.maxNumInputStreams value="0"/>
<request.partialResultCount value="1"/>
<request.availableCapabilities value="BACKWARD_COMPATIBLE"/>
<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.afRegions,
control.afTrigger,
control.awbLock,
control.awbMode,
control.captureIntent,
control.effectMode,
control.mode,
control.sceneMode,
control.videoStabilizationMode,
edge.mode,
flash.mode,
jpeg.gpsLocation,
jpeg.orientation,
jpeg.quality,
jpeg.thumbnailQuality,
jpeg.thumbnailSize,
scaler.cropRegion,
statistics.faceDetectMode,
hotPixel.mode,
lens.focalLength,
lens.aperture,
lens.focusDistance,
lens.filterDensity,
lens.opticalStabilizationMode,
noiseReduction.mode,
tonemap.curve"/>
<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.afRegions,
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,
statistics.hotPixelMap,
statistics.faces,
statistics.lensShadingCorrectionMap,
statistics.sceneFlicker,
statistics.lensShadingMapMode,
noiseReduction.mode,
tonemap.curve"/>
<request.availableCharacteristicsKeys value="0"/>
<!-- Scaler -->
<scaler.availableMaxDigitalZoom value="1.0"/>
<scaler.availableInputOutputFormatsMap value="IMPLEMENTATION_DEFINED,2,YCbCr_420_888,BLOB"/>
<scaler.availableStreamConfigurations value="BLOB,4096x3072,OUTPUT,
BLOB,1920x1080,OUTPUT,
BLOB,1600x1200,OUTPUT,
BLOB,1280x960,OUTPUT,
BLOB,1280x720,OUTPUT,
BLOB,640x480,OUTPUT,
BLOB,320x240,OUTPUT,
YCbCr_420_888,1920x1080,OUTPUT,
YCbCr_420_888,1600x1200,OUTPUT,
YCbCr_420_888,1280x960,OUTPUT,
YCbCr_420_888,1280x720,OUTPUT,
YCbCr_420_888,640x480,OUTPUT,
YCbCr_420_888,320x240,OUTPUT,
IMPLEMENTATION_DEFINED,1920x1080,OUTPUT,
IMPLEMENTATION_DEFINED,1600x1200,OUTPUT,
IMPLEMENTATION_DEFINED,1280x960,OUTPUT,
IMPLEMENTATION_DEFINED,1280x720,OUTPUT,
IMPLEMENTATION_DEFINED,640x480,OUTPUT,
IMPLEMENTATION_DEFINED,320x240,OUTPUT" />
<scaler.availableMinFrameDurations value="BLOB,4096x3072,41666666,
BLOB,1920x1080,33333333,
BLOB,1600x1200,33333333,
BLOB,1280x960,33333333,
BLOB,1280x720,33333333,
BLOB,640x480,33333333,
BLOB,320x240,33333333,
YCbCr_420_888,1920x1080,33333333,
YCbCr_420_888,1600x1200,33333333,
YCbCr_420_888,1280x960,33333333,
YCbCr_420_888,1280x720,33333333,
YCbCr_420_888,640x480,33333333,
YCbCr_420_888,320x240,33333333,
IMPLEMENTATION_DEFINED,1920x1080,33333333,
IMPLEMENTATION_DEFINED,1600x1200,33333333,
IMPLEMENTATION_DEFINED,1280x960,33333333,
IMPLEMENTATION_DEFINED,1280x720,33333333,
IMPLEMENTATION_DEFINED,640x480,33333333,
IMPLEMENTATION_DEFINED,320x240,33333333" />
<scaler.availableStallDurations value="BLOB,4096x3072,41666666,
BLOB,1920x1080,33333333,
BLOB,1600x1200,33333333,
BLOB,1280x960,33333333,
BLOB,1280x720,33333333,
BLOB,640x480,33333333,
BLOB,320x240,33333333" />
<scaler.croppingType value="CENTER_ONLY"/>
<!-- Sensor Info -->
<sensor.info.activeArraySize value="0,0,4208,3118"/>
<sensor.info.sensitivityRange value="32,2400"/>
<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="4.71,3.49"/> <!-- 4208x1.12um 3120x1.12um -->
<sensor.info.pixelArraySize value="4208x3118"/>
<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"/>
<statistics.info.histogramBucketCount value="0"/>
<statistics.info.maxFaceCount value="0"/>
<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"/>
</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_imx258.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="36"/> <!--Pseudo ISO corresponding analog gain value 1.0. -->
<cITMaxMargin value="10"/> <!--coarse integration time max margin -->
<nvmDirectory value="i2c-INT3499:00"/> <!--location of the NVM data-->
<sensor.testPatternMap value="Off,0,ColorBars,2"/>
</Sensor_info_IPU3>
<MediaCtl_elements_IPU3>
<element name="imx258" type="pixel_array"/> <!-- HAL will append Bus id for element name "imx258 8-0010" -->
<element name="ipu3-csi2 1" type="csi_receiver"/>
<element name="dw9807" type="lens"/>
</MediaCtl_elements_IPU3>
<!-- ******************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_SGRBG10"/>
<gfxHalToV4L2PixelFmtTable.ycbcr_420_888 value="V4L2_PIX_FMT_NV21"/>
</hal_tuning>
<Common> <!-- Common parameters of camera -->
</Common>
</CameraSettings>