<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copyright (C) 2018 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,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>

