5 //from libSceCamera.sprx firmware 1.76. Other can change
6 typedef struct SceCameraStartParameter
{
7 uint32_t size
; //0x0 <- set to 0x18 before call 24 bytes it is a check hardcoded in libSceCamera.sprx
8 uint32_t unknown1
;//0x4
9 uint32_t unknown2
;//0x8
11 } SceCameraStartParameter
;
13 typedef struct SceCameraFrameData
{
14 uint32_t size
; //0x0 <- set to size< 0xb1+0x158=0x209 (521) it is a check hardcoded in libSceCamera.sprx.I suppose size 520 it's the worst case to pass the check
15 uint32_t unknown1
;//0x4
16 uint32_t unknown2
[32];//0x8
17 void* pleft
[4];//0x88 video frame pointers for left camera 4 resolution modes
18 void* pright
[4];//0xa8 video frame pointers for right camera 4 resolution modes
19 uint32_t sizeleft
[4]; //0xc8 video frame size for left camera 4 resolution modes
20 uint32_t sizeright
[4];//0xd8 video frame size for right camera 4 resolution modes
21 uint32_t statusleft
;//0xe8
22 uint32_t statusright
;//0xec
23 uint32_t unknown3
[70];//0xf0
26 typedef struct SceCameraDeviceInfo
{
27 uint32_t size
; //0x0 <- set to 0x10 before call 24 bytes it is a check hardcoded in libSceCamera.sprx
28 uint32_t revision
;//0x4 <- check set to 0x1 before call
29 uint32_t unknown1
;//0x8
30 uint32_t unknown2
;//0xc
31 } SceCameraDeviceInfo
;
33 typedef struct SceCameraConfig
{
34 uint32_t size
; //0x0 <- set to 0x68 it is a check hardcoded in libSceCamera.sprx
35 uint32_t unknown
[100]; //0x4
38 extern int (*sceCameraOpen
)(int userid
, int type
, int index
, void *);
39 extern int (*sceCameraClose
)(int handle
);
40 extern int (*sceCameraIsAttached
)(int index
);
41 extern int (*sceCameraGetFrameData
)(int handle
, SceCameraFrameData
*frame
);
42 extern int (*sceCameraStart
)(int handle
, SceCameraStartParameter
*param
);
43 extern int (*sceCameraStop
)(int handle
);
44 extern int (*sceCameraGetDeviceInfo
)(int handle
, SceCameraDeviceInfo
*info
);
45 extern int (*sceCameraGetDeviceConfig
)(int handle
, SceCameraConfig
*config
);
46 extern int (*sceCameraGetConfig
)(int handle
, SceCameraConfig
*config
);
47 extern int (*sceCameraSetConfig
)(int handle
, SceCameraConfig
*config
);
49 void initCamera(void);