Camera Services: Difference between revisions

Created page with "==cam:c (PORT_REG) == ==cam:s (PORT_CAL) == ==cam:q (PORT_QTM) == This was added with New3DS. ==cam:u (PORT_USER)=="
 
ElementW (talk | contribs)
m Add anchors
 
(37 intermediate revisions by 9 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"
|-
!  Command Header
!  Description
|-
| 0x00010040
| [[CAMU:StartCapture|StartCapture]]
|-
| 0x00020040
| [[CAMU:StopCapture|StopCapture]]
|-
| 0x00030040
| [[CAMU:IsBusy|IsBusy]]
|-
| 0x00040040
| [[CAMU:ClearBuffer|ClearBuffer]]
|-
| 0x00050040
| [[CAMU:GetVsyncInterruptEvent|GetVsyncInterruptEvent]]
|-
| 0x00060040
| [[CAMU:GetBufferErrorInterruptEvent|GetBufferErrorInterruptEvent]]
|-
| 0x00070102
| [[CAMU:SetReceiving|SetReceiving]]
|-
| 0x00080040
| [[CAMU:IsFinishedReceiving|IsFinishedReceiving]]
|-
| 0x00090100
| [[CAMU:SetTransferLines|SetTransferLines]]
|-
| 0x000A0080
| [[CAMU:GetMaxLines|GetMaxLines]]
|-
| 0x000B0100
| [[CAMU:SetTransferBytes|SetTransferBytes]]
|-
| 0x000C0040
| [[CAMU:GetTransferBytes|GetTransferBytes]]
|-
| 0x000D0080
| [[CAMU:GetMaxBytes|GetMaxBytes]]
|-
| 0x000E0080
| [[CAMU:SetTrimming|SetTrimming]]
|-
| 0x000F0040
| [[CAMU:IsTrimming|IsTrimming]]
|-
| 0x00100140
| [[CAMU:SetTrimmingParams|SetTrimmingParams]]
|-
| 0x00110040
| [[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: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
| [[CAMU:SetDetailSize|SetDetailSize]]
|-
| 0x001F00C0
| [[CAMU:SetSize|SetSize]]
|-
| 0x00200080
| [[CAMU:SetFrameRate|SetFrameRate]]
|-
| 0x00210080
| [[CAMU:SetPhotoMode|SetPhotoMode]]
|-
| 0x002200C0
| [[CAMU:SetEffect|SetEffect]]
|-
| 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
| [[CAMU:DriverInitialize|DriverInitialize]]
|-
| 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 ==
{| class="wikitable" border="1"
|-
!  Command Header
!  Description
|-
| 0x00010040
| [[Y2R:SetInputFormat|SetInputFormat]]
|-
| 0x00020000
| [[Y2R:GetInputFormat|GetInputFormat]]
|-
| 0x00030040
| [[Y2R:SetOutputFormat|SetOutputFormat]]
|-
| 0x00040000
| [[Y2R:GetOutputFormat|GetOutputFormat]]
|-
| 0x00050040
| [[Y2R:SetRotation|SetRotation]]
|-
| 0x00060000
| [[Y2R:GetRotation|GetRotation]]
|-
| 0x00070040
| [[Y2R:SetBlockAlignment|SetBlockAlignment]]
|-
| 0x00080000
| [[Y2R:GetBlockAlignment|GetBlockAlignment]]
|-
| 0x00090040
| [[Y2R:SetSpacialDithering|SetSpacialDithering]]
|-
| 0x000A0000
| [[Y2R:GetSpacialDithering|GetSpacialDithering]]
|-
| 0x000B0040
| [[Y2R:SetTemporalDithering|SetTemporalDithering]]
|-
| 0x000C0000
| [[Y2R:GetTemporalDithering|GetTemporalDithering]]
|-
| 0x000D0040
| [[Y2R:SetTransferEndInterrupt|SetTransferEndInterrupt]]
|-
| 0x000E0000
| [[Y2R:GetTransferEndInterrupt|GetTransferEndInterrupt]]
|-
| 0x000F0000
| [[Y2R:GetTransferEndEvent|GetTransferEndEvent]]
|-
| 0x00100102
| [[Y2R:SetSendingY|SetSendingY]]
|-
| 0x00110102
| [[Y2R:SetSendingU|SetSendingU]]
|-
| 0x00120102
| [[Y2R:SetSendingV|SetSendingV]]
|-
| 0x00130102
| [[Y2R:SetSendingYuv|SetSendingYuv]]
|-
| 0x00140000
| [[Y2R:IsFinishedSendingYuv|IsFinishedSendingYuv]]
|-
| 0x00150000
| [[Y2R:IsFinishedSendingY|IsFinishedSendingY]]
|-
| 0x00160000
| [[Y2R:IsFinishedSendingU|IsFinishedSendingU]]
|-
| 0x00170000
| [[Y2R:IsFinishedSendingV|IsFinishedSendingV]]
|-
| 0x00180102
| [[Y2R:SetReceiving|SetReceiving]]
|-
| 0x00190000
| [[Y2R:IsFinishedReceiving|IsFinishedReceiving]]
|-
| 0x001A0040
| [[Y2R:SetInputLineWidth|SetInputLineWidth]]
|-
| 0x001B0000
| [[Y2R:GetInputLineWidth|GetInputLineWidth]]
|-
| 0x001C0040
| [[Y2R:SetInputLines|SetInputLines]]
|-
| 0x001D0000
| [[Y2R:GetInputLines|GetInputLines]]
|-
| 0x001E0100
| [[Y2R:SetCoefficientParams|SetCoefficientParams]]
|-
| 0x001F0000
| [[Y2R:GetCoefficientParams|GetCoefficientParams]]
|-
| 0x00200040
| [[Y2R:SetStandardCoefficient|SetStandardCoefficient]]
|-
| 0x00210040
| [[Y2R:GetStandardCoefficientParams|GetStandardCoefficientParams]]
|-
| 0x00220040
| [[Y2R:SetAlpha|SetAlpha]]
|-
| 0x00230000
| [[Y2R:GetAlpha|GetAlpha]]
|-
| 0x00240200
| [[Y2R:SetDitheringWeightParams|SetDitheringWeightParams]]
|-
| 0x00250000
| [[Y2R:GetDitheringWeightParams|GetDitheringWeightParams]]
|-
| 0x00260000
| [[Y2R:StartConversion|StartConversion]]
|-
| 0x00270000
| [[Y2R:StopConversion|StopConversion]]
|-
| 0x00280000
| [[Y2R:IsBusyConversion|IsBusyConversion]]
|-
| 0x002901C0
| [[Y2R:SetPackageParameter|SetPackageParameter]]
|-
| 0x002A0000
| [[Y2R:PingProcess|PingProcess]]
|-
| 0x002B0000
| [[Y2R:DriverInitialize|DriverInitialize]]
|-
| 0x002C0000
| [[Y2R:DriverFinalize|DriverFinalize]]
|-
| 0x002D0000
| [[Y2R:GetPackageParameter|GetPackageParameter]]
|}
===InputFormat===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| INPUT_YUV422_INDIV_8
| 0x0
|-
| INPUT_YUV420_INDIV_8
| 0x1
|-
| INPUT_YUV422_INDIV_16
| 0x2
|-
| INPUT_YUV420_INDIV_16
| 0x3
|-
| INPUT_YUV422_BATCH
| 0x4
|}
===OutputFormat===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| OUTPUT_RGB_32
| 0x0
|-
| OUTPUT_RGB_24
| 0x1
|-
| OUTPUT_RGB_16_555
| 0x2
|-
| OUTPUT_RGB_16_565
| 0x3
|}
===Rotation===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| ROTATION_NONE
| 0x0
|-
| ROTATION_CLOCKWISE_90
| 0x1
|-
| ROTATION_CLOCKWISE_180
| 0x2
|-
| ROTATION_CLOCKWISE_270
| 0x3
|}
===BlockAlignment===
{| class="wikitable" border="1"
|-
! Enum
! Value
! Description
|-
| BLOCK_LINE
| 0x0
| Output buffer's pixels are arranged linearly. Used when outputting to the framebuffer.
|-
| BLOCK_8_BY_8
| 0x1
| Output buffer's pixels are morton swizzled. Used when outputting to a GPU texture.
|}
===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===
{| class="wikitable" border="1"
|-
!  Enum
!  Value
|-
| COEFFICIENT_ITU_R_BT_601
| 0x0
|-
| COEFFICIENT_ITU_R_BT_709
| 0x1
|-
| COEFFICIENT_ITU_R_BT_601_SCALING
| 0x2
|-
| COEFFICIENT_ITU_R_BT_709_SCALING
| 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
|-
| 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]]