Camera Services: Difference between revisions

H2o2x (talk | contribs)
Steveice10 (talk | contribs)
Initial cam:u docs.
Line 13: Line 13:
|-
|-
| 0x00010040
| 0x00010040
|  
| StartCapture(Port port)
|-
| 0x00020040
| StopCapture(Port port)
|-
| 0x00030040
| IsBusy(bool* busy, Port port)
|-
|-
| 0x00040040
| 0x00040040
|  
| ClearBuffer(Port port)
|-
|-
| 0x00050040
| 0x00050040
|  
| GetVsyncInterruptEvent(Handle* event, Port port)
|-
|-
| 0x00060040
| 0x00060040
|  
| GetBufferErrorInterruptEvent(Handle* event, Port port)
|-
|-
| 0x00070102
| 0x00070102
|  
| SetReceiving(Handle* event, void* dst, Port port, u32 imageSize, s16 transferUnit)
|-
| 0x00080040
| IsFinishedReceiving(bool* finishedReceiving, Port port)
|-
|-
| 0x00090100
| 0x00090100
|  
| SetTransferLines(Port port, s16 lines, s16 width, s16 height)
|-
|-
| 0x000A0080
| 0x000A0080
|  
| GetMaxLines(s16* maxLines, s16 width, s16 height)
|-
| 0x000B0100
| SetTransferBytes(Port port, u32 bytes, s16 width, s16 height)
|-
|-
| 0x000C0040
| 0x000C0040
|  
| GetTransferBytes(u32* transferBytes, Port port)
|-
| 0x000D0080
| GetMaxBytes(u32* maxBytes, s16 width, s16 height)
|-
|-
| 0x000E0080
| 0x000E0080
|  
| SetTrimming(Port port, bool trimming)
|-
| 0x000F0040
| IsTrimming(bool* trimming, Port port)
|-
| 0x00100140
| SetTrimmingParams(Port port, s16 xStart, s16 yStart, s16 xEnd, s16 yEnd)
|-
| 0x00110040
| GetTrimmingParams(s16* xStart, s16* yStart, s16* xEnd, s16* yEnd, Port port)
|-
|-
| 0x00120140
| 0x00120140
|  
| SetTrimmingParamsCenter(Port port, s16 trimWidth, s16 trimHeight, s16 camWidth, s16 camHeight)
|-
|-
| 0x00130040
| 0x00130040
|  
| Activate(CameraSelect select)
|-
|-
| 0x00140080
| 0x00140080
|  
| SwitchContext(CameraSelect select, Context context)
|-
| 0x00150080
| SetExposure(CameraSelect select, s8 exposure)
|-
| 0x00160080
| SetWhiteBalance(CameraSelect select, WhiteBalance whiteBalance)
|-
| 0x00170080
| SetWhiteBalanceWithoutBaseUp(CameraSelect select, WhiteBalance whiteBalance)
|-
| 0x00180080
| SetSharpness(CameraSelect select, s8 sharpness)
|-
| 0x00190080
| SetAutoExposure(CameraSelect select, bool autoExposure)
|-
| 0x001A0040
| IsAutoExposure(bool* autoExposure, CameraSelect select)
|-
| 0x001B0080
| SetAutoWhiteBalance(CameraSelect select, bool autoWhiteBalance)
|-
| 0x001C0040
| IsAutoWhiteBalance(bool* autoWhiteBalance, CameraSelect select)
|-
| 0x001D00C0
| FlipImage(CameraSelect select, Flip flip, Context context)
|-
|-
| 0x001E0200
| 0x001E0200
|  
| SetDetailSize(CameraSelect select, s16 width, s16 height, s16 cropX0, s16 cropY0, s16 cropX1, s16 cropY1, Context context)
|-
|-
| 0x001F00C0
| 0x001F00C0
|  
| SetSize(CameraSelect select, Size size, Context context)
|-
|-
| 0x00200080
| 0x00200080
|  
| SetFrameRate(CameraSelect select, FrameRate frameRate)
|-
| 0x00210080
| SetPhotoMode(CameraSelect select, PhotoMode photoMode)
|-
| 0x002200C0
| SetEffect(CameraSelect select, Effect effect, Context context)
|-
|-
| 0x00230080
| 0x00230080
|  
| SetContrast(CameraSelect select, Contrast contrast)
|-
| 0x00240080
| SetLensCorrection(CameraSelect select, LensCorrection lensCorrection)
|-
| 0x002500C0
| SetOutputFormat(CameraSelect select, OutputFormat format, Context context)
|-
| 0x00260140
| SetAutoExposureWindow(CameraSelect select, s16 x, s16 y, s16 width, s16 height)
|-
| 0x00270140
| SetAutoWhiteBalanceWindow(CameraSelect select, s16 x, s16 y, s16 width, s16 height)
|-
| 0x00280080
| SetNoiseFilter(CameraSelect select, bool noiseFilter)
|-
| 0x00290080
| SynchronizeVsyncTiming(CameraSelect select1, CameraSelect select2)
|-
| 0x002A0080
| GetLatestVsyncTiming(s64* timing, Port port, u32 past)
|-
| 0x002B0000
| GetStereoCameraCalibrationData(StereoCameraCalibrationData* data)
|-
| 0x002C0400
| SetStereoCameraCalibrationData(StereoCameraCalibrationData data)
|-
| 0x002D00C0
| WriteRegisterI2c(CameraSelect select, u16 addr, u16 data)
|-
| 0x002E00C0
| WriteMcuVariableI2c(CameraSelect select, u16 addr, u16 data)
|-
| 0x002F0080
| ReadRegisterI2cExclusive(u16* data, CameraSelect select, u16 addr)
|-
| 0x00300080
| ReadMcuVariableI2cExclusive(u16* data, CameraSelect select, u16 addr)
|-
| 0x00310180
| SetImageQualityCalibrationData(ImageQualityCalibrationData data)
|-
| 0x00320000
| GetImageQualityCalibrationData(ImageQualityCalibrationData* data)
|-
| 0x003302C0
| SetPackageParameterWithoutContext(PackageParameterCameraSelect param)
|-
| 0x00340140
| SetPackageParameterWithContext(PackageParameterContext param)
|-
| 0x003501C0
| SetPackageParameterWithContextDetail(PackageParameterContextDetail param)
|-
| 0x00360000
| GetSuitableY2rStandardCoefficient(StandardCoefficient* coefficient)
|-
| 0x00370202
| PlayShutterSoundWithWave(u8* waveData, s32 size, ChannelParam param, OptionInfo info)
|-
| 0x00380040
| PlayShutterSound(ShutterSoundType sound)
|-
|-
| 0x00390000
| 0x00390000
|  
| DriverInitialize()
|-
|-
| 0x003A0000
| 0x003A0000
|  
| DriverFinalize()
|-
| 0x003B0000
| GetActivatedCamera(CameraSelect* select)
|-
| 0x003C0000
| GetSleepCamera(CameraSelect* select)
|-
| 0x003D0040
| SetSleepCamera(CameraSelect select)
|-
| 0x003E0040
| SetBrightnessSynchronization(bool brightnessSynchronization)
|}
 
 
'''enum Port'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| PORT_NONE
| 0x0
|-
| PORT_CAM1
| 0x1 << 0x0
|-
| PORT_CAM2
| 0x1 << 0x1
|-
| PORT_BOTH
| |PORT_CAM1 | PORT_CAM2
|}
 
 
'''enum CameraSelect'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| SELECT_NONE
| 0x0
|-
| SELECT_OUT1
| 0x1 << 0x0
|-
| SELECT_IN1
| 0x1 << 0x1
|-
| SELECT_OUT2
| 0x1 << 0x2
|-
| SELECT_IN1_OUT1
| |SELECT_OUT1 | SELECT_IN1
|-
| SELECT_OUT1_OUT2
| |SELECT_OUT1 | SELECT_OUT2
|-
| SELECT_IN1_OUT2
| |SELECT_IN1 | SELECT_OUT2
|-
| SELECT_ALL     
| |SELECT_OUT1 | SELECT_IN1 | SELECT_OUT2
|}
 
 
'''enum Context'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| CONTEXT_NONE
| 0x0
|-
| CONTEXT_A 
| 0x1 << 0x0
|-
| CONTEXT_B 
| 0x1 << 0x1
|-
| CONTEXT_BOTH
| |CONTEXT_A | CONTEXT_B
|}
 
 
'''enum Flip'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| FLIP_NONE     
| 0x0
|-
| FLIP_HORIZONTAL
| 0x1
|-
| FLIP_VERTICAL 
| 0x2
|-
| FLIP_REVERSE 
| 0x3
|}
 
 
'''enum Size'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| SIZE_VGA       
| 0x0
|-
| SIZE_QVGA     
| 0x1
|-
| SIZE_QQVGA     
| 0x2
|-
| SIZE_CIF       
| 0x3
|-
| SIZE_QCIF     
| 0x4
|-
| SIZE_DS_LCD   
| 0x5
|-
| SIZE_DS_LCDx4 
| 0x6
|-
| SIZE_CTR_TOP_LCD
| 0x7
|-
| SIZE_CTR_BOTTOM_LCD
| SIZE_QVGA
|}
 
 
'''enum FrameRate'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| FRAME_RATE_15     
| 0x0
|-
| FRAME_RATE_15_TO_5
| 0x1
|-
| FRAME_RATE_15_TO_2
| 0x2
|-
| FRAME_RATE_10     
| 0x3
|-
| FRAME_RATE_8_5   
| 0x4
|-
| FRAME_RATE_5     
| 0x5
|-
| FRAME_RATE_20     
| 0x6
|-
| FRAME_RATE_20_TO_5
| 0x7
|-
| FRAME_RATE_30     
| 0x8
|-
| FRAME_RATE_30_TO_5
| 0x9
|-
| FRAME_RATE_15_TO_10
| 0xA
|-
| FRAME_RATE_20_TO_10
| 0xB
|-
| FRAME_RATE_30_TO_10
| 0xC
|}
 
 
'''enum WhiteBalance'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| WHITE_BALANCE_AUTO
| 0x0
|-
| WHITE_BALANCE_3200K
| 0x1
|-
| WHITE_BALANCE_4150K
| 0x2
|-
| WHITE_BALANCE_5200K
| 0x3
|-
| WHITE_BALANCE_6000K
| 0x4
|-
| WHITE_BALANCE_7000K
| 0x5
|-
| WHITE_BALANCE_MAX 
| 0x6
|-
| WHITE_BALANCE_NORMAL               
| WHITE_BALANCE_AUTO
|-
| WHITE_BALANCE_TUNGSTEN             
| WHITE_BALANCE_3200K
|-
| WHITE_BALANCE_WHITE_FLUORESCENT_LIGHT
| WHITE_BALANCE_4150K
|-
| WHITE_BALANCE_DAYLIGHT             
| WHITE_BALANCE_5200K
|-
| WHITE_BALANCE_CLOUDY               
| WHITE_BALANCE_6000K
|-
| WHITE_BALANCE_HORIZON               
| WHITE_BALANCE_6000K
|-
| WHITE_BALANCE_SHADE                 
| WHITE_BALANCE_7000K
|}
 
 
'''enum PhotoMode'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| PHOTO_MODE_NORMAL 
| 0x0
|-
| PHOTO_MODE_PORTRAIT
| 0x1
|-
| PHOTO_MODE_LANDSCAPE
| 0x2
|-
| PHOTO_MODE_NIGHTVIEW
| 0x3
|-
| PHOTO_MODE_LETTER 
| 0x4
|}
 
 
'''enum Effect'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| EFFECT_NONE   
| 0x0
|-
| EFFECT_MONO   
| 0x1
|-
| EFFECT_SEPIA 
| 0x2
|-
| EFFECT_NEGATIVE
| 0x3
|-
| EFFECT_NEGAFILM
| 0x4
|-
| EFFECT_SEPIA01
| 0x5
|}
 
 
'''enum Contrast'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| CONTRAST_PATTERN_01
| 0x0
|-
| CONTRAST_PATTERN_02
| 0x1
|-
| CONTRAST_PATTERN_03
| 0x2
|-
| CONTRAST_PATTERN_04
| 0x3
|-
| CONTRAST_PATTERN_05
| 0x4
|-
| CONTRAST_PATTERN_06
| 0x5
|-
| CONTRAST_PATTERN_07
| 0x6
|-
| CONTRAST_PATTERN_08
| 0x7
|-
| CONTRAST_PATTERN_09
| 0x8
|-
| CONTRAST_PATTERN_10
| 0x9
|-
| CONTRAST_PATTERN_11
| 0xA
|-
| CONTRAST_LOW 
| CONTRAST_PATTERN_05
|-
| CONTRAST_NORMAL
| CONTRAST_PATTERN_06
|-
| CONTRAST_HIGH 
| CONTRAST_PATTERN_07
|}
 
 
'''enum LensCorrection'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| LENS_CORRECTION_OFF 
| 0x0
|-
| LENS_CORRECTION_ON_70
| 0x1
|-
| LENS_CORRECTION_ON_90
| 0x2
|-
| LENS_CORRECTION_DARK 
| LENS_CORRECTION_OFF
|-
| LENS_CORRECTION_NORMAL
| LENS_CORRECTION_ON_70
|-
| LENS_CORRECTION_BRIGHT
| LENS_CORRECTION_ON_90
|}
 
 
'''enum OutputFormat'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| OUTPUT_YUV_422
| 0x0
|-
| OUTPUT_RGB_565
| 0x1
|}
 
 
'''enum ShutterSoundType'''
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| SHUTTER_SOUND_TYPE_NORMAL 
| 0x0
|-
| SHUTTER_SOUND_TYPE_MOVIE   
| 0x1
|-
| SHUTTER_SOUND_TYPE_MOVIE_END
| 0x2
|}
 
 
'''struct ImageQualityCalibrationData'''
{| class="wikitable" border="1"
!  Type
!  Field
|-
| s16
| aeBaseTarget
|-
| s16
| kRL
|-
| s16
| kGL
|-
| s16
| kBL
|-
| s16
| ccmPosition
|-
| u16
| awbCcmL9Right
|-
| u16
| awbCcmL9Left
|-
| u16
| awbCcmL10Right
|-
| u16
| awbCcmL10Left
|-
| u16
| awbX0Right
|-
| u16
| awbX0Left
|}
 
 
'''struct StereoCameraCalibrationData'''
{| class="wikitable" border="1"
!  Type
!  Field
|-
| bool
| isValidRotationXY
|-
| bool[3]
| reservedFlag
|-
| float
| scale
|-
| float
| rotationZ
|-
| float
| translationX
|-
| float
| translationY
|-
| float
| rotationX
|-
| float
| rotationY
|-
| float
| angleOfViewRight
|-
| float
| angleOfViewLeft
|-
| float
| distanceToChart
|-
| float
| distanceCameras
|-
| s16
| imageWidth
|-
| s16
| imageHeight
|-
| u8[16]
| reserved
|}
 
 
'''struct PackageParameterCameraSelect'''
{| class="wikitable" border="1"
!  Type
!  Field
|-
| enum CameraSelect : 8
| camera
|-
| s8
| exposure
|-
| enum WhiteBalance : 8
| whiteBalance
|-
| s8
| sharpness
|-
| bool
| autoExposureOn
|-
| bool
| autoWhiteBalanceOn
|-
| enum FrameRate : 8
| frameRate
|-
| enum PhotoMode : 8
| photoMode
|-
| u8
| contrast
|-
| enum LensCorrection : 8
| lensCorrection
|-
| bool
| noiseFilterOn
|-
| u8
| padding
|-
| s16
| autoExposureWindowX
|-
| s16
| autoExposureWindowY
|-
| s16
| autoExposureWindowWidth
|-
| s16
| autoExposureWindowHeight
|-
| s16
| autoWhiteBalanceWindowX
|-
| s16
| autoWhiteBalanceWindowY
|-
| s16
| autoWhiteBalanceWindowWidth
|-
| s16
| autoWhiteBalanceWindowHeight
|}
 
 
'''struct PackageParameterContext'''
{| class="wikitable" border="1"
!  Type
!  Field
|-
| enum CameraSelect : 8
| camera
|-
| enum Context : 8
| context
|-
| enum Flip : 8
| flip
|-
| enum Effect : 8
| effect
|-
| enum Size : 8
| size
|}
 
 
'''struct PackageParameterContextDetail'''
{| class="wikitable" border="1"
!  Type
!  Field
|-
| enum CameraSelect : 8
| camera
|-
| enum Context : 8
| context
|-
| enum Flip : 8
| flip
|-
| enum Effect : 8
| effect
|-
| s16
| width
|-
| s16
| height
|-
| s16
| cropX0
|-
| s16
| cropY0
|-
| s16
| cropX1
|-
| s16
| cropY1
|}
|}