Update kernel.c
[ps4-sdk.git] / libPS4 / include / camera.h
blob5a806d50496e5938369a30234ecb0a7d6568cde5
1 #pragma once
3 #include "types.h"
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
10 void * unknown3;//0xc
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
24 } SceCameraFrameData;
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
36 } SceCameraConfig;
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);