Camera Services: Difference between revisions

Steveice10 (talk | contribs)
Initial cam:u docs.
ElementW (talk | contribs)
m Add anchors
 
(10 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
| StartCapture(Port port)
| [[CAMU:StartCapture|StartCapture]]
|-
|-
| 0x00020040
| 0x00020040
| StopCapture(Port port)
| [[CAMU:StopCapture|StopCapture]]
|-
|-
| 0x00030040
| 0x00030040
| IsBusy(bool* busy, Port port)
| [[CAMU:IsBusy|IsBusy]]
|-
|-
| 0x00040040
| 0x00040040
| ClearBuffer(Port port)
| [[CAMU:ClearBuffer|ClearBuffer]]
|-
|-
| 0x00050040
| 0x00050040
| GetVsyncInterruptEvent(Handle* event, Port port)
| [[CAMU:GetVsyncInterruptEvent|GetVsyncInterruptEvent]]
|-
|-
| 0x00060040
| 0x00060040
| GetBufferErrorInterruptEvent(Handle* event, Port port)
| [[CAMU:GetBufferErrorInterruptEvent|GetBufferErrorInterruptEvent]]
|-
|-
| 0x00070102
| 0x00070102
| SetReceiving(Handle* event, void* dst, Port port, u32 imageSize, s16 transferUnit)
| [[CAMU:SetReceiving|SetReceiving]]
|-
|-
| 0x00080040
| 0x00080040
| IsFinishedReceiving(bool* finishedReceiving, Port port)
| [[CAMU:IsFinishedReceiving|IsFinishedReceiving]]
|-
|-
| 0x00090100
| 0x00090100
| SetTransferLines(Port port, s16 lines, s16 width, s16 height)
| [[CAMU:SetTransferLines|SetTransferLines]]
|-
|-
| 0x000A0080
| 0x000A0080
| GetMaxLines(s16* maxLines, s16 width, s16 height)
| [[CAMU:GetMaxLines|GetMaxLines]]
|-
|-
| 0x000B0100
| 0x000B0100
| SetTransferBytes(Port port, u32 bytes, s16 width, s16 height)
| [[CAMU:SetTransferBytes|SetTransferBytes]]
|-
|-
| 0x000C0040
| 0x000C0040
| GetTransferBytes(u32* transferBytes, Port port)
| [[CAMU:GetTransferBytes|GetTransferBytes]]
|-
|-
| 0x000D0080
| 0x000D0080
| GetMaxBytes(u32* maxBytes, s16 width, s16 height)
| [[CAMU:GetMaxBytes|GetMaxBytes]]
|-
|-
| 0x000E0080
| 0x000E0080
| SetTrimming(Port port, bool trimming)
| [[CAMU:SetTrimming|SetTrimming]]
|-
|-
| 0x000F0040
| 0x000F0040
| IsTrimming(bool* trimming, Port port)
| [[CAMU:IsTrimming|IsTrimming]]
|-
|-
| 0x00100140
| 0x00100140
| SetTrimmingParams(Port port, s16 xStart, s16 yStart, s16 xEnd, s16 yEnd)
| [[CAMU:SetTrimmingParams|SetTrimmingParams]]
|-
|-
| 0x00110040
| 0x00110040
| GetTrimmingParams(s16* xStart, s16* yStart, s16* xEnd, s16* yEnd, Port port)
| [[CAMU:GetTrimmingParams|GetTrimmingParams]]
|-
|-
| 0x00120140
| 0x00120140
| SetTrimmingParamsCenter(Port port, s16 trimWidth, s16 trimHeight, s16 camWidth, s16 camHeight)
| [[CAMU:SetTrimmingParamsCenter|SetTrimmingParamsCenter]]
|-
|-
| 0x00130040
| 0x00130040
| Activate(CameraSelect select)
| [[CAMU:Activate|Activate]]
|-
|-
| 0x00140080
| 0x00140080
| SwitchContext(CameraSelect select, Context context)
| [[CAMU:SwitchContext|SwitchContext]]
|-
|-
| 0x00150080
| 0x00150080
| SetExposure(CameraSelect select, s8 exposure)
| [[CAMU:SetExposure|SetExposure]]
|-
|-
| 0x00160080
| 0x00160080
| SetWhiteBalance(CameraSelect select, WhiteBalance whiteBalance)
| [[CAMU:SetWhiteBalance|SetWhiteBalance]]
|-
|-
| 0x00170080
| 0x00170080
| SetWhiteBalanceWithoutBaseUp(CameraSelect select, WhiteBalance whiteBalance)
| [[CAMU:SetWhiteBalanceWithoutBaseUp|SetWhiteBalanceWithoutBaseUp]]
|-
|-
| 0x00180080
| 0x00180080
| SetSharpness(CameraSelect select, s8 sharpness)
| [[CAMU:SetSharpness|SetSharpness]]
|-
|-
| 0x00190080
| 0x00190080
| SetAutoExposure(CameraSelect select, bool autoExposure)
| [[CAMU:SetAutoExposure|SetAutoExposure]]
|-
|-
| 0x001A0040
| 0x001A0040
| IsAutoExposure(bool* autoExposure, CameraSelect select)
| [[CAMU:IsAutoExposure|IsAutoExposure]]
|-
|-
| 0x001B0080
| 0x001B0080
| SetAutoWhiteBalance(CameraSelect select, bool autoWhiteBalance)
| [[CAMU:SetAutoWhiteBalance|SetAutoWhiteBalance]]
|-
|-
| 0x001C0040
| 0x001C0040
| IsAutoWhiteBalance(bool* autoWhiteBalance, CameraSelect select)
| [[CAMU:IsAutoWhiteBalance|IsAutoWhiteBalance]]
|-
|-
| 0x001D00C0
| 0x001D00C0
| FlipImage(CameraSelect select, Flip flip, Context context)
| [[CAMU:FlipImage|FlipImage]]
|-
|-
| 0x001E0200
| 0x001E0200
| SetDetailSize(CameraSelect select, s16 width, s16 height, s16 cropX0, s16 cropY0, s16 cropX1, s16 cropY1, Context context)
| [[CAMU:SetDetailSize|SetDetailSize]]
|-
|-
| 0x001F00C0
| 0x001F00C0
| SetSize(CameraSelect select, Size size, Context context)
| [[CAMU:SetSize|SetSize]]
|-
|-
| 0x00200080
| 0x00200080
| SetFrameRate(CameraSelect select, FrameRate frameRate)
| [[CAMU:SetFrameRate|SetFrameRate]]
|-
|-
| 0x00210080
| 0x00210080
| SetPhotoMode(CameraSelect select, PhotoMode photoMode)
| [[CAMU:SetPhotoMode|SetPhotoMode]]
|-
|-
| 0x002200C0
| 0x002200C0
| SetEffect(CameraSelect select, Effect effect, Context context)
| [[CAMU:SetEffect|SetEffect]]
|-
|-
| 0x00230080
| 0x00230080
| SetContrast(CameraSelect select, Contrast contrast)
| [[CAMU:SetContrast|SetContrast]]
|-
|-
| 0x00240080
| 0x00240080
| SetLensCorrection(CameraSelect select, LensCorrection lensCorrection)
| [[CAMU:SetLensCorrection|SetLensCorrection]]
|-
|-
| 0x002500C0
| 0x002500C0
| SetOutputFormat(CameraSelect select, OutputFormat format, Context context)
| [[CAMU:SetOutputFormat|SetOutputFormat]]
|-
|-
| 0x00260140
| 0x00260140
| SetAutoExposureWindow(CameraSelect select, s16 x, s16 y, s16 width, s16 height)
| [[CAMU:SetAutoExposureWindow|SetAutoExposureWindow]]
|-
|-
| 0x00270140
| 0x00270140
| SetAutoWhiteBalanceWindow(CameraSelect select, s16 x, s16 y, s16 width, s16 height)
| [[CAMU:SetAutoWhiteBalanceWindow|SetAutoWhiteBalanceWindow]]
|-
|-
| 0x00280080
| 0x00280080
| SetNoiseFilter(CameraSelect select, bool noiseFilter)
| [[CAMU:SetNoiseFilter|SetNoiseFilter]]
|-
|-
| 0x00290080
| 0x00290080
| SynchronizeVsyncTiming(CameraSelect select1, CameraSelect select2)
| [[CAMU:SynchronizeVsyncTiming|SynchronizeVsyncTiming]]
|-
|-
| 0x002A0080
| 0x002A0080
| GetLatestVsyncTiming(s64* timing, Port port, u32 past)
| [[CAMU:GetLatestVsyncTiming|GetLatestVsyncTiming]]
|-
|-
| 0x002B0000
| 0x002B0000
| GetStereoCameraCalibrationData(StereoCameraCalibrationData* data)
| [[CAMU:GetStereoCameraCalibrationData|GetStereoCameraCalibrationData]]
|-
|-
| 0x002C0400
| 0x002C0400
| SetStereoCameraCalibrationData(StereoCameraCalibrationData data)
| [[CAMU:SetStereoCameraCalibrationData|SetStereoCameraCalibrationData]]
|-
|-
| 0x002D00C0
| 0x002D00C0
| WriteRegisterI2c(CameraSelect select, u16 addr, u16 data)
| [[CAMU:WriteRegisterI2c|WriteRegisterI2c]]
|-
|-
| 0x002E00C0
| 0x002E00C0
| WriteMcuVariableI2c(CameraSelect select, u16 addr, u16 data)
| [[CAMU:WriteMcuVariableI2c|WriteMcuVariableI2c]]
|-
|-
| 0x002F0080
| 0x002F0080
| ReadRegisterI2cExclusive(u16* data, CameraSelect select, u16 addr)
| [[CAMU:ReadRegisterI2cExclusive|ReadRegisterI2cExclusive]]
|-
|-
| 0x00300080
| 0x00300080
| ReadMcuVariableI2cExclusive(u16* data, CameraSelect select, u16 addr)
| [[CAMU:ReadMcuVariableI2cExclusive|ReadMcuVariableI2cExclusive]]
|-
|-
| 0x00310180
| 0x00310180
| SetImageQualityCalibrationData(ImageQualityCalibrationData data)
| [[CAMU:SetImageQualityCalibrationData|SetImageQualityCalibrationData]]
|-
|-
| 0x00320000
| 0x00320000
| GetImageQualityCalibrationData(ImageQualityCalibrationData* data)
| [[CAMU:GetImageQualityCalibrationData|GetImageQualityCalibrationData]]
|-
|-
| 0x003302C0
| 0x003302C0
| SetPackageParameterWithoutContext(PackageParameterCameraSelect param)
| [[CAMU:SetPackageParameterWithoutContext|SetPackageParameterWithoutContext]]
|-
|-
| 0x00340140
| 0x00340140
| SetPackageParameterWithContext(PackageParameterContext param)
| [[CAMU:SetPackageParameterWithContext|SetPackageParameterWithContext]]
|-
|-
| 0x003501C0
| 0x003501C0
| SetPackageParameterWithContextDetail(PackageParameterContextDetail param)
| [[CAMU:SetPackageParameterWithContextDetail|SetPackageParameterWithContextDetail]]
|-
|-
| 0x00360000
| 0x00360000
| GetSuitableY2rStandardCoefficient(StandardCoefficient* coefficient)
| [[CAMU:GetSuitableY2rStandardCoefficient|GetSuitableY2rStandardCoefficient]]
|-
|-
| 0x00370202
| 0x00370202
| PlayShutterSoundWithWave(u8* waveData, s32 size, ChannelParam param, OptionInfo info)
| [[CAMU:PlayShutterSoundWithWave|PlayShutterSoundWithWave]]
|-
|-
| 0x00380040
| 0x00380040
| PlayShutterSound(ShutterSoundType sound)
| [[CAMU:PlayShutterSound|PlayShutterSound]]
|-
|-
| 0x00390000
| 0x00390000
| DriverInitialize()
| [[CAMU:DriverInitialize|DriverInitialize]]
|-
|-
| 0x003A0000
| 0x003A0000
| DriverFinalize()
| [[CAMU:DriverFinalize|DriverFinalize]]
|-
|-
| 0x003B0000
| 0x003B0000
| GetActivatedCamera(CameraSelect* select)
| [[CAMU:GetActivatedCamera|GetActivatedCamera]]
|-
|-
| 0x003C0000
| 0x003C0000
| GetSleepCamera(CameraSelect* select)
| [[CAMU:GetSleepCamera|GetSleepCamera]]
|-
|-
| 0x003D0040
| 0x003D0040
| SetSleepCamera(CameraSelect select)
| [[CAMU:SetSleepCamera|SetSleepCamera]]
|-
|-
| 0x003E0040
| 0x003E0040
| SetBrightnessSynchronization(bool brightnessSynchronization)
| [[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===
'''enum Port'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 216: Line 434:
|-
|-
| PORT_BOTH
| PORT_BOTH
| |PORT_CAM1 | PORT_CAM2
| PORT_CAM1 <nowiki>|</nowiki> PORT_CAM2
|}
|}


 
===CameraSelect===
'''enum CameraSelect'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 239: Line 456:
|-
|-
| SELECT_IN1_OUT1  
| SELECT_IN1_OUT1  
| |SELECT_OUT1 | SELECT_IN1
| SELECT_OUT1 <nowiki>|</nowiki> SELECT_IN1
|-
|-
| SELECT_OUT1_OUT2
| SELECT_OUT1_OUT2
| |SELECT_OUT1 | SELECT_OUT2
| SELECT_OUT1 <nowiki>|</nowiki> SELECT_OUT2
|-
|-
| SELECT_IN1_OUT2  
| SELECT_IN1_OUT2  
| |SELECT_IN1 | SELECT_OUT2
| SELECT_IN1 <nowiki>|</nowiki> SELECT_OUT2
|-
|-
| SELECT_ALL       
| SELECT_ALL       
| |SELECT_OUT1 | SELECT_IN1 | SELECT_OUT2
| SELECT_OUT1 <nowiki>|</nowiki> SELECT_IN1 <nowiki>|</nowiki> SELECT_OUT2
|}
|}


 
===Context===
'''enum Context'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 268: Line 484:
|-
|-
| CONTEXT_BOTH
| CONTEXT_BOTH
| |CONTEXT_A | CONTEXT_B
| CONTEXT_A <nowiki>|</nowiki> CONTEXT_B
|}
|}


 
===Flip===
'''enum Flip'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 291: Line 506:
|}
|}


 
===Size===
'''enum Size'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 326: Line 540:
|}
|}


 
===FrameRate===
'''enum FrameRate'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 373: Line 586:
|}
|}


 
===WhiteBalance===
'''enum WhiteBalance'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 423: Line 635:
|}
|}


 
===PhotoMode===
'''enum PhotoMode'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 446: Line 657:
|}
|}


 
===Effect===
'''enum Effect'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 472: Line 682:
|}
|}


 
===Contrast===
'''enum Contrast'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 522: Line 731:
|}
|}


 
===LensCorrection===
'''enum LensCorrection'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 548: Line 756:
|}
|}


 
===OutputFormat===
'''enum OutputFormat'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 562: Line 769:
|}
|}


 
===ShutterSoundType===
'''enum ShutterSoundType'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 579: Line 785:
|}
|}


 
===ImageQualityCalibrationData===
'''struct ImageQualityCalibrationData'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  Type
!  Type
Line 619: Line 824:
|}
|}


 
===StereoCameraCalibrationData===
'''struct StereoCameraCalibrationData'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  Type
!  Type
Line 671: Line 875:
|}
|}


 
===PackageParameterCameraSelect===
'''struct PackageParameterCameraSelect'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  Type
!  Type
!  Field
!  Field
|-
|-
| enum CameraSelect : 8
| u8
| camera
| [[Camera_Services#CameraSelect|CameraSelect]] camera
|-
|-
| s8
| s8
| exposure
| exposure
|-
|-
| enum WhiteBalance : 8
| u8
| whiteBalance
| [[Camera_Services#WhiteBalance|WhiteBalance]] whiteBalance
|-
|-
| s8
| s8
Line 695: Line 898:
| autoWhiteBalanceOn
| autoWhiteBalanceOn
|-
|-
| enum FrameRate : 8
| u8
| frameRate
| [[Camera_Services#FrameRate|FrameRate]] frameRate
|-
|-
| enum PhotoMode : 8
| u8
| photoMode
| [[Camera_Services#PhotoMode|PhotoMode]] photoMode
|-
|-
| u8
| u8
| contrast
| contrast
|-
|-
| enum LensCorrection : 8
| u8
| lensCorrection
| [[Camera_Services#LensCorrection|LensCorrection]] lensCorrection
|-
|-
| bool
| bool
Line 738: Line 941:
|}
|}


 
===PackageParameterContext===
'''struct PackageParameterContext'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  Type
!  Type
!  Field
!  Field
|-
|-
| enum CameraSelect : 8
| u8
| camera
| [[Camera_Services#CameraSelect|CameraSelect]] camera
|-
|-
| enum Context : 8
| u8
| context
| [[Camera_Services#Context|Context]] context
|-
|-
| enum Flip : 8
| u8
| flip
| [[Camera_Services#Flip|Flip]] flip
|-
|-
| enum Effect : 8
| u8
| effect
| [[Camera_Services#Effect|Effect]] effect
|-
|-
| enum Size : 8
| u8
| size
| [[Camera_Services#Size|Size]] size
|}
|}


 
===PackageParameterContextDetail===
'''struct PackageParameterContextDetail'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  Type
!  Type
!  Field
!  Field
|-
|-
| enum CameraSelect : 8
| u8
| camera
| [[Camera_Services#CameraSelect|CameraSelect]] camera
|-
|-
| enum Context : 8
| u8
| context
| [[Camera_Services#Context|Context]] context
|-
|-
| enum Flip : 8
| u8
| flip
| [[Camera_Services#Flip|Flip]] flip
|-
|-
| enum Effect : 8
| u8
| effect
| [[Camera_Services#Effect|Effect]] effect
|-
|-
| s16
| s16
Line 797: Line 998:
|}
|}


{{Anchor|Y2R}}{{Anchor|Y2RU}}{{Anchor|y2r:u}}
== y2r:u ==
== y2r:u ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 804: 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 858: 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 963: Line 1,163:
|}
|}


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


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


 
===BlockAlignment===
'''BlockAlignment'''
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,020: 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 1,038: 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
|-
|-
| COEFFICIENT_MAX
| u16
| 0x4
| w0_xEven_yOdd
|-
| u16
| w0_xOdd_yOdd
|-
| u16
| w1_xEven_yEven
|-
| u16
| w1_xOdd_yEven
|-
| u16
| w1_xEven_yOdd
|-
| u16
| 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]]