wip: replace proprietary blobs with ones from s7

This commit is contained in:
ivanmeler 2023-04-01 12:47:57 +02:00
parent 7a66840e2b
commit b0bd7afd28
17 changed files with 8216 additions and 2601 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,243 +0,0 @@
<!--
Copyright (c) 2015 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!--
CommonChromatixInfo:
CommonChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are common for all sensor modes.
ResolutionChromatixInfo:
ResolutionChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are specific to sensor resolution.
ChromatixName:
Contains the list of chromatix names for all modules.
special_mode_mask:
It is the bit mask for special modes, which is used for
chromatix selection.
Special modes can be any mode that needs a special chromatix.
Ex:- scene mode, DZOOM mode, OIS capture mode, flash mode
This is applicable for CommonChromatixInfo and
ResolutionChromatixInfo.
special_mode_mask="0" means none of the special modes are
selected.
sensor_resolution_index:
It is the sensor resolution index for which chromatix libraries
will be choosen.
It is applicable only in ResolutionChromatixInfo.
ISPCommon :
Common tuning library name for ISP
ISPPreview :
Preview tuning library name for ISP
ISPSnapshot :
Snapshot tuning library name for ISP
CPPCommon :
Common tuning library name for CPP
CPPPreview :
Preview tuning library name for CPP
CPPSnapshot :
Snapshot tuning library name for CPP
CPPLiveshot :
Liveshot tuning library name for CPP
PostProc :
Tuning library name for postproc module
A3Preview :
Preview tuning library for 3A
A3Video :
Video tuning library for 3A
Order of Resolution Pick:
Assume the current sensor mode is "r" and special mode mask is "s".
Chromatix for a module and type is choosen in this order till we find a
valid chroamtix file name or else NULL is returned.
1) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "s".
2) From CommonChromatixInfo node for which special_mode_mask is "s".
3) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "0".
4) From CommonChromatixInfo node for which special_mode_mask is "0".
5) NULL is returned if we dont find in any of the above cases.
special_mode_mask values:
SENSOR_SPECIAL_MODE_NONE = 0,
SENSOR_SPECIAL_MODE_FLASH = 1,
SENSOR_SPECIAL_MODE_ZOOM_UPSCALE = 2,
SENSOR_SPECIAL_MODE_ZOOM_DOWNSCALE = 4,
SENSOR_SPECIAL_MODE_OIS_CAPTURE = 8,
-->
<ChromatixConfigurationRoot>
<CommonChromatixInfo>
<ChromatixName special_mode_mask="0">
<ISPCommon>libchromatix_s5k5e3yx_common.so</ISPCommon>
<PostProc>libchromatix_s5k5e3yx_postproc.so</PostProc>
</ChromatixName>
</CommonChromatixInfo>
<ResolutionChromatixInfo>
<ChromatixName sensor_resolution_index="0" special_mode_mask="0">
<ISPPreview>libchromatix_s5k5e3yx_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k5e3yx_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k5e3yx_zsl_preview_ad5816g.so</A3Preview>
<A3Video>libchromatix_s5k5e3yx_zsl_video_ad5816g.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="WIDE_SELFIE">
<ISPPreview>libchromatix_s5k5e3yx_preview_wide_selfie.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_wide_selfie.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_preview_wide_selfie.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="MULTIVIEW">
<ISPPreview>libchromatix_s5k5e3yx_preview_multiview.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_multiview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_preview_multiview.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="SMART_STAY">
<ISPPreview>libchromatix_s5k5e3yx_preview_smart_stay.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_smart_stay.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_preview_smart_stay.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PIP">
<ISPPreview>libchromatix_s5k5e3yx_preview_pip.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_pip.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_preview_pip.so</CPPSnapshot>
</ChromatixName>
<!--ANIMATED-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,ANIMATED_SCENE">
<ISPPreview>libchromatix_s5k5e3yx_video_VGA.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k5e3yx_video_VGA.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k5e3yx_cpp_video_VGA.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k5e3yx_video_VGA.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_VGA.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
</ChromatixName>
<!--Video WGA 30-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4">
<ISPPreview>libchromatix_s5k5e3yx_video_VGA.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k5e3yx_video_VGA.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k5e3yx_cpp_video_VGA.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k5e3yx_video_VGA.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_VGA.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
</ChromatixName>
<!--Video HD 30-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_720P">
<ISPCommon>libchromatix_s5k5e3yx_common_video.so</ISPCommon>
<ISPPreview>libchromatix_s5k5e3yx_video.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_video.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPSnapshot>
</ChromatixName>
<!--Video FHD 30-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_1080P">
<ISPCommon>libchromatix_s5k5e3yx_common_video.so</ISPCommon>
<ISPPreview>libchromatix_s5k5e3yx_video.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_video.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPSnapshot>
</ChromatixName>
<!--Resolution mode-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k5e3yx_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k5e3yx_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="1" special_mode_mask="0">
<ISPPreview>libchromatix_s5k5e3yx_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k5e3yx_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k5e3yx_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k5e3yx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k5e3yx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k5e3yx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k5e3yx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k5e3yx_zsl_preview_ad5816g.so</A3Preview>
<A3Video>libchromatix_s5k5e3yx_zsl_video_ad5816g.so</A3Video>
</ChromatixName>
</ResolutionChromatixInfo>
</ChromatixConfigurationRoot>

File diff suppressed because it is too large Load diff

273
camera/msm8996_camera.xml Normal file
View file

@ -0,0 +1,273 @@
<!--
Copyright (c) 2015 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!--
CameraModuleConfig :
This node must be added for each module prosent in the device.
It contain all information about the module present.
The number of nodes of CameraModuleConfig indicate number of modules
to be probed on the device.
Maximum number of CameraModuleConfig nodes is 10
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*CameraId :
Camera Id is the Slot number in which the mode is plugged.
Valid values are 0, 1, 2 and 3.
*SensorName :
Name of the sensor present on the module.
The sensor library name should be of the form libmmcamera_<SensorName>.so
ActuatorName :
Name of the actuator on this module.
The actuator library name should be of the form libactuator_<ActuatorName>.so.
If there is no actuator remove the <ActuatorName> node.
EepromName :
Name of the eeprom on this module.
Eeprom lib name should be of the form libmmcamera_<EepromName>_eeprom.so
If there is no eeprom remove the <EepromName> node.
FlashName :
Name of the flash on this module.
The flash library name should be of the form libflash_<FlashName>.so.
If there is no flash remove the <FlashName> node.
ChromatixName :
Name of the tuning xml file.
Tuning file contains the list of chromatix library names.
If there is no tuning xml file remove the <ChromatixName> node.
Position :
Position of the sensor module. Valid values are:
BACK, FRONT and BACK_AUX
MountAngle :
Angle at which the sensor is mounted. Valid values are 0, 90, 180, 270 and 360.
To use default mountangle mentioned in kernel use 360.
CsiInfo : This node contains information about the receiver configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*CSIDCore :
CSID core to receive the data. Valid values are 0, 1, 2 and 3.
*LaneMask :
Mask to mention which lane is enabled.
LaneMask[0] for DL0.
LaneMask[1] for CLK.
LaneMask[2] for DL1.
LaneMask[3] for DL2.
LaneMask[4] for DL3
*LaneAssign :
Number which describes the lane mapping between sensor and PHY.
LaneAssign[0:3] is sensor lane number connected to data lane 0 of PHY on MSM
LaneAssign[4:7] is sensor lane number connected to data lane 2 of PHY on MSM
LaneAssign[8:11] is sensor lane number connected to data lane 3 of PHY on MSM
LaneAssign[12:15] is sensor lane number connected to data lane 4 of PHY on MSM
NOTE : Lane 1 is reserved for the clock lane.
Wiring and setting it to a data lane is prohibited.
ComboMode :
Flag to enable combo mode.
This flag is enabled if multiple sensors are using same CSI-PHY receiver
LensInfo : Information of the lens present in the module.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*FocalLength :
FocalLength of the lens in micometers.
Distance between the center of curvature to the focal point.
*FNumber :
FNumber of the lens.
*TotalFocusDistance : The total distance in meters the lens could focus.
*HorizontalViewAngle : HorizontalViewAngle in degrees
*VerticalViewAngle : VerticalViewAngle in degrees
*MinFocusDistance : Minimum distance in meters the lens could focus.
*VARIABLES MARKED WITH ASTRICK (*) ARE MANDATORY.
-->
<CameraConfigurationRoot>
<CameraModuleConfig>
<CameraId>0</CameraId>
<SensorName>imx260</SensorName>
<ActuatorName>ak7371</ActuatorName>
<EepromName>fidelix</EepromName>
<OisName>rumba</OisName>
<FlashName>pmic</FlashName>
<ChromatixName>C12QS_imx260_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>BACK</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>0</CSIDCore>
<LaneMask>0x1F</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>4.2</FocalLength>
<FNumber>1.7</FNumber>
<TotalFocusDistance>1.9</TotalFocusDistance>
<HorizontalViewAngle>65.0</HorizontalViewAngle>
<VerticalViewAngle>51.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>C12QS</HW_info>
<SW_info>JK01</SW_info>
<Vendor_info>S</Vendor_info>
<Process_info>M</Process_info>
</VersionInfo>
</CameraModuleConfig>
<CameraModuleConfig>
<CameraId>0</CameraId>
<SensorName>s5k2l1sx</SensorName>
<ActuatorName>ak7371</ActuatorName>
<EepromName>fidelix</EepromName>
<OisName>rumba</OisName>
<FlashName>pmic</FlashName>
<ChromatixName>C12QL_s5k2l1sx_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>BACK</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>0</CSIDCore>
<LaneMask>0x1F</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>4.2</FocalLength>
<FNumber>1.7</FNumber>
<TotalFocusDistance>1.9</TotalFocusDistance>
<HorizontalViewAngle>65.0</HorizontalViewAngle>
<VerticalViewAngle>51.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>C12QL</HW_info>
<SW_info>JK01</SW_info>
<Vendor_info>S</Vendor_info>
<Process_info>M</Process_info>
</VersionInfo>
</CameraModuleConfig>
<CameraModuleConfig>
<CameraId>0</CameraId>
<SensorName>imx260</SensorName>
<ActuatorName>ak7371</ActuatorName>
<EepromName>fidelix</EepromName>
<OisName>rumba</OisName>
<FlashName>pmic</FlashName>
<ChromatixName>D12QS_imx260_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>BACK</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>0</CSIDCore>
<LaneMask>0x1F</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>4.2</FocalLength>
<FNumber>1.7</FNumber>
<TotalFocusDistance>1.9</TotalFocusDistance>
<HorizontalViewAngle>65.0</HorizontalViewAngle>
<VerticalViewAngle>51.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>D12QS</HW_info>
<SW_info>JK01</SW_info>
<Vendor_info>S</Vendor_info>
<Process_info>M</Process_info>
</VersionInfo>
</CameraModuleConfig>
<CameraModuleConfig>
<CameraId>0</CameraId>
<SensorName>s5k2l1sx</SensorName>
<ActuatorName>ak7371</ActuatorName>
<EepromName>fidelix</EepromName>
<OisName>rumba</OisName>
<FlashName>pmic</FlashName>
<ChromatixName>D12QL_s5k2l1sx_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>BACK</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>0</CSIDCore>
<LaneMask>0x1F</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>4.2</FocalLength>
<FNumber>1.7</FNumber>
<TotalFocusDistance>1.9</TotalFocusDistance>
<HorizontalViewAngle>65.0</HorizontalViewAngle>
<VerticalViewAngle>51.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>D12QL</HW_info>
<SW_info>JK01</SW_info>
<Vendor_info>S</Vendor_info>
<Process_info>M</Process_info>
</VersionInfo>
</CameraModuleConfig>
<CameraModuleConfig>
<CameraId>1</CameraId>
<SensorName>s5k4e6xx_cc</SensorName>
<EepromName>m24128s</EepromName>
<ChromatixName>s5k4e6xx_cc_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>FRONT</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>0</CSIDCore>
<LaneMask>0x07</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>2.1</FocalLength>
<FNumber>1.7</FNumber>
<TotalFocusDistance>1.97</TotalFocusDistance>
<HorizontalViewAngle>78.0</HorizontalViewAngle>
<VerticalViewAngle>62.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>I05QL</HW_info>
<SW_info>IL01</SW_info>
<Vendor_info>P</Vendor_info>
<Process_info>B</Process_info>
</VersionInfo>
</CameraModuleConfig>
<CameraModuleConfig>
<CameraId>2</CameraId>
<SensorName>s5k4e6xx</SensorName>
<EepromName>m24128s</EepromName>
<ChromatixName>s5k4e6xx_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>FRONT</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>2</CSIDCore>
<LaneMask>0x07</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>2.1</FocalLength>
<FNumber>1.7</FNumber>
<TotalFocusDistance>1.97</TotalFocusDistance>
<HorizontalViewAngle>78.0</HorizontalViewAngle>
<VerticalViewAngle>62.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>I05QL</HW_info>
<SW_info>IL01</SW_info>
<Vendor_info>P</Vendor_info>
<Process_info>B</Process_info>
</VersionInfo>
</CameraModuleConfig>
</CameraConfigurationRoot>

View file

@ -1,149 +0,0 @@
<!--
Copyright (c) 2015 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!--
CameraModuleConfig :
This node must be added for each module prosent in the device.
It contain all information about the module present.
The number of nodes of CameraModuleConfig indicate number of modules
to be probed on the device.
Maximum number of CameraModuleConfig nodes is 10
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*CameraId :
Camera Id is the Slot number in which the mode is plugged.
Valid values are 0, 1, 2 and 3.
*SensorName :
Name of the sensor present on the module.
The sensor library name should be of the form libmmcamera_<SensorName>.so
ActuatorName :
Name of the actuator on this module.
The actuator library name should be of the form libactuator_<ActuatorName>.so.
If there is no actuator remove the <ActuatorName> node.
EepromName :
Name of the eeprom on this module.
Eeprom lib name should be of the form libmmcamera_<EepromName>_eeprom.so
If there is no eeprom remove the <EepromName> node.
FlashName :
Name of the flash on this module.
The flash library name should be of the form libflash_<FlashName>.so.
If there is no flash remove the <FlashName> node.
ChromatixName :
Name of the tuning xml file.
Tuning file contains the list of chromatix library names.
If there is no tuning xml file remove the <ChromatixName> node.
Position :
Position of the sensor module. Valid values are:
BACK, FRONT and BACK_AUX
MountAngle :
Angle at which the sensor is mounted. Valid values are 0, 90, 180, 270 and 360.
To use default mountangle mentioned in kernel use 360.
CsiInfo : This node contains information about the receiver configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*CSIDCore :
CSID core to receive the data. Valid values are 0, 1, 2 and 3.
*LaneMask :
Mask to mention which lane is enabled.
LaneMask[0] for DL0.
LaneMask[1] for CLK.
LaneMask[2] for DL1.
LaneMask[3] for DL2.
LaneMask[4] for DL3
*LaneAssign :
Number which describes the lane mapping between sensor and PHY.
LaneAssign[0:3] is sensor lane number connected to data lane 0 of PHY on MSM
LaneAssign[4:7] is sensor lane number connected to data lane 2 of PHY on MSM
LaneAssign[8:11] is sensor lane number connected to data lane 3 of PHY on MSM
LaneAssign[12:15] is sensor lane number connected to data lane 4 of PHY on MSM
NOTE : Lane 1 is reserved for the clock lane.
Wiring and setting it to a data lane is prohibited.
ComboMode :
Flag to enable combo mode.
This flag is enabled if multiple sensors are using same CSI-PHY receiver
LensInfo : Information of the lens present in the module.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*FocalLength :
FocalLength of the lens in micometers.
Distance between the center of curvature to the focal point.
*FNumber :
FNumber of the lens.
*TotalFocusDistance : The total distance in meters the lens could focus.
*HorizontalViewAngle : HorizontalViewAngle in degrees
*VerticalViewAngle : VerticalViewAngle in degrees
*MinFocusDistance : Minimum distance in meters the lens could focus.
*VARIABLES MARKED WITH ASTRICK (*) ARE MANDATORY.
-->
<CameraConfigurationRoot>
<CameraModuleConfig>
<CameraId>0</CameraId>
<SensorName>imx258</SensorName>
<ActuatorName>dw9807</ActuatorName>
<EepromName>dw9807</EepromName>
<FlashName>pmic</FlashName>
<ChromatixName>W13QS_imx258_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>BACK</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>0</CSIDCore>
<LaneMask>0x1F</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>3.6</FocalLength>
<FNumber>1.9</FNumber>
<Focallengthfilm>27</Focallengthfilm>
<TotalFocusDistance>1.9</TotalFocusDistance>
<HorizontalViewAngle>63.4</HorizontalViewAngle>
<VerticalViewAngle>57.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>W13QS</HW_info>
<SW_info>JK01</SW_info>
<Vendor_info>H</Vendor_info>
<Process_info>A</Process_info>
</VersionInfo>
</CameraModuleConfig>
<CameraModuleConfig>
<CameraId>2</CameraId>
<SensorName>s5k5e3yx</SensorName>
<EepromName>lsi_s5k5e3yx</EepromName>
<ChromatixName>N05QL_s5k5e3yx_chromatix</ChromatixName>
<ModesSupported>1</ModesSupported>
<Position>FRONT</Position>
<MountAngle>360</MountAngle>
<CSIInfo>
<CSIDCore>2</CSIDCore>
<LaneMask>0x07</LaneMask>
<LaneAssign>0x4320</LaneAssign>
<ComboMode>0</ComboMode>
</CSIInfo>
<LensInfo>
<FocalLength>1.92</FocalLength>
<FNumber>2.2</FNumber>
<Focallengthfilm>23</Focallengthfilm>
<TotalFocusDistance>1.5</TotalFocusDistance>
<HorizontalViewAngle>72.0</HorizontalViewAngle>
<VerticalViewAngle>57.0</VerticalViewAngle>
<MinFocusDistance>0.1</MinFocusDistance>
</LensInfo>
<VersionInfo>
<HW_info>N05QL</HW_info>
<SW_info>JK01</SW_info>
<Vendor_info>H</Vendor_info>
<Process_info>A</Process_info>
</VersionInfo>
</CameraModuleConfig>
</CameraConfigurationRoot>

View file

@ -0,0 +1,209 @@
<!--
Copyright (c) 2015 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!--
CommonChromatixInfo:
CommonChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are common for all sensor modes.
ResolutionChromatixInfo:
ResolutionChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are specific to sensor resolution.
ChromatixName:
Contains the list of chromatix names for all modules.
special_mode_mask:
It is the bit mask for special modes, which is used for
chromatix selection.
Special modes can be any mode that needs a special chromatix.
Ex:- scene mode, DZOOM mode, OIS capture mode, flash mode
This is applicable for CommonChromatixInfo and
ResolutionChromatixInfo.
special_mode_mask="0" means none of the special modes are
selected.
sensor_resolution_index:
It is the sensor resolution index for which chromatix libraries
will be choosen.
It is applicable only in ResolutionChromatixInfo.
ISPCommon :
Common tuning library name for ISP
ISPPreview :
Preview tuning library name for ISP
ISPSnapshot :
Snapshot tuning library name for ISP
CPPCommon :
Common tuning library name for CPP
CPPPreview :
Preview tuning library name for CPP
CPPSnapshot :
Snapshot tuning library name for CPP
CPPLiveshot :
Liveshot tuning library name for CPP
PostProc :
Tuning library name for postproc module
A3Preview :
Preview tuning library for 3A
A3Video :
Video tuning library for 3A
Order of Resolution Pick:
Assume the current sensor mode is "r" and special mode mask is "s".
Chromatix for a module and type is choosen in this order till we find a
valid chroamtix file name or else NULL is returned.
1) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "s".
2) From CommonChromatixInfo node for which special_mode_mask is "s".
3) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "0".
4) From CommonChromatixInfo node for which special_mode_mask is "0".
5) NULL is returned if we dont find in any of the above cases.
special_mode_mask values:
SENSOR_SPECIAL_MODE_NONE = 0,
SENSOR_SPECIAL_MODE_FLASH = 1,
SENSOR_SPECIAL_MODE_ZOOM_UPSCALE = 2,
SENSOR_SPECIAL_MODE_ZOOM_DOWNSCALE = 4,
SENSOR_SPECIAL_MODE_OIS_CAPTURE = 8,
-->
<ChromatixConfigurationRoot>
<CommonChromatixInfo>
<ChromatixName special_mode_mask="0">
<ISPCommon>libchromatix_s5k2p2xx_common.so</ISPCommon>
<PostProc>libchromatix_s5k2p2xx_postproc.so</PostProc>
</ChromatixName>
</CommonChromatixInfo>
<ResolutionChromatixInfo>
<ChromatixName sensor_resolution_index="0" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_snapshot.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_snapshot.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_zsl_preview_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_zsl_video_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="1" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_snapshot.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_snapshot.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_video_16M_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_video_16M_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="2" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_video_4k.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_video_4k.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_video_4k.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_video_4k.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_4k_preview_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_4k_video_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="3" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_preview.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_preview.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_default_preview_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_default_video_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="4" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_default_video.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_default_video.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_default_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_1080p_video_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_1080p_video_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="5" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_hfr_60.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_hfr_60.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_hfr_60.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_hfr_60.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_hfr_60.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_hfr_60.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_hfr_60.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_hfr_60_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_hfr_60_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="6" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_hfr_90.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_hfr_90.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_hfr_90.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_hfr_90.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_hfr_90.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_hfr_90.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_hfr_90.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_hfr_90_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_hfr_90_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="7" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_hfr_120.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_hfr_120.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_hfr_120.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_hfr_120.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_hfr_120.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_hfr_120.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_hfr_120.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_hfr_120_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_hfr_120_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="8" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_hfr_240.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_hfr_240.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_hfr_240.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_hfr_240.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_hfr_240.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_hfr_240.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_hfr_240.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_hfr_240_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_hfr_240_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="9" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_video_hdr.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_video_hdr.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_video_hdr.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_video_hdr.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_video_hdr.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_video_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_video_hdr.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_hdr_video_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_hdr_video_lc898212xd.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="10" special_mode_mask="0">
<ISPPreview>libchromatix_s5k2p2xx_snapshot_hdr.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k2p2xx_snapshot_hdr.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k2p2xx_snapshot_hdr.so</ISPVideo>
<CPPPreview>libchromatix_s5k2p2xx_cpp_snapshot_hdr.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k2p2xx_cpp_snapshot_hdr.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k2p2xx_cpp_snapshot_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k2p2xx_cpp_snapshot_hdr.so</CPPLiveshot>
<A3Preview>libchromatix_s5k2p2xx_hdr_video_lc898212xd.so</A3Preview>
<A3Video>libchromatix_s5k2p2xx_hdr_video_lc898212xd.so</A3Video>
</ChromatixName>
</ResolutionChromatixInfo>
</ChromatixConfigurationRoot>

View file

@ -0,0 +1,372 @@
<!--
Copyright (c) 2015 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!--
CommonChromatixInfo:
CommonChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are common for all sensor modes.
ResolutionChromatixInfo:
ResolutionChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are specific to sensor resolution.
ChromatixName:
Contains the list of chromatix names for all modules.
special_mode_mask:
It is the bit mask for special modes, which is used for
chromatix selection.
Special modes can be any mode that needs a special chromatix.
Ex:- scene mode, DZOOM mode, OIS capture mode, flash mode
This is applicable for CommonChromatixInfo and
ResolutionChromatixInfo.
special_mode_mask="0" means none of the special modes are
selected.
sensor_resolution_index:
It is the sensor resolution index for which chromatix libraries
will be choosen.
It is applicable only in ResolutionChromatixInfo.
ISPCommon :
Common tuning library name for ISP
ISPPreview :
Preview tuning library name for ISP
ISPSnapshot :
Snapshot tuning library name for ISP
CPPCommon :
Common tuning library name for CPP
CPPPreview :
Preview tuning library name for CPP
CPPSnapshot :
Snapshot tuning library name for CPP
CPPLiveshot :
Liveshot tuning library name for CPP
PostProc :
Tuning library name for postproc module
A3Preview :
Preview tuning library for 3A
A3Video :
Video tuning library for 3A
Order of Resolution Pick:
Assume the current sensor mode is "r" and special mode mask is "s".
Chromatix for a module and type is choosen in this order till we find a
valid chroamtix file name or else NULL is returned.
1) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "s".
2) From CommonChromatixInfo node for which special_mode_mask is "s".
3) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "0".
4) From CommonChromatixInfo node for which special_mode_mask is "0".
5) NULL is returned if we dont find in any of the above cases.
special_mode_mask values:
SENSOR_SPECIAL_MODE_NONE = 0,
SENSOR_SPECIAL_MODE_FLASH = 1,
SENSOR_SPECIAL_MODE_ZOOM_UPSCALE = 2,
SENSOR_SPECIAL_MODE_ZOOM_DOWNSCALE = 4,
SENSOR_SPECIAL_MODE_OIS_CAPTURE = 8,
-->
<ChromatixConfigurationRoot>
<CommonChromatixInfo>
<ChromatixName special_mode_mask="0">
<ISPCommon>libchromatix_s5k4e6xx_cc_common.so</ISPCommon>
<PostProc>libchromatix_s5k4e6xx_cc_postproc.so</PostProc>
</ChromatixName>
</CommonChromatixInfo>
<ResolutionChromatixInfo>
<ChromatixName sensor_resolution_index="0" special_mode_mask="0">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k4e6xx_cc_zsl_preview_ad5816g.so</A3Preview>
<A3Video>libchromatix_s5k4e6xx_cc_zsl_video_ad5816g.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="WIDE_SELFIE">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_wide_selfie.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_wide_selfie.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_preview_wide_selfie.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="MULTIVIEW">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_multiview.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_multiview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_preview_multiview.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,SMART_STAY">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_smart_stay.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_smart_stay.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_preview_smart_stay.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,PIP">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_pip.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_pip.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_preview_pip.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,VT">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_vt.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_vt.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_vt.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,VT_HD">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_vt_hd.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_vt_hd.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_vt_hd.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="VT">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_vt.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_vt.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_vt.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="VT_HD">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_vt_hd.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_vt_hd.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_vt_hd.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="HDR">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_hdr.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_hdr.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_hdr.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_hdr.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_hdr.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr.so</CPPLiveshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="HDR_AUTO">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_hdr_auto.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_hdr_auto.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_hdr_auto.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_hdr_auto.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_hdr_auto.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_hdr_auto.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr_auto.so</CPPLiveshot>
</ChromatixName>
<!--ANIMATED-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,ANIMATED_SCENE">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_VGA.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_video_VGA.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_VGA.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_VGA.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_VGA.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,ANIMATED_SCENE,HDR">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_VGA_hdr.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_video_VGA_hdr.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_VGA_hdr.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr.so</CPPLiveshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,ANIMATED_SCENE,HDR_AUTO">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_VGA_hdr_auto.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_video_VGA_hdr_auto.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr_auto.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr_auto.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_VGA_hdr_auto.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr_auto.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr_auto.so</CPPLiveshot>
</ChromatixName>
<!--Video WGA 30-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_VGA.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_video_VGA.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_VGA.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_VGA.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_VGA.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,HDR">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_VGA_hdr.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_video_VGA_hdr.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_VGA_hdr.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr.so</CPPLiveshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_2_4,HDR_AUTO">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_VGA_hdr_auto.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_video_VGA_hdr_auto.so</ISPSnapshot>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr_auto.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr_auto.so</CPPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_VGA_hdr_auto.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_VGA_hdr_auto.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr_auto.so</CPPLiveshot>
</ChromatixName>
<!--Video HD 30-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_720P">
<ISPPreview>libchromatix_s5k4e6xx_cc_video.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_720P,HDR">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_hdr.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_hdr.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_hdr.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_720P,HDR_AUTO">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_hdr_auto.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_hdr_auto.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_hdr_auto.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_hdr_auto.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr_auto.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr_auto.so</CPPSnapshot>
</ChromatixName>
<!--Video FHD 30-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_1080P">
<ISPPreview>libchromatix_s5k4e6xx_cc_video.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_1080P,HDR">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_hdr.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_hdr.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_hdr.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_1080P,HDR_AUTO">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_hdr_auto.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_hdr_auto.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_hdr_auto.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_hdr_auto.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr_auto.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_liveshot_hdr_auto.so</CPPSnapshot>
</ChromatixName>
<!--Video QHD 30-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_UHD">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_QHD.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_QHD.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_QHD.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_QHD.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_video_QHD.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_video_QHD.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_UHD,HDR">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_QHD_hdr.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_QHD_hdr.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="DIM_UHD,HDR_AUTO">
<ISPPreview>libchromatix_s5k4e6xx_cc_video_QHD_hdr_auto.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr_auto.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_QHD_hdr_auto.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr_auto.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr_auto.so</CPPLiveshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_video_QHD_hdr_auto.so</CPPSnapshot>
</ChromatixName>
<!--Resolution mode-->
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_LOW,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_low.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_low.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_LOW,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_low.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_low.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_LOW">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_low.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_low.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PREVIEW_FRONT_DIM_HIGH,SNAPSHOT_FRONT_DIM_HIGH,VIDEO_FRONT_DIM_HIGH">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview_resolution_high.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview_high.so</CPPPreview>
<ISPVideo>libchromatix_s5k4e6xx_cc_video_resolution_high.so</ISPVideo>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video_high.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot_resolution_high.so</ISPSnapshot>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot_high.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="1" special_mode_mask="0">
<ISPPreview>libchromatix_s5k4e6xx_cc_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_cc_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_cc_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cc_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cc_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cc_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cc_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k4e6xx_cc_zsl_preview_ad5816g.so</A3Preview>
<A3Video>libchromatix_s5k4e6xx_cc_zsl_video_ad5816g.so</A3Video>
</ChromatixName>
</ResolutionChromatixInfo>
</ChromatixConfigurationRoot>

View file

@ -0,0 +1,154 @@
<!--
Copyright (c) 2015 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!--
CommonChromatixInfo:
CommonChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are common for all sensor modes.
ResolutionChromatixInfo:
ResolutionChromatixInfo is the information about chromatix needed for
various use cases.
Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
3A and SW PostProc.
Entries in this node are specific to sensor resolution.
ChromatixName:
Contains the list of chromatix names for all modules.
special_mode_mask:
It is the bit mask for special modes, which is used for
chromatix selection.
Special modes can be any mode that needs a special chromatix.
Ex:- scene mode, DZOOM mode, OIS capture mode, flash mode
This is applicable for CommonChromatixInfo and
ResolutionChromatixInfo.
special_mode_mask="0" means none of the special modes are
selected.
sensor_resolution_index:
It is the sensor resolution index for which chromatix libraries
will be choosen.
It is applicable only in ResolutionChromatixInfo.
ISPCommon :
Common tuning library name for ISP
ISPPreview :
Preview tuning library name for ISP
ISPSnapshot :
Snapshot tuning library name for ISP
CPPCommon :
Common tuning library name for CPP
CPPPreview :
Preview tuning library name for CPP
CPPSnapshot :
Snapshot tuning library name for CPP
CPPLiveshot :
Liveshot tuning library name for CPP
PostProc :
Tuning library name for postproc module
A3Preview :
Preview tuning library for 3A
A3Video :
Video tuning library for 3A
Order of Resolution Pick:
Assume the current sensor mode is "r" and special mode mask is "s".
Chromatix for a module and type is choosen in this order till we find a
valid chroamtix file name or else NULL is returned.
1) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "s".
2) From CommonChromatixInfo node for which special_mode_mask is "s".
3) From ResolutionChromatixInfo node for which sensor_resolution_index
is "r" and special_mode_mask is "0".
4) From CommonChromatixInfo node for which special_mode_mask is "0".
5) NULL is returned if we dont find in any of the above cases.
special_mode_mask values:
SENSOR_SPECIAL_MODE_NONE = 0,
SENSOR_SPECIAL_MODE_FLASH = 1,
SENSOR_SPECIAL_MODE_ZOOM_UPSCALE = 2,
SENSOR_SPECIAL_MODE_ZOOM_DOWNSCALE = 4,
SENSOR_SPECIAL_MODE_OIS_CAPTURE = 8,
-->
<ChromatixConfigurationRoot>
<CommonChromatixInfo>
<ChromatixName special_mode_mask="0">
<ISPCommon>libchromatix_s5k4e6xx_common.so</ISPCommon>
<PostProc>libchromatix_s5k4e6xx_postproc.so</PostProc>
</ChromatixName>
</CommonChromatixInfo>
<ResolutionChromatixInfo>
<ChromatixName sensor_resolution_index="0" special_mode_mask="0">
<ISPPreview>libchromatix_s5k4e6xx_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k4e6xx_zsl_preview_ad5816g.so</A3Preview>
<A3Video>libchromatix_s5k4e6xx_zsl_video_ad5816g.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="WIDE_SELFIE">
<ISPPreview>libchromatix_s5k4e6xx_preview_wide_selfie.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview_wide_selfie.so</CPPPreview>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="MULTIVIEW">
<ISPPreview>libchromatix_s5k4e6xx_preview_multiview.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview_multiview.so</CPPPreview>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="SMART_STAY">
<ISPPreview>libchromatix_s5k4e6xx_preview_smart_stay.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview_smart_stay.so</CPPPreview>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="PIP">
<ISPPreview>libchromatix_s5k4e6xx_preview_pip.so</ISPPreview>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview_pip.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cpp_preview_pip.so</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="HDR">
<ISPPreview>libchromatix_s5k4e6xx_preview_hdr.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_snapshot_hdr.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_video_hdr.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview_hdr.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cpp_snapshot_hdr.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cpp_video_hdr.so</CPPVideo>
</ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="HDR_AUTO">
<ISPPreview>libchromatix_s5k4e6xx_preview_hdr_auto.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_snapshot_hdr_auto.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_video_hdr_auto.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview_hdr_auto.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cpp_snapshot_hdr_auto.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cpp_video_hdr_auto.so</CPPVideo>
</ChromatixName>
<ChromatixName sensor_resolution_index="1" special_mode_mask="0">
<ISPPreview>libchromatix_s5k4e6xx_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k4e6xx_zsl_preview_ad5816g.so</A3Preview>
<A3Video>libchromatix_s5k4e6xx_zsl_video_ad5816g.so</A3Video>
</ChromatixName>
<ChromatixName sensor_resolution_index="2" special_mode_mask="0">
<ISPPreview>libchromatix_s5k4e6xx_preview.so</ISPPreview>
<ISPSnapshot>libchromatix_s5k4e6xx_snapshot.so</ISPSnapshot>
<ISPVideo>libchromatix_s5k4e6xx_video.so</ISPVideo>
<CPPPreview>libchromatix_s5k4e6xx_cpp_preview.so</CPPPreview>
<CPPSnapshot>libchromatix_s5k4e6xx_cpp_snapshot.so</CPPSnapshot>
<CPPVideo>libchromatix_s5k4e6xx_cpp_video.so</CPPVideo>
<CPPLiveshot>libchromatix_s5k4e6xx_cpp_liveshot.so</CPPLiveshot>
<A3Preview>libchromatix_s5k4e6xx_zsl_preview_ad5816g.so</A3Preview>
<A3Video>libchromatix_s5k4e6xx_zsl_video_ad5816g.so</A3Video>
</ChromatixName>
</ResolutionChromatixInfo>
</ChromatixConfigurationRoot>

View file

@ -70,7 +70,7 @@ function blob_fixup() {
"${PATCHELF}" --replace-needed "libprotobuf-cpp-lite.so" "libprotobuf-cpp-lite-v28.so" "${2}"
;;
vendor/lib/libmmcamera2_sensor_modules.so)
sed -i "s|/system/etc/firmware|/vendor/firmware\x0\x0\x0\x0|g" "${2}"
sed -i "s|/system/etc/firmware|/vendor/etc/firmware|g" "${2}"
;;
lib64/libpixelflinger.so)
"${PATCHELF}" --replace-needed "libcutils.so" "libcutils-v29.so" "${2}"

View file

@ -134,9 +134,14 @@ PRODUCT_PACKAGES += \
Snap
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/camera/msm8996_camera_heroq.xml:$(TARGET_COPY_OUT_VENDOR)/firmware/msm8996_camera_gts3.xml \
$(LOCAL_PATH)/camera/N05QL_s5k5e3yx_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/firmware/N05QL_s5k5e3yx_chromatix.xml \
$(LOCAL_PATH)/camera/W13QS_imx258_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/firmware/W13QS_imx258_chromatix.xml
$(LOCAL_PATH)/camera/msm8996_camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/msm8996_camera.xml \
$(LOCAL_PATH)/camera/C12QL_s5k2l1sx_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/C12QL_s5k2l1sx_chromatix.xml \
$(LOCAL_PATH)/camera/C12QS_imx260_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/C12QS_imx260_chromatix.xml \
$(LOCAL_PATH)/camera/s5k4e6xx_cc_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/s5k4e6xx_cc_chromatix.xml \
$(LOCAL_PATH)/camera/s5k2p2xx_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/s5k2p2xx_chromatix.xml \
$(LOCAL_PATH)/camera/D12QL_s5k2l1sx_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/D12QL_s5k2l1sx_chromatix.xml \
$(LOCAL_PATH)/camera/s5k4e6xx_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/s5k4e6xx_chromatix.xml \
$(LOCAL_PATH)/camera/D12QS_imx260_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/firmware/D12QS_imx260_chromatix.xml
# Charger
PRODUCT_PACKAGES += \

File diff suppressed because it is too large Load diff

View file

@ -16,11 +16,14 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := camera_cameraclient.cpp
LOCAL_SRC_FILES := \
camera_cameraclient.cpp \
DisplayEventReceiver.cpp
LOCAL_SHARED_LIBRARIES := libgui
LOCAL_MODULE := libshims_cameraclient
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_VENDOR_MODULE := true
include $(BUILD_SHARED_LIBRARY)
include $(BUILD_SHARED_LIBRARY)

View file

@ -0,0 +1,10 @@
#include <stdint.h>
#include <gui/ISurfaceComposer.h>
namespace android {
extern "C" void _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceENS1_13ConfigChangedE(void* vsyncSource, ISurfaceComposer::ConfigChanged configChanged);
extern "C" void _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceE(void *vsyncSource) {
_ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceENS1_13ConfigChangedE(vsyncSource, ISurfaceComposer::eConfigChangedSuppress);
}
}

View file

@ -135,4 +135,4 @@ namespace android
extern "C" void _ZN7android20DisplayEventReceiverC1Ev()
{
}
}