mirror of
https://github.com/SysRay/psOff_public.git
synced 2025-02-18 13:27:51 +00:00
Split VR tracker and Camera
This commit is contained in:
parent
8c36506f14
commit
c20a166a92
8
modules/libSceCamera/CMakeLists.txt
Normal file
8
modules/libSceCamera/CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
||||
set(libName libSceCamera)
|
||||
include(../setupModule.cmake)
|
||||
|
||||
project(${libName})
|
||||
|
||||
add_library(${libName} SHARED entry.cpp)
|
||||
|
||||
setupModule(${libName})
|
7
modules/libSceCamera/codes.h
Normal file
7
modules/libSceCamera/codes.h
Normal file
@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
namespace Err {} // namespace Err
|
||||
|
||||
constexpr uint32_t SCE_CAMERA_MAX_DEVICE_NUM = 2;
|
||||
constexpr uint32_t SCE_CAMERA_MAX_FORMAT_LEVEL_NUM = 4;
|
19
modules/libSceCamera/entry.cpp
Normal file
19
modules/libSceCamera/entry.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include "common.h"
|
||||
#include "logging.h"
|
||||
#include "types.h"
|
||||
|
||||
LOG_DEFINE_MODULE(libSceCamera);
|
||||
|
||||
namespace {} // namespace
|
||||
|
||||
extern "C" {
|
||||
|
||||
EXPORT const char* MODULE_NAME = "libSceCamera";
|
||||
|
||||
EXPORT SYSV_ABI int32_t sceCameraOpen() {
|
||||
LOG_USE_MODULE(libSceCamera);
|
||||
LOG_ERR(L"todo %S", __FUNCTION__);
|
||||
return Ok;
|
||||
}
|
||||
|
||||
}
|
56
modules/libSceCamera/types.h
Normal file
56
modules/libSceCamera/types.h
Normal file
@ -0,0 +1,56 @@
|
||||
#pragma once
|
||||
#include "codes.h"
|
||||
#include "modules_include/sceTypes.h"
|
||||
|
||||
struct SceCameraFramePosition {
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
uint32_t xSize;
|
||||
uint32_t ySize;
|
||||
};
|
||||
|
||||
struct SceCameraExposureGain {
|
||||
uint32_t exposureControl;
|
||||
uint32_t exposure;
|
||||
uint32_t gain;
|
||||
uint32_t mode;
|
||||
};
|
||||
|
||||
struct SceCameraWhiteBalance {
|
||||
uint32_t whiteBalanceControl;
|
||||
uint32_t gainRed;
|
||||
uint32_t gainBlue;
|
||||
uint32_t gainGreen;
|
||||
};
|
||||
|
||||
struct SceCameraGamma {
|
||||
uint32_t gammaControl;
|
||||
uint32_t value;
|
||||
uint8_t reserved[16];
|
||||
};
|
||||
|
||||
struct SceCameraMeta {
|
||||
uint32_t metaMode;
|
||||
uint32_t format[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
uint64_t frame[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
uint64_t timestamp[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
uint32_t deviceTimestamp[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraExposureGain exposureGain[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraWhiteBalance whiteBalance[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraGamma gamma[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
uint32_t luminance[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceFVector3 acceleration;
|
||||
uint64_t vcounter;
|
||||
uint32_t reserved[16];
|
||||
};
|
||||
|
||||
struct SceCameraFrameData {
|
||||
uint32_t sizeThis;
|
||||
uint32_t readMode;
|
||||
SceCameraFramePosition framePosition[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
void* pFramePointerList[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
uint32_t frameSize[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
uint32_t status[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraMeta meta;
|
||||
void* pFramePointerListGarlic[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
};
|
@ -2,6 +2,3 @@
|
||||
#include <stdint.h>
|
||||
|
||||
namespace Err {} // namespace Err
|
||||
|
||||
constexpr uint32_t SCE_CAMERA_MAX_DEVICE_NUM = 2;
|
||||
constexpr uint32_t SCE_CAMERA_MAX_FORMAT_LEVEL_NUM = 4;
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#include "codes.h"
|
||||
#include "modules_include/sceTypes.h"
|
||||
#include "modules/libSceCamera/types.h"
|
||||
|
||||
enum class SceVrTrackerProfile {
|
||||
PROFILE_000 = 0,
|
||||
@ -96,59 +97,6 @@ struct SceVrTrackerQueryMemoryResult {
|
||||
uint32_t reserved[9];
|
||||
};
|
||||
|
||||
struct SceCameraFramePosition {
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
uint32_t xSize;
|
||||
uint32_t ySize;
|
||||
};
|
||||
|
||||
struct SceCameraExposureGain {
|
||||
uint32_t exposureControl;
|
||||
uint32_t exposure;
|
||||
uint32_t gain;
|
||||
uint32_t mode;
|
||||
};
|
||||
|
||||
struct SceCameraWhiteBalance {
|
||||
uint32_t whiteBalanceControl;
|
||||
uint32_t gainRed;
|
||||
uint32_t gainBlue;
|
||||
uint32_t gainGreen;
|
||||
};
|
||||
|
||||
struct SceCameraGamma {
|
||||
uint32_t gammaControl;
|
||||
uint32_t value;
|
||||
uint8_t reserved[16];
|
||||
};
|
||||
|
||||
struct SceCameraMeta {
|
||||
uint32_t metaMode;
|
||||
uint32_t format[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
uint64_t frame[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
uint64_t timestamp[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
uint32_t deviceTimestamp[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraExposureGain exposureGain[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraWhiteBalance whiteBalance[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraGamma gamma[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
uint32_t luminance[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceFVector3 acceleration;
|
||||
uint64_t vcounter;
|
||||
uint32_t reserved[16];
|
||||
};
|
||||
|
||||
struct SceCameraFrameData {
|
||||
uint32_t sizeThis;
|
||||
uint32_t readMode;
|
||||
SceCameraFramePosition framePosition[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
void* pFramePointerList[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
uint32_t frameSize[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
uint32_t status[SCE_CAMERA_MAX_DEVICE_NUM];
|
||||
SceCameraMeta meta;
|
||||
void* pFramePointerListGarlic[SCE_CAMERA_MAX_DEVICE_NUM][SCE_CAMERA_MAX_FORMAT_LEVEL_NUM];
|
||||
};
|
||||
|
||||
struct SceVrTrackerGpuSubmitParam {
|
||||
int32_t sizeOfThis;
|
||||
SceVrTrackerPreferenceType padTrackingPreference;
|
||||
|
Loading…
x
Reference in New Issue
Block a user