Camera Services: Difference between revisions

H2o2x (talk | contribs)
ElementW (talk | contribs)
m Add anchors
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__TOC__
{{Anchor|CAMC}}{{Anchor|cam:c}}
==cam:c (PORT_REG) ==
==cam:c (PORT_REG) ==
Same as [[#cam:u_.28PORT_USER.29|cam:u]]


{{Anchor|CAMS}}{{Anchor|cam:s}}
==cam:s (PORT_CAL) ==
==cam:s (PORT_CAL) ==
Same as [[#cam:u_.28PORT_USER.29|cam:u]]


{{Anchor|CAMQ}}{{Anchor|cam:q}}
==cam:q (PORT_QTM) ==
==cam:q (PORT_QTM) ==
This was added with New3DS.
This was added with New3DS.


{| class="wikitable" border="1"
|-
!  Command Header
!  Description
|-
| 0x00010040
| [[CAMU:StartCapture|StartCapture]]
|-
| 0x00020040
| [[CAMU:StopCapture|StopCapture]]
|-
| 0x0003004?
| [[CAMU:IsBusy|IsBusy]]
|-
| 0x00040040
| [[CAMU:ClearBuffer|ClearBuffer]]
|-
| 0x0005004?
| [[CAMU:GetVsyncInterruptEvent|GetVsyncInterruptEvent]]
|-
| 0x0006004?
| [[CAMU:GetBufferErrorInterruptEvent|GetBufferErrorInterruptEvent]]
|-
| 0x0007????
| [[CAMU:StartRecieving|StartRecieving]]
|-
| 0x00080040
| [[CAMU:IsFinishedRecieving|IsFinishedRecieving]]
|-
| 0x00090100
| [[CAMU:SetTransferLines|SetTransferLines]]
|-
| 0x000A008?
| [[CAMU:GetMaxLines|GetMaxLines]]
|-
| 0x000B0100
| [[CAMU:SetTransferBytes|SetTransferBytes]]
|-
| 0x000C004?
| [[CAMU:GetTransferBytes|GetTransferBytes]]
|-
| 0x000D008?
| [[CAMU:GetMaxBytes|GetMaxBytes]]
|-
| 0x000E0080
| [[CAMU:SetTrimming|SetTrimming]]
|-
| 0x000F004?
| [[CAMU:IsTrimming|IsTrimming]]
|-
| 0x00100140
| [[CAMU:SetTrimmingParams|SetTrimmingParams]]
|-
| 0x0011????
| [[CAMU:GetTrimmingParams|GetTrimmingParams]]
|-
| 0x00120140
| [[CAMU:SetTrimmingParamsCenter|SetTrimmingParamsCenter]]
|-
| 0x00130040
| [[CAMU:Activate|Activate]]
|-
| 0x00140080
| [[CAMU:SwitchContext|SwitchContext]]
|-
| 0x00150080
| [[CAMU:SetExposure|SetExposure]]
|-
| 0x00160080
| [[CAMU:SetWhiteBalance|SetWhiteBalance]]
|-
| 0x00170080
| [[CAMU:SetSharpness|SetSharpness]]
|-
| 0x00180080
| [[CAMU:SetAutoExposure|SetAutoExposure]]
|-
| 0x0019004?
| [[CAMU:IsAutoExposure|IsAutoExposure]]
|-
| 0x001A0080
| [[CAMU:SetAutoWhiteBalance|SetAutoWhiteBalance]]
|-
| 0x001B004?
| [[CAMU:IsAutoWhiteBalance|IsAutoWhiteBalance]]
|-
| 0x001C00C0
| [[CAMU:FlipImage|FlipImage]]
|-
| 0x001D020?
| [[CAMU:SetDetailSize|SetDetailSize]]
|-
| 0x001E00C0
| [[CAMU:SetSize|SetSize]]
|-
| 0x001F0080
| [[CAMU:SetFrameRate|SetFrameRate]]
|-
| 0x00200080
| [[CAMU:SetPhotoMode|SetPhotoMode]]
|-
| 0x002100C0
| [[CAMU:SetEffect|SetEffect]]
|-
| 0x00220080
| [[CAMU:SetContrast|SetContrast]]
|-
| 0x00230080
| [[CAMU:SetLensCorrection|SetLensCorrection]]
|-
| 0x002400C0
| [[CAMU:SetOutputFormat|SetOutputFormat]]
|-
| 0x0025014?
| [[CAMU:SetAutoExposureWindow|SetAutoExposureWindow]]
|-
| 0x0026014?
| [[CAMU:SetAutoWhiteBalanceWindow|SetAutoWhiteBalanceWindow]]
|-
| 0x00270080
| [[CAMU:SetNoiseFilter|SetNoiseFilter]]
|-
| 0x00280080
| [[CAMU:SyncronizeVsyncTiming|SyncronizeVsyncTiming]]
|-
| 0x0029????
| [[CAMU:GetLatestVsyncTiming|GetLatestVsyncTiming]]
|-
| 0x002A????
| [[CAMU:GetStereoCallibrationData|GetStereoCallibrationData]]
|-
| 0x002B????
| [[CAMU:SetPackageParameterWithoutContext|SetPackageParameterWithoutContext]]
|-
| 0x002C0080
| [[CAMU:SetPackageParameterWithContext|SetPackageParameterWithContext]]
|-
| 0x002D????
| [[CAMU:SetPackageParameterWithContextDetail|SetPackageParameterWithContextDetail]]
|-
| 0x002E???
| [[CAMU:GetSuitableY2RStandardCoeffecient|GetSuitableY2RStandardCoeffecient]]
|-
| 0x002F
| [[CAMU:PlayShutterSoundWithWave|PlayShutterSoundWithWave]]
|-
| 0x0030????
| [[CAMU:PlayShutterSound|GetShutterSound]]
|-
| 0x0031000?
| [[CAMU:DriverInitailize|DriverInitialize]]
|-
| 0x0032000?
| [[CAMU:DriverFinalize|DriverFinalize]]
|-
| 0x0033000?
| [[CAMU:GetActivatedCamera|GetActivatedCamera]]
|-
| 0x0034000?
| [[CAMU:GetSleepCamera|GetSleepCamera]]
|-
| 0x00350040
| [[CAMU:SetSleepCamera|SetSleepCamera]]
|-
| 0x00360040
| [[CAMU:SetBrightnessSyncronization|SetBrightnessSyncronization]]
|-
| 0x0037004?
| ???
|-
| 0x0038000?
| ???
|-
| 0x0039004?
| ???
|-
| 0x003A0080
| ???
|-
| 0x003B004?
| ???
|-
| 0x003C0080
| ???
|-
| 0x003D000?
| ???
|-
| 0x003E0000
| ???
|}
Most commands are same as cam:u, although, with different command headers since some commands which are available in cam:u do not exist in cam:q
{{Anchor|CAMU}}{{Anchor|cam:u}}
==cam:u (PORT_USER)==
==cam:u (PORT_USER)==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 13: Line 214:
|-
|-
| 0x00010040
| 0x00010040
|  
| [[CAMU:StartCapture|StartCapture]]
|-
| 0x00020040
| [[CAMU:StopCapture|StopCapture]]
|-
| 0x00030040
| [[CAMU:IsBusy|IsBusy]]
|-
|-
| 0x00040040
| 0x00040040
|  
| [[CAMU:ClearBuffer|ClearBuffer]]
|-
|-
| 0x00050040
| 0x00050040
|  
| [[CAMU:GetVsyncInterruptEvent|GetVsyncInterruptEvent]]
|-
|-
| 0x00060040
| 0x00060040
|  
| [[CAMU:GetBufferErrorInterruptEvent|GetBufferErrorInterruptEvent]]
|-
|-
| 0x00070102
| 0x00070102
|  
| [[CAMU:SetReceiving|SetReceiving]]
|-
| 0x00080040
| [[CAMU:IsFinishedReceiving|IsFinishedReceiving]]
|-
|-
| 0x00090100
| 0x00090100
|  
| [[CAMU:SetTransferLines|SetTransferLines]]
|-
|-
| 0x000A0080
| 0x000A0080
|  
| [[CAMU:GetMaxLines|GetMaxLines]]
|-
| 0x000B0100
| [[CAMU:SetTransferBytes|SetTransferBytes]]
|-
|-
| 0x000C0040
| 0x000C0040
|  
| [[CAMU:GetTransferBytes|GetTransferBytes]]
|-
| 0x000D0080
| [[CAMU:GetMaxBytes|GetMaxBytes]]
|-
|-
| 0x000E0080
| 0x000E0080
|  
| [[CAMU:SetTrimming|SetTrimming]]
|-
| 0x000F0040
| [[CAMU:IsTrimming|IsTrimming]]
|-
| 0x00100140
| [[CAMU:SetTrimmingParams|SetTrimmingParams]]
|-
| 0x00110040
| [[CAMU:GetTrimmingParams|GetTrimmingParams]]
|-
|-
| 0x00120140
| 0x00120140
|  
| [[CAMU:SetTrimmingParamsCenter|SetTrimmingParamsCenter]]
|-
|-
| 0x00130040
| 0x00130040
|  
| [[CAMU:Activate|Activate]]
|-
|-
| 0x00140080
| 0x00140080
|  
| [[CAMU:SwitchContext|SwitchContext]]
|-
| 0x00150080
| [[CAMU:SetExposure|SetExposure]]
|-
| 0x00160080
| [[CAMU:SetWhiteBalance|SetWhiteBalance]]
|-
| 0x00170080
| [[CAMU:SetWhiteBalanceWithoutBaseUp|SetWhiteBalanceWithoutBaseUp]]
|-
| 0x00180080
| [[CAMU:SetSharpness|SetSharpness]]
|-
| 0x00190080
| [[CAMU:SetAutoExposure|SetAutoExposure]]
|-
| 0x001A0040
| [[CAMU:IsAutoExposure|IsAutoExposure]]
|-
| 0x001B0080
| [[CAMU:SetAutoWhiteBalance|SetAutoWhiteBalance]]
|-
| 0x001C0040
| [[CAMU:IsAutoWhiteBalance|IsAutoWhiteBalance]]
|-
| 0x001D00C0
| [[CAMU:FlipImage|FlipImage]]
|-
|-
| 0x001E0200
| 0x001E0200
|  
| [[CAMU:SetDetailSize|SetDetailSize]]
|-
|-
| 0x001F00C0
| 0x001F00C0
|  
| [[CAMU:SetSize|SetSize]]
|-
|-
| 0x00200080
| 0x00200080
|  
| [[CAMU:SetFrameRate|SetFrameRate]]
|-
| 0x00210080
| [[CAMU:SetPhotoMode|SetPhotoMode]]
|-
| 0x002200C0
| [[CAMU:SetEffect|SetEffect]]
|-
|-
| 0x00230080
| 0x00230080
|  
| [[CAMU:SetContrast|SetContrast]]
|-
| 0x00240080
| [[CAMU:SetLensCorrection|SetLensCorrection]]
|-
| 0x002500C0
| [[CAMU:SetOutputFormat|SetOutputFormat]]
|-
| 0x00260140
| [[CAMU:SetAutoExposureWindow|SetAutoExposureWindow]]
|-
| 0x00270140
| [[CAMU:SetAutoWhiteBalanceWindow|SetAutoWhiteBalanceWindow]]
|-
| 0x00280080
| [[CAMU:SetNoiseFilter|SetNoiseFilter]]
|-
| 0x00290080
| [[CAMU:SynchronizeVsyncTiming|SynchronizeVsyncTiming]]
|-
| 0x002A0080
| [[CAMU:GetLatestVsyncTiming|GetLatestVsyncTiming]]
|-
| 0x002B0000
| [[CAMU:GetStereoCameraCalibrationData|GetStereoCameraCalibrationData]]
|-
| 0x002C0400
| [[CAMU:SetStereoCameraCalibrationData|SetStereoCameraCalibrationData]]
|-
| 0x002D00C0
| [[CAMU:WriteRegisterI2c|WriteRegisterI2c]]
|-
| 0x002E00C0
| [[CAMU:WriteMcuVariableI2c|WriteMcuVariableI2c]]
|-
| 0x002F0080
| [[CAMU:ReadRegisterI2cExclusive|ReadRegisterI2cExclusive]]
|-
| 0x00300080
| [[CAMU:ReadMcuVariableI2cExclusive|ReadMcuVariableI2cExclusive]]
|-
| 0x00310180
| [[CAMU:SetImageQualityCalibrationData|SetImageQualityCalibrationData]]
|-
| 0x00320000
| [[CAMU:GetImageQualityCalibrationData|GetImageQualityCalibrationData]]
|-
| 0x003302C0
| [[CAMU:SetPackageParameterWithoutContext|SetPackageParameterWithoutContext]]
|-
| 0x00340140
| [[CAMU:SetPackageParameterWithContext|SetPackageParameterWithContext]]
|-
| 0x003501C0
| [[CAMU:SetPackageParameterWithContextDetail|SetPackageParameterWithContextDetail]]
|-
| 0x00360000
| [[CAMU:GetSuitableY2rStandardCoefficient|GetSuitableY2rStandardCoefficient]]
|-
| 0x00370202
| [[CAMU:PlayShutterSoundWithWave|PlayShutterSoundWithWave]]
|-
| 0x00380040
| [[CAMU:PlayShutterSound|PlayShutterSound]]
|-
|-
| 0x00390000
| 0x00390000
|  
| [[CAMU:DriverInitialize|DriverInitialize]]
|-
|-
| 0x003A0000
| 0x003A0000
|  
| [[CAMU:DriverFinalize|DriverFinalize]]
|-
| 0x003B0000
| [[CAMU:GetActivatedCamera|GetActivatedCamera]]
|-
| 0x003C0000
| [[CAMU:GetSleepCamera|GetSleepCamera]]
|-
| 0x003D0040
| [[CAMU:SetSleepCamera|SetSleepCamera]]
|-
| 0x003E0040
| [[CAMU:SetBrightnessSynchronization|SetBrightnessSynchronization]]
|-
| 0x003F0040
| Stubbed, always returns 0
|-
| 0x004000C0
| ???
|-
| 0x00410040
| Stubbed, returns D8A053EA if flag is not 1
|-
| 0x00420040
| ???
|-
| 0x00430000
| Stubbed, returns D8A053EA if flag is not 1
|-
| 0x00440000
| Stubbed, returns D8A053EA if flag is not 1
|}
 
===Port===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| PORT_NONE
| 0x0
|-
| PORT_CAM1
| 0x1 << 0x0
|-
| PORT_CAM2
| 0x1 << 0x1
|-
| PORT_BOTH
| PORT_CAM1 <nowiki>|</nowiki> PORT_CAM2
|}
|}


===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 <nowiki>|</nowiki> SELECT_IN1
|-
| SELECT_OUT1_OUT2
| SELECT_OUT1 <nowiki>|</nowiki> SELECT_OUT2
|-
| SELECT_IN1_OUT2
| SELECT_IN1 <nowiki>|</nowiki> SELECT_OUT2
|-
| SELECT_ALL     
| SELECT_OUT1 <nowiki>|</nowiki> SELECT_IN1 <nowiki>|</nowiki> SELECT_OUT2
|}
===Context===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| CONTEXT_NONE
| 0x0
|-
| CONTEXT_A 
| 0x1 << 0x0
|-
| CONTEXT_B 
| 0x1 << 0x1
|-
| CONTEXT_BOTH
| CONTEXT_A <nowiki>|</nowiki> CONTEXT_B
|}
===Flip===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| FLIP_NONE     
| 0x0
|-
| FLIP_HORIZONTAL
| 0x1
|-
| FLIP_VERTICAL 
| 0x2
|-
| FLIP_REVERSE 
| 0x3
|}
===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
|}
===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
|}
===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
|}
===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
|}
===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
|}
===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
|}
===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
|}
===OutputFormat===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| OUTPUT_YUV_422
| 0x0
|-
| OUTPUT_RGB_565
| 0x1
|}
===ShutterSoundType===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| SHUTTER_SOUND_TYPE_NORMAL 
| 0x0
|-
| SHUTTER_SOUND_TYPE_MOVIE   
| 0x1
|-
| SHUTTER_SOUND_TYPE_MOVIE_END
| 0x2
|}
===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
|}
===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
|}
===PackageParameterCameraSelect===
{| class="wikitable" border="1"
!  Type
!  Field
|-
| u8
| [[Camera_Services#CameraSelect|CameraSelect]] camera
|-
| s8
| exposure
|-
| u8
| [[Camera_Services#WhiteBalance|WhiteBalance]] whiteBalance
|-
| s8
| sharpness
|-
| bool
| autoExposureOn
|-
| bool
| autoWhiteBalanceOn
|-
| u8
| [[Camera_Services#FrameRate|FrameRate]] frameRate
|-
| u8
| [[Camera_Services#PhotoMode|PhotoMode]] photoMode
|-
| u8
| contrast
|-
| u8
| [[Camera_Services#LensCorrection|LensCorrection]] lensCorrection
|-
| bool
| noiseFilterOn
|-
| u8
| padding
|-
| s16
| autoExposureWindowX
|-
| s16
| autoExposureWindowY
|-
| s16
| autoExposureWindowWidth
|-
| s16
| autoExposureWindowHeight
|-
| s16
| autoWhiteBalanceWindowX
|-
| s16
| autoWhiteBalanceWindowY
|-
| s16
| autoWhiteBalanceWindowWidth
|-
| s16
| autoWhiteBalanceWindowHeight
|}
===PackageParameterContext===
{| class="wikitable" border="1"
!  Type
!  Field
|-
| u8
| [[Camera_Services#CameraSelect|CameraSelect]] camera
|-
| u8
| [[Camera_Services#Context|Context]] context
|-
| u8
| [[Camera_Services#Flip|Flip]] flip
|-
| u8
| [[Camera_Services#Effect|Effect]] effect
|-
| u8
| [[Camera_Services#Size|Size]] size
|}
===PackageParameterContextDetail===
{| class="wikitable" border="1"
!  Type
!  Field
|-
| u8
| [[Camera_Services#CameraSelect|CameraSelect]] camera
|-
| u8
| [[Camera_Services#Context|Context]] context
|-
| u8
| [[Camera_Services#Flip|Flip]] flip
|-
| u8
| [[Camera_Services#Effect|Effect]] effect
|-
| s16
| width
|-
| s16
| height
|-
| s16
| cropX0
|-
| s16
| cropY0
|-
| s16
| cropX1
|-
| s16
| cropY1
|}
{{Anchor|Y2R}}{{Anchor|Y2RU}}{{Anchor|y2r:u}}
== y2r:u ==
== y2r:u ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 74: Line 1,006:
|-
|-
| 0x00010040
| 0x00010040
| SetInputFormat(InputFormat)
| [[Y2R:SetInputFormat|SetInputFormat]]
|-
|-
| 0x0002...
| 0x00020000
| GetInputFormat()
| [[Y2R:GetInputFormat|GetInputFormat]]
|-
|-
| 0x00030040
| 0x00030040
| SetOutputFormat(OutputFormat)
| [[Y2R:SetOutputFormat|SetOutputFormat]]
|-
|-
| 0x0004...
| 0x00040000
| GetOutputFormat()
| [[Y2R:GetOutputFormat|GetOutputFormat]]
|-
|-
| 0x00050040
| 0x00050040
| SetRotation(Rotation)
| [[Y2R:SetRotation|SetRotation]]
|-
|-
| 0x0006...
| 0x00060000
| GetRotation()
| [[Y2R:GetRotation|GetRotation]]
|-
|-
| 0x00070040
| 0x00070040
| SetBlockAlignment(BlockAlignment)
| [[Y2R:SetBlockAlignment|SetBlockAlignment]]
|-
|-
| 0x0008...
| 0x00080000
| GetBlockAlignment()
| [[Y2R:GetBlockAlignment|GetBlockAlignment]]
|-
|-
| 0x0009...
| 0x00090040
| SetCntBit16(Value)
| [[Y2R:SetSpacialDithering|SetSpacialDithering]]
|-
|-
| 0x000A...
| 0x000A0000
| GetCntBit16()
| [[Y2R:GetSpacialDithering|GetSpacialDithering]]
|-
|-
| 0x000B...
| 0x000B0040
| SetCntBit17(Value)
| [[Y2R:SetTemporalDithering|SetTemporalDithering]]
|-
|-
| 0x000C...
| 0x000C0000
| GetCntBit17()
| [[Y2R:GetTemporalDithering|GetTemporalDithering]]
|-
|-
| 0x000D0040
| 0x000D0040
| SetTransferEndInterrupt(bool)
| [[Y2R:SetTransferEndInterrupt|SetTransferEndInterrupt]]
|-
|-
| 0x000E...
| 0x000E0000
| GetTransferEndInterrupt()
| [[Y2R:GetTransferEndInterrupt|GetTransferEndInterrupt]]
|-
|-
| 0x000F0000
| 0x000F0000
| GetTransferEndEvent(Handle*)
| [[Y2R:GetTransferEndEvent|GetTransferEndEvent]]
|-
|-
| 0x00100102
| 0x00100102
Line 128: Line 1,060:
|-
|-
| 0x00130102
| 0x00130102
| [[Y2R:SetSendingYUYV|SetSendingYUYV]]
| [[Y2R:SetSendingYuv|SetSendingYuv]]
|-
|-
| 0x00140000
| 0x00140000
| IsDoneSendingYUYV(bool* state)
| [[Y2R:IsFinishedSendingYuv|IsFinishedSendingYuv]]
|-
|-
| 0x00150000
| 0x00150000
| IsDoneSendingY(bool* state)
| [[Y2R:IsFinishedSendingY|IsFinishedSendingY]]
|-
|-
| 0x00160000
| 0x00160000
| IsDoneSendingU(bool* state)
| [[Y2R:IsFinishedSendingU|IsFinishedSendingU]]
|-
|-
| 0x00170000
| 0x00170000
| IsDoneSendingV(bool* state)
| [[Y2R:IsFinishedSendingV|IsFinishedSendingV]]
|-
|-
| 0x00180102
| 0x00180102
| SetReceiving(unsigned int pDst, unsigned int imageSize, short transferUnit, short transferStride, 0, Handle dstProcess).
| [[Y2R:SetReceiving|SetReceiving]]
|-
|-
| 0x00190000
| 0x00190000
| IsDoneReceiving(bool* state)
| [[Y2R:IsFinishedReceiving|IsFinishedReceiving]]
|-
|-
| 0x001A0040
| 0x001A0040
| SetInputLineWidth(short)
| [[Y2R:SetInputLineWidth|SetInputLineWidth]]
|-
|-
| 0x001B...
| 0x001B0000
| GetInputLineWidth()
| [[Y2R:GetInputLineWidth|GetInputLineWidth]]
|-
|-
| 0x001C0040
| 0x001C0040
| SetInputLines(short)
| [[Y2R:SetInputLines|SetInputLines]]
|-
|-
| 0x001D...
| 0x001D0000
| GetInputLines()
| [[Y2R:GetInputLines|GetInputLines]]
|-
|-
| 0x001E....
| 0x001E0100
| SetCoefficient(0x10-byte CoefficientStruct)
| [[Y2R:SetCoefficientParams|SetCoefficientParams]]
|-
|-
| 0x001F....
| 0x001F0000
| GetCoefficient()
| [[Y2R:GetCoefficientParams|GetCoefficientParams]]
|-
|-
| 0x00200040
| 0x00200040
| SetStandardCoefficient(StandardCoefficient)
| [[Y2R:SetStandardCoefficient|SetStandardCoefficient]]
This command is equivalent to SetCoefficient(GenerateStandardCoefficient(StandardCoefficient)).
|-
|-
| 0x0021....
| 0x00210040
| GenerateStandardCoefficient(StandardCoefficient)
| [[Y2R:GetStandardCoefficientParams|GetStandardCoefficientParams]]
|-
|-
| 0x00220040
| 0x00220040
| SetAlpha(short)
| [[Y2R:SetAlpha|SetAlpha]]
|-
|-
| 0x0023....
| 0x00230000
| GetAlpha()
| [[Y2R:GetAlpha|GetAlpha]]
|-
|-
| 0x0024....
| 0x00240200
| SetUnknownParams(0x20 bytes UnknownParamBlock)
| [[Y2R:SetDitheringWeightParams|SetDitheringWeightParams]]
|-
|-
| 0x0025....
| 0x00250000
| GetUnknownParams
| [[Y2R:GetDitheringWeightParams|GetDitheringWeightParams]]
|-
|-
| 0x00260000
| 0x00260000
| StartConversion
| [[Y2R:StartConversion|StartConversion]]
|-
|-
| 0x00270000
| 0x00270000
| StopConversion
| [[Y2R:StopConversion|StopConversion]]
|-
|-
| 0x00280000
| 0x00280000
| IsBusyConversion(bool * state)
| [[Y2R:IsBusyConversion|IsBusyConversion]]
|-
|-
| 0x002901C0
| 0x002901C0
| [[Y2R:SetConversionParams|SetConversionParams]]
| [[Y2R:SetPackageParameter|SetPackageParameter]]
|-
|-
| 0x002A0000
| 0x002A0000
| PingProcess(unsigned char * connectedNumber)
| [[Y2R:PingProcess|PingProcess]]
|-
|-
| 0x002B0000
| 0x002B0000
| DriverInitialize
| [[Y2R:DriverInitialize|DriverInitialize]]
|-
|-
| 0x002C0000
| 0x002C0000
| DriverFinalize
| [[Y2R:DriverFinalize|DriverFinalize]]
|-
|-
| 0x002D....
| 0x002D0000
| [[Y2R:GetConversionParams|GetConversionParams]]
| [[Y2R:GetPackageParameter|GetPackageParameter]]
|}
|}


 
===InputFormat===
'''InputFormat'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 233: Line 1,163:
|}
|}


 
===OutputFormat===
'''OutputFormat'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 253: Line 1,182:
|}
|}


 
===Rotation===
'''Rotation'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 273: Line 1,201:
|}
|}


 
===BlockAlignment===
'''BlockAlignment'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 290: Line 1,217:
|}
|}


===CoefficientParams===
{| class="wikitable" border="1"
!  Type
!  Field
|-
| u16
| Y_A
|-
| u16
| R_V
|-
| u16
| G_V
|-
| u16
| G_U
|-
| u16
| B_U
|-
| u16
| R_Offset
|-
| u16
| G_Offset
|-
| u16
| B_Offset
|}


'''StandardCoefficient'''
===StandardCoefficient===
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 308: Line 1,264:
| COEFFICIENT_ITU_R_BT_709_SCALING
| COEFFICIENT_ITU_R_BT_709_SCALING
| 0x3
| 0x3
|}
===DitheringWeightParams===
{| class="wikitable" border="1"
!  Type
!  Field
|-
| u16
| w0_xEven_yEven
|-
| u16
| w0_xOdd_yEven
|-
| u16
| w0_xEven_yOdd
|-
| u16
| w0_xOdd_yOdd
|-
| u16
| w1_xEven_yEven
|-
| u16
| w1_xOdd_yEven
|-
| u16
| w1_xEven_yOdd
|-
|-
| COEFFICIENT_MAX
| u16
| 0x4
| w1_xOdd_yOdd
|-
| u16
| w2_xEven_yEven
|-
| u16
| w2_xOdd_yEven
|-
| u16
| w2_xEven_yOdd
|-
| u16
| w2_xOdd_yOdd
|-
| u16
| w3_xEven_yEven
|-
| u16
| w3_xOdd_yEven
|-
| u16
| w3_xEven_yOdd
|-
| u16
| w3_xOdd_yOdd
|}
 
===PackageParameter===
{| class="wikitable" border="1"
!  Type
!  Field
|-
| u8
| [[Camera_Services#InputFormat|InputFormat]] inputFormat
|-
| u8
| [[Camera_Services#OutputFormat_2|OutputFormat]] outputFormat
|-
| u8
| [[Camera_Services#Rotation|Rotation]] rotation
|-
| u8
| [[Camera_Services#BlockAlignment|BlockAlignment]] blockAlignment
|-
| s16
| inputLineWidth
|-
| s16
| inputLines
|-
| u8
| [[Camera_Services#StandardCoefficient|StandardCoefficient]] standardCoefficient
|-
| u8
| padding
|-
| s16
| alpha
|}
|}
[[Category:Services]]