sceKernelAioInitializeParam Implementation

This commit is contained in:
Ordinary205 2024-05-02 16:10:13 +04:00
parent 0fa6bf0454
commit f207f333f1
10 changed files with 296 additions and 318 deletions

View File

@ -19,44 +19,42 @@ EXPORT SYSV_ABI int32_t sceAjmFinalize(const SceAjmContextId uiContext) {
}
void FixSideband(uint64_t uiFlags, void* pSidebandOutput, uint64_t szSidebandOutputSize) {
if ((uiFlags & SCE_AJM_FLAG_SIDEBAND_STREAM) != 0) {
SceAjmSidebandStreamResult* pResult = reinterpret_cast<SceAjmSidebandStreamResult*>(pSidebandOutput);
pResult->sStream.iSizeConsumed = 1;
pResult->sStream.iSizeProduced = 1;
pResult->sStream.uiTotalDecodedSamples = 1;
}
if ((uiFlags & SCE_AJM_FLAG_SIDEBAND_STREAM) != 0) {
SceAjmSidebandStreamResult* pResult = reinterpret_cast<SceAjmSidebandStreamResult*>(pSidebandOutput);
pResult->sStream.iSizeConsumed = 1;
pResult->sStream.iSizeProduced = 1;
pResult->sStream.uiTotalDecodedSamples = 1;
}
}
EXPORT SYSV_ABI int32_t sceAjmBatchJobControlBufferRa(void* pBatchPosition, SceAjmInstanceId uiInstance, uint64_t uiFlags, void* pSidebandInput,
uint64_t szSidebandInputSize, void* pSidebandOutput, uint64_t szSidebandOutputSize, void** pReturnAddress) {
if (pSidebandOutput != nullptr) {
std::memset(pSidebandOutput, 0, szSidebandOutputSize);
FixSideband(uiFlags, pSidebandOutput, szSidebandOutputSize);
}
return 0;
uint64_t szSidebandInputSize, void* pSidebandOutput, uint64_t szSidebandOutputSize,
void** pReturnAddress) {
if (pSidebandOutput != nullptr) {
std::memset(pSidebandOutput, 0, szSidebandOutputSize);
FixSideband(uiFlags, pSidebandOutput, szSidebandOutputSize);
}
return 0;
}
EXPORT SYSV_ABI int32_t sceAjmBatchJobRunBufferRa(void* pBatchPosition, SceAjmInstanceId uiInstance, uint64_t uiFlags,
void* pDataInput, uint64_t szDataInputSize, void* pDataOutput,
uint64_t szDataOutputSize, void* pSidebandOutput,
EXPORT SYSV_ABI int32_t sceAjmBatchJobRunBufferRa(void* pBatchPosition, SceAjmInstanceId uiInstance, uint64_t uiFlags, void* pDataInput,
uint64_t szDataInputSize, void* pDataOutput, uint64_t szDataOutputSize, void* pSidebandOutput,
uint64_t szSidebandOutputSize, void** pReturnAddress) {
if (pSidebandOutput != nullptr) {
std::memset(pSidebandOutput, 0, szSidebandOutputSize);
FixSideband(uiFlags, pSidebandOutput, szSidebandOutputSize);
}
if (pSidebandOutput != nullptr) {
std::memset(pSidebandOutput, 0, szSidebandOutputSize);
FixSideband(uiFlags, pSidebandOutput, szSidebandOutputSize);
}
std::memset(pDataOutput, 0, szDataOutputSize);
return 0;
std::memset(pDataOutput, 0, szDataOutputSize);
return 0;
}
EXPORT SYSV_ABI int32_t sceAjmBatchStartBuffer(SceAjmContextId uiContext, void* pBatchCommands,
uint64_t szBatchSize, int iPriority,
EXPORT SYSV_ABI int32_t sceAjmBatchStartBuffer(SceAjmContextId uiContext, void* pBatchCommands, uint64_t szBatchSize, int iPriority,
SceAjmBatchError pBatchError, SceAjmBatchId pBatch) {
return Ok;
}
EXPORT SYSV_ABI int32_t sceAjmBatchWait(SceAjmContextId uiContext, SceAjmBatchId uiBatch,
uint32_t uiTimeout, SceAjmBatchError pBatchError) {
EXPORT SYSV_ABI int32_t sceAjmBatchWait(SceAjmContextId uiContext, SceAjmBatchId uiBatch, uint32_t uiTimeout, SceAjmBatchError pBatchError) {
return Ok;
}

View File

@ -8,9 +8,9 @@ typedef unsigned int SceAjmBatchId;
struct SceAjmSidebandStreamResult {
struct {
int iSizeConsumed;
int iSizeProduced;
unsigned int uiTotalDecodedSamples;
int iSizeConsumed;
int iSizeProduced;
unsigned int uiTotalDecodedSamples;
} sStream;
};

View File

@ -10,26 +10,24 @@ extern "C" {
EXPORT const char* MODULE_NAME = "libSceFace";
EXPORT SYSV_ABI int sceFaceDetection(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceDetectionDictPtr detectDictPtr, float magBegin, float magStep, float magEnd,
int xScanStep, int yScanStep, float thresholdScore, int resultPrecision,
EXPORT SYSV_ABI int sceFaceDetection(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFaceDetectionDictPtr detectDictPtr,
float magBegin, float magStep, float magEnd, int xScanStep, int yScanStep, float thresholdScore, int resultPrecision,
SceFaceDetectionResult resultFaceArray[], int resultFaceArraySize, int* resultFaceNum, void* workMemory,
int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceDetectionEx(const unsigned char* imgPtr, int width, int height,
int rowstride, const SceFaceDetectionDictPtr detectDictPtr, const SceFaceDetectionParam* detectParam,
SceFaceDetectionResult resultFaceArray[], int resultFaceArraySize, int* resultFaceNum, void* workMemory,
int workMemorySize) {
EXPORT SYSV_ABI int sceFaceDetectionEx(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFaceDetectionDictPtr detectDictPtr,
const SceFaceDetectionParam* detectParam, SceFaceDetectionResult resultFaceArray[], int resultFaceArraySize,
int* resultFaceNum, void* workMemory, int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceDetectionLocal(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceDetectionDictPtr detectDictPtr, float magStep, float xExpandRegion, float yExpandRegion,
int xScanStep, int yScanStep, float thresholdScore, const SceFaceDetectionResult referenceFaceArray[],
int referenceFaceArraySize, SceFaceDetectionResult resultFaceArray[], int resultFaceArraySize, int* resultFaceNum,
void* workMemory, int workMemorySize) {
EXPORT SYSV_ABI int sceFaceDetectionLocal(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFaceDetectionDictPtr detectDictPtr,
float magStep, float xExpandRegion, float yExpandRegion, int xScanStep, int yScanStep, float thresholdScore,
const SceFaceDetectionResult referenceFaceArray[], int referenceFaceArraySize,
SceFaceDetectionResult resultFaceArray[], int resultFaceArraySize, int* resultFaceNum, void* workMemory,
int workMemorySize) {
return Ok;
}
@ -41,34 +39,32 @@ EXPORT SYSV_ABI int sceFaceDetectionGetWorkingMemorySize(int width, int height,
return Ok;
}
EXPORT SYSV_ABI int sceFaceParts(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFacePartsDictPtr partsDictPtr, int xScanStep, int yScanStep, const SceFaceDetectionResult* detectedFace,
SceFacePartsResult resultPartsArray[], int resultPartsArraySize, int* resultPartsNum, void* workMemory,
int workMemorySize) {
EXPORT SYSV_ABI int sceFaceParts(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFacePartsDictPtr partsDictPtr, int xScanStep,
int yScanStep, const SceFaceDetectionResult* detectedFace, SceFacePartsResult resultPartsArray[], int resultPartsArraySize,
int* resultPartsNum, void* workMemory, int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFacePartsEx(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFacePartsDictPtr partsDictPtr, const SceFacePartsCheckDictPtr partsCheckDictPtr, int xScanStep, int yScanStep,
const SceFaceDetectionResult* detectedFace, SceFacePartsResult resultPartsArray[], int resultPartsArraySize, int* resultPartsNum,
void* workMemory, int workMemorySize) {
EXPORT SYSV_ABI int sceFacePartsEx(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFacePartsDictPtr partsDictPtr,
const SceFacePartsCheckDictPtr partsCheckDictPtr, int xScanStep, int yScanStep, const SceFaceDetectionResult* detectedFace,
SceFacePartsResult resultPartsArray[], int resultPartsArraySize, int* resultPartsNum, void* workMemory, int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceAllParts(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFacePartsDictPtr partsDictPtr, const SceFaceShapeDictPtr shapeDictPtr, int xScanStep, int yScanStep,
const SceFaceDetectionResult* detectedFace, SceFacePartsResult resultPartsArray[], int resultPartsArraySize, int* resultPartsNum,
void* workMemory, int workMemorySize) {
EXPORT SYSV_ABI int sceFaceAllParts(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFacePartsDictPtr partsDictPtr,
const SceFaceShapeDictPtr shapeDictPtr, int xScanStep, int yScanStep, const SceFaceDetectionResult* detectedFace,
SceFacePartsResult resultPartsArray[], int resultPartsArraySize, int* resultPartsNum, void* workMemory,
int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceEstimatePoseRegion(int width, int height, const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[],
int detectedPartsNum, SceFacePose* resultFacePose, SceFaceRegion* resultFaceRegion) {
int detectedPartsNum, SceFacePose* resultFacePose, SceFaceRegion* resultFaceRegion) {
return Ok;
}
EXPORT SYSV_ABI int sceFacePartsResultCheck(const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum, const SceFacePartsCheckDictPtr partsCheckDictPtr,
bool* good) {
EXPORT SYSV_ABI int sceFacePartsResultCheck(const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
const SceFacePartsCheckDictPtr partsCheckDictPtr, bool* good) {
return Ok;
}
@ -80,16 +76,16 @@ EXPORT SYSV_ABI int sceFaceAllPartsGetWorkingMemorySize(int width, int height, i
return Ok;
}
EXPORT SYSV_ABI int sceFaceAttribute(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceAttribDictPtr attribDictPtr, const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceAttribResult resultAttribArray[], int resultAttribArraySize, int* resultAttribNum, void* workMemory,
int workMemorySize) {
EXPORT SYSV_ABI int sceFaceAttribute(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFaceAttribDictPtr attribDictPtr,
const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceAttribResult resultAttribArray[], int resultAttribArraySize, int* resultAttribNum, void* workMemory,
int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceAgeRangeEstimate(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceAgeDictPtr ageDictPtr, const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceAgeRangeResult* resultAge, void* workMemory, int workMemorySize) {
EXPORT SYSV_ABI int sceFaceAgeRangeEstimate(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFaceAgeDictPtr ageDictPtr,
const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceAgeRangeResult* resultAge, void* workMemory, int workMemorySize) {
return Ok;
}
@ -105,37 +101,42 @@ EXPORT SYSV_ABI int sceFaceAgeGetWorkingMemorySize(int width, int height, int ro
return Ok;
}
EXPORT SYSV_ABI int sceFaceIdentifyGetFeature(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceIdentifyDictPtr identifyDictPtr, const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceIdentifyFeature* resultFeature, void* workMemory, int workMemorySize) {
EXPORT SYSV_ABI int sceFaceIdentifyGetFeature(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFaceIdentifyDictPtr identifyDictPtr,
const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceIdentifyFeature* resultFeature, void* workMemory, int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceIdentifyLiteGetFeature(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceIdentifyLiteDictPtr identifyDictPtr, const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceIdentifyLiteFeature* resultFeature, void* workMemory, int workMemorySize) {
const SceFaceIdentifyLiteDictPtr identifyDictPtr, const SceFaceDetectionResult* detectedFace,
const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
SceFaceIdentifyLiteFeature* resultFeature, void* workMemory, int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceIdentifyExGetFeature(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceIdentifyExDictPtr identifyDictPtr, const SceFaceDetectionResult* detectedFace, const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
const SceFaceAttribResult detectedAttribArray[], int detectedAttribNum, SceFaceIdentifyExFeature* resultFeature, void* workMemory,
int workMemorySize) {
const SceFaceIdentifyExDictPtr identifyDictPtr, const SceFaceDetectionResult* detectedFace,
const SceFacePartsResult detectedPartsArray[], int detectedPartsNum,
const SceFaceAttribResult detectedAttribArray[], int detectedAttribNum, SceFaceIdentifyExFeature* resultFeature,
void* workMemory, int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceIdentifySimilarity(const SceFaceIdentifyFeature* extractedFeature, const SceFaceIdentifyFeature registeredFeatureArray[], int registeredFeatureNum, const SceFaceIdentifyDictPtr identifyDictPtr,
float* maxScore, int* maxScoreId, float resultScoreArray[]) {
EXPORT SYSV_ABI int sceFaceIdentifySimilarity(const SceFaceIdentifyFeature* extractedFeature, const SceFaceIdentifyFeature registeredFeatureArray[],
int registeredFeatureNum, const SceFaceIdentifyDictPtr identifyDictPtr, float* maxScore, int* maxScoreId,
float resultScoreArray[]) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceIdentifyLiteSimilarity(const SceFaceIdentifyLiteFeature* extractedFeature, const SceFaceIdentifyLiteFeature registeredFeatureArray[], int registeredFeatureNum, const SceFaceIdentifyLiteDictPtr identifyDictPtr,
float *maxScore, int* maxScoreId, float resultScoreArray[]) {
EXPORT SYSV_ABI int sceFaceIdentifyLiteSimilarity(const SceFaceIdentifyLiteFeature* extractedFeature, const SceFaceIdentifyLiteFeature registeredFeatureArray[],
int registeredFeatureNum, const SceFaceIdentifyLiteDictPtr identifyDictPtr, float* maxScore, int* maxScoreId,
float resultScoreArray[]) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceIdentifyExSimilarity(const SceFaceIdentifyExFeature* extractedFeature, const SceFaceIdentifyExFeature registeredFeatureArray[], int registeredFeatureNum, const SceFaceIdentifyExDictPtr identifyDictPtr,
float* maxScore, int* maxScoreId, float resultScoreArray[]) {
EXPORT SYSV_ABI int sceFaceIdentifyExSimilarity(const SceFaceIdentifyExFeature* extractedFeature, const SceFaceIdentifyExFeature registeredFeatureArray[],
int registeredFeatureNum, const SceFaceIdentifyExDictPtr identifyDictPtr, float* maxScore, int* maxScoreId,
float resultScoreArray[]) {
return Ok;
}
@ -151,20 +152,20 @@ EXPORT SYSV_ABI int sceFaceIdentifyExGetWorkingMemorySize(int width, int height,
return Ok;
}
EXPORT SYSV_ABI int sceFaceShapeFit(const unsigned char* imgPtr, int width, int height, int rowstride,
const SceFaceShapeModelDictPtr shapeDictPtr, SceFaceShapeResult* shape, float lostThreshold, const SceFaceDetectionResult* detectedFace,
const SceFacePartsResult detectedPartsArray[], int detectedPartsNum, void* workMemory,int workMemorySize) {
EXPORT SYSV_ABI int sceFaceShapeFit(const unsigned char* imgPtr, int width, int height, int rowstride, const SceFaceShapeModelDictPtr shapeDictPtr,
SceFaceShapeResult* shape, float lostThreshold, const SceFaceDetectionResult* detectedFace,
const SceFacePartsResult detectedPartsArray[], int detectedPartsNum, void* workMemory, int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceShapeTrack(const unsigned char* imgPtrCur, const unsigned char* imgPtrPrv, int width, int height,
int rowstride, const SceFaceShapeModelDictPtr shapeDictPtr, SceFaceShapeResult* shape, float lostThreshold,
void* workMemory, int workMemorySize) {
EXPORT SYSV_ABI int sceFaceShapeTrack(const unsigned char* imgPtrCur, const unsigned char* imgPtrPrv, int width, int height, int rowstride,
const SceFaceShapeModelDictPtr shapeDictPtr, SceFaceShapeResult* shape, float lostThreshold, void* workMemory,
int workMemorySize) {
return Ok;
}
EXPORT SYSV_ABI int sceFaceShapeGetWorkingMemorySize(int width, int height, int rowstride, const SceFaceShapeModelDictPtr shapeDictPtr,
int maxFaceWidth, int maxFaceHeight, bool isVideoInput) {
EXPORT SYSV_ABI int sceFaceShapeGetWorkingMemorySize(int width, int height, int rowstride, const SceFaceShapeModelDictPtr shapeDictPtr, int maxFaceWidth,
int maxFaceHeight, bool isVideoInput) {
return Ok;
}
}

View File

@ -14,52 +14,52 @@ typedef void* SceFaceShapeModelDictPtr;
struct SceFaceAgeDistrData {
float score[AGE_BIN_SIZE];
int numIntegrated;
int numIntegrated;
};
struct SceFaceAttribResult {
unsigned int attribId;
float score;
float score;
};
struct SceFaceAgeRangeResult {
unsigned char maxAge;
unsigned char minAge;
unsigned char minAge;
};
struct SceFaceDetectionResult {
float faceX;
float faceY;
float faceW;
float faceH;
float faceRoll;
float facePitch;
float faceYaw;
float score;
float faceY;
float faceW;
float faceH;
float faceRoll;
float facePitch;
float faceYaw;
float score;
};
struct SceFacePartsResult {
unsigned int partsId;
float partsX;
float partsY;
float score;
float partsX;
float partsY;
float score;
};
struct SceFaceDetectionParam {
int version;
int size;
float magBegin;
float magStep;
float magEnd;
int xScanStart;
int yScanStart;
int xScanStep;
int yScanStep;
float xScanOver;
float yScanOver;
float thresholdScore;
int resultPrecision;
int searchType;
int size;
float magBegin;
float magStep;
float magEnd;
int xScanStart;
int yScanStart;
int xScanStep;
int yScanStep;
float xScanOver;
float yScanOver;
float thresholdScore;
int resultPrecision;
int searchType;
};
struct SceFaceIdentifyFeature {
@ -76,30 +76,30 @@ struct SceFaceIdentifyExFeature {
struct SceFaceShapeResult {
int modelID;
int pointNum;
float pointX[SHAPE_POINT_NUM_MAX];
float pointY[SHAPE_POINT_NUM_MAX];
int isLost[SHAPE_POINT_NUM_MAX];
float fourPointX[PARTS_NUM_MAX];
float fourPointY[PARTS_NUM_MAX];
float rectCenterX;
float rectCenterY;
float rectWidth;
float rectHeight;
float faceRoll;
float facePitch;
float faceYaw;
float score;
unsigned char data[4096];
int pointNum;
float pointX[SHAPE_POINT_NUM_MAX];
float pointY[SHAPE_POINT_NUM_MAX];
int isLost[SHAPE_POINT_NUM_MAX];
float fourPointX[PARTS_NUM_MAX];
float fourPointY[PARTS_NUM_MAX];
float rectCenterX;
float rectCenterY;
float rectWidth;
float rectHeight;
float faceRoll;
float facePitch;
float faceYaw;
float score;
unsigned char data[4096];
};
struct SceFacePose {
float faceRoll;
float facePitch;
float faceYaw;
float facePitch;
float faceYaw;
};
struct SceFaceRegion {
float faceRegionX[4];
float faceRegionY[4];
float faceRegionY[4];
};

View File

@ -10,8 +10,8 @@ extern "C" {
EXPORT const char* MODULE_NAME = "libSceFaceTracker";
EXPORT SYSV_ABI int sceFaceTrackerInitialize(int width, int height, int rowstride, int maxTrackingNum,
uint32_t* threadFuncMutex, const SceFaceTrackerConfig* pConfig, void* work, int workSize) {
EXPORT SYSV_ABI int sceFaceTrackerInitialize(int width, int height, int rowstride, int maxTrackingNum, uint32_t* threadFuncMutex,
const SceFaceTrackerConfig* pConfig, void* work, int workSize) {
return Ok;
}
@ -79,7 +79,8 @@ EXPORT SYSV_ABI int sceFaceTrackerRegisterLostTargetCallback(SceFaceTrackerLostT
return Ok;
}
EXPORT SYSV_ABI int sceFaceTrackerRegisterRecoveryFromLostTargetCallback(SceFaceTrackerRecoveryFromLostTargetCallbackFunc func, void* callbackParam, void* work) {
EXPORT SYSV_ABI int sceFaceTrackerRegisterRecoveryFromLostTargetCallback(SceFaceTrackerRecoveryFromLostTargetCallbackFunc func, void* callbackParam,
void* work) {
return Ok;
}

View File

@ -2,127 +2,107 @@
#include "codes.h"
enum class SceFaceTrackerFaceDetectDictionary {
FACE_FRONTAL_DICT = 0,
FACE_ROLL_DICT = 1,
FACE_YAW_DICT = 2,
FACE_PITCH_DICT = 3,
FACE_ROLL_YAW_DICT = 4,
FACE_ROLL_YAW_PITCH_DICT = 5,
FACE_DICT_MAX = 6,
FACE_DICT_UNDEF = 0xFFFF,
FACE_FRONTAL_DICT = 0,
FACE_ROLL_DICT = 1,
FACE_YAW_DICT = 2,
FACE_PITCH_DICT = 3,
FACE_ROLL_YAW_DICT = 4,
FACE_ROLL_YAW_PITCH_DICT = 5,
FACE_DICT_MAX = 6,
FACE_DICT_UNDEF = 0xFFFF,
};
typedef void* SceFaceTrackerStartTrackingCallbackFunc (
void* callbackParam
);
typedef void* SceFaceTrackerStartTrackingCallbackFunc(void* callbackParam);
typedef void* SceFaceTrackerFixUserIdCallbackFunc (
int trackId,
int userId,
const void* featureData,
int featureDataSize,
void* callbackParam
);
typedef void* SceFaceTrackerFixUserIdCallbackFunc(int trackId, int userId, const void* featureData, int featureDataSize, void* callbackParam);
typedef void* SceFaceTrackerLostTargetCallbackFunc (
int trackId,
int userId,
void* callbackParam
);
typedef void* SceFaceTrackerLostTargetCallbackFunc(int trackId, int userId, void* callbackParam);
typedef void* SceFaceTrackerRecoveryFromLostTargetCallbackFunc (
int trackId,
int userId,
void* callbackParam
);
typedef void* SceFaceTrackerRecoveryFromLostTargetCallbackFunc(int trackId, int userId, void* callbackParam);
typedef void* SceFaceTrackerStopTrackingCallbackFunc (
int trackId,
int userId,
void* callbackParam
);
typedef void* SceFaceTrackerStopTrackingCallbackFunc(int trackId, int userId, void* callbackParam);
struct SceFaceTrackerAttributeScores {
float smile;
float gender;
float baby;
float adult;
float elder;
float leyeopen;
float reyeopen;
float glasses;
float gender;
float baby;
float adult;
float elder;
float leyeopen;
float reyeopen;
float glasses;
};
struct SceFacePartsResult {
unsigned int partsId;
float partsX;
float partsY;
float score;
float partsX;
float partsY;
float score;
};
struct SceFaceTrackerResult {
int status;
int trackId;
int userId;
float posX;
float posY;
float faceWidth;
float faceHeight;
float faceRoll;
float facePitch;
float faceYaw;
float score;
float partsX[PARTS_NUM_MAX];
float partsY[PARTS_NUM_MAX];
SceFacePartsResult partsResult[PARTS_NUM_MAX];
int partsCheckFlag;
SceFaceTrackerAttributeScores attributeScores;
int trackId;
int userId;
float posX;
float posY;
float faceWidth;
float faceHeight;
float faceRoll;
float facePitch;
float faceYaw;
float score;
float partsX[PARTS_NUM_MAX];
float partsY[PARTS_NUM_MAX];
SceFacePartsResult partsResult[PARTS_NUM_MAX];
int partsCheckFlag;
SceFaceTrackerAttributeScores attributeScores;
};
struct SceFaceTrackerGlobalSearchConfig {
float magBegin;
float magEnd;
float magStep;
int xScanStart;
int yScanStart;
int xScanStep;
int yScanStep;
float xScanOver;
float yScanOver;
float thresholdScore;
int resultPrecision;
int searchType;
int maxFaceNum;
SceFaceTrackerFaceDetectDictionary dictionary;
float magEnd;
float magStep;
int xScanStart;
int yScanStart;
int xScanStep;
int yScanStep;
float xScanOver;
float yScanOver;
float thresholdScore;
int resultPrecision;
int searchType;
int maxFaceNum;
SceFaceTrackerFaceDetectDictionary dictionary;
};
struct SceFaceTrackerLocalSearchConfig {
float magStep;
float xExpandRegion;
float yExpandRegion;
int xScanStep;
int yScanStep;
float thresholdScore;
SceFaceTrackerFaceDetectDictionary dictionary;
float magStep;
float xExpandRegion;
float yExpandRegion;
int xScanStep;
int yScanStep;
float thresholdScore;
SceFaceTrackerFaceDetectDictionary dictionary;
};
struct SceFaceTrackerIdentifyConfig {
float fixUserIdThresholdScore;
int fixUserIdIdentifyCount;
float unknownUserThresholdScore;
int unknownUserIdentifyCount;
bool enableFeatureUpdate;
int fixUserIdIdentifyCount;
float unknownUserThresholdScore;
int unknownUserIdentifyCount;
bool enableFeatureUpdate;
};
struct SceFaceTrackerConfig {
SceFaceTrackerGlobalSearchConfig globalSearchConfig;
SceFaceTrackerLocalSearchConfig localSearchConfig;
SceFaceTrackerIdentifyConfig identifyConfig;
int framesToLost;
float trackThresholdScore;
int localSearchInterval;
int userIdentifyInterval;
int attributeInterval;
bool enableUserIdentify;
bool enableAttribute;
SceFaceTrackerLocalSearchConfig localSearchConfig;
SceFaceTrackerIdentifyConfig identifyConfig;
int framesToLost;
float trackThresholdScore;
int localSearchInterval;
int userIdentifyInterval;
int attributeInterval;
bool enableUserIdentify;
bool enableAttribute;
};

View File

@ -28,6 +28,5 @@ struct ScePadTrackerInput {
};
struct ScePadTrackerData {
ScePadTrackerImageCoordinates
imageCoordinates[TRACKER_IMAGE_MAX];
ScePadTrackerImageCoordinates imageCoordinates[TRACKER_IMAGE_MAX];
};

View File

@ -50,8 +50,7 @@ EXPORT SYSV_ABI int sceRudpGetContextStatus(int ctxId, SceRudpContextStatus* sta
return Ok;
}
EXPORT SYSV_ABI int sceRudpGetLocalInfo(int ctxId, int* soc, struct SceNetSockaddr* addr, SceNetSocklen_t* addrLen,
uint16_t* vport, uint8_t* muxMode) {
EXPORT SYSV_ABI int sceRudpGetLocalInfo(int ctxId, int* soc, struct SceNetSockaddr* addr, SceNetSocklen_t* addrLen, uint16_t* vport, uint8_t* muxMode) {
return Ok;
}
@ -83,8 +82,7 @@ EXPORT SYSV_ABI int sceRudpGetSizeWritable(int ctxId) {
return Ok;
}
EXPORT SYSV_ABI int sceRudpRead(int ctxId, void* data, size_t len, uint8_t flags,
SceRudpReadInfo* info) {
EXPORT SYSV_ABI int sceRudpRead(int ctxId, void* data, size_t len, uint8_t flags, SceRudpReadInfo* info) {
return Ok;
}
@ -128,8 +126,7 @@ EXPORT SYSV_ABI int sceRudpInitiate(int ctxId, struct SceNetSockaddr const* to,
return Ok;
}
EXPORT SYSV_ABI int sceRudpNetReceived(int soc, uint8_t const* data, size_t dataLen, struct SceNetSockaddr const* from,
SceNetSocklen_t fromLen) {
EXPORT SYSV_ABI int sceRudpNetReceived(int soc, uint8_t const* data, size_t dataLen, struct SceNetSockaddr const* from, SceNetSocklen_t fromLen) {
return Ok;
}

View File

@ -1,110 +1,98 @@
#pragma once
#include "codes.h"
typedef int SceNetSocklen_t;
typedef int SceNetSocklen_t;
typedef uint8_t SceNetSaFamily_t;
struct SceNetSockaddr {
uint8_t sa_len;
SceNetSaFamily_t sa_family;
char sa_data[14];
SceNetSaFamily_t sa_family;
char sa_data[14];
};
typedef int* SceRudpEventHandler (
int eventId,
int soc,
uint8_t const* data,
size_t dataLen,
struct SceNetSockaddr const* addr,
SceNetSocklen_t addrLen,
void* arg
);
typedef int* SceRudpEventHandler(int eventId, int soc, uint8_t const* data, size_t dataLen, struct SceNetSockaddr const* addr, SceNetSocklen_t addrLen,
void* arg);
typedef void* SceRudpContextEventHandler (
int ctxId,
int eventId,
int errorCode,
void* arg
);
typedef void* SceRudpContextEventHandler(int ctxId, int eventId, int errorCode, void* arg);
struct SceRudpContextStatus {
uint32_t state;
int parentId;
uint32_t children;
uint32_t lostPackets;
uint32_t sentPackets;
uint32_t rcvdPackets;
uint64_t sentBytes;
uint64_t rcvdBytes;
uint32_t retransmissions;
uint32_t rtt;
int parentId;
uint32_t children;
uint32_t lostPackets;
uint32_t sentPackets;
uint32_t rcvdPackets;
uint64_t sentBytes;
uint64_t rcvdBytes;
uint32_t retransmissions;
uint32_t rtt;
};
struct SceRudpStatus {
uint64_t sentUdpBytes;
uint64_t rcvdUdpBytes;
uint32_t sentUdpPackets;
uint32_t rcvdUdpPackets;
uint64_t sentUserBytes;
uint32_t sentUserPackets;
uint64_t rcvdUserBytes;
uint32_t rcvdUserPackets;
uint32_t sentLatencyCriticalPackets;
uint32_t rcvdLatencyCriticalPackets;
uint32_t sentSynPackets;
uint32_t rcvdSynPackets;
uint32_t sentUsrPackets;
uint32_t rcvdUsrPackets;
uint32_t sentPrbPackets;
uint32_t rcvdPrbPackets;
uint32_t sentRstPackets;
uint32_t rcvdRstPackets;
uint32_t lostPackets;
uint32_t retransmittedPackets;
uint32_t reorderedPackets;
uint32_t currentContexts;
uint64_t sentQualityLevel1Bytes;
uint64_t rcvdQualityLevel1Bytes;
uint32_t sentQualityLevel1Packets;
uint32_t rcvdQualityLevel1Packets;
uint64_t sentQualityLevel2Bytes;
uint64_t rcvdQualityLevel2Bytes;
uint32_t sentQualityLevel2Packets;
uint32_t rcvdQualityLevel2Packets;
uint64_t sentQualityLevel3Bytes;
uint64_t rcvdQualityLevel3Bytes;
uint32_t sentQualityLevel3Packets;
uint32_t rcvdQualityLevel3Packets;
uint64_t sentQualityLevel4Bytes;
uint64_t rcvdQualityLevel4Bytes;
uint32_t sentQualityLevel4Packets;
uint32_t rcvdQualityLevel4Packets;
uint32_t allocs;
uint32_t frees;
uint32_t memCurrent;
uint32_t memPeak;
uint32_t establishedConnections;
uint32_t failedConnections;
uint32_t failedConnectionsReset;
uint32_t failedConnectionsRefused;
uint32_t failedConnectionsTimeout;
uint32_t failedConnectionsVersionMismatch;
uint32_t failedConnectionsTransportTypeMismatch;
uint32_t failedConnectionsQualityLevelMismatch;
uint64_t rcvdUdpBytes;
uint32_t sentUdpPackets;
uint32_t rcvdUdpPackets;
uint64_t sentUserBytes;
uint32_t sentUserPackets;
uint64_t rcvdUserBytes;
uint32_t rcvdUserPackets;
uint32_t sentLatencyCriticalPackets;
uint32_t rcvdLatencyCriticalPackets;
uint32_t sentSynPackets;
uint32_t rcvdSynPackets;
uint32_t sentUsrPackets;
uint32_t rcvdUsrPackets;
uint32_t sentPrbPackets;
uint32_t rcvdPrbPackets;
uint32_t sentRstPackets;
uint32_t rcvdRstPackets;
uint32_t lostPackets;
uint32_t retransmittedPackets;
uint32_t reorderedPackets;
uint32_t currentContexts;
uint64_t sentQualityLevel1Bytes;
uint64_t rcvdQualityLevel1Bytes;
uint32_t sentQualityLevel1Packets;
uint32_t rcvdQualityLevel1Packets;
uint64_t sentQualityLevel2Bytes;
uint64_t rcvdQualityLevel2Bytes;
uint32_t sentQualityLevel2Packets;
uint32_t rcvdQualityLevel2Packets;
uint64_t sentQualityLevel3Bytes;
uint64_t rcvdQualityLevel3Bytes;
uint32_t sentQualityLevel3Packets;
uint32_t rcvdQualityLevel3Packets;
uint64_t sentQualityLevel4Bytes;
uint64_t rcvdQualityLevel4Bytes;
uint32_t sentQualityLevel4Packets;
uint32_t rcvdQualityLevel4Packets;
uint32_t allocs;
uint32_t frees;
uint32_t memCurrent;
uint32_t memPeak;
uint32_t establishedConnections;
uint32_t failedConnections;
uint32_t failedConnectionsReset;
uint32_t failedConnectionsRefused;
uint32_t failedConnectionsTimeout;
uint32_t failedConnectionsVersionMismatch;
uint32_t failedConnectionsTransportTypeMismatch;
uint32_t failedConnectionsQualityLevelMismatch;
};
struct SceRudpReadInfo {
uint8_t size;
uint8_t retransmissionCount;
uint16_t retransmissionDelay;
uint8_t retransmissionDelay2;
uint8_t flags;
uint16_t sequenceNumber;
uint32_t timestamp;
uint8_t retransmissionCount;
uint16_t retransmissionDelay;
uint8_t retransmissionDelay2;
uint8_t flags;
uint16_t sequenceNumber;
uint32_t timestamp;
};
struct SceRudpPollEvent {
int ctxId;
uint16_t reqEvents;
uint16_t rtnEvents;
uint16_t reqEvents;
uint16_t rtnEvents;
};

View File

@ -91,7 +91,21 @@ EXPORT SYSV_ABI int sceKernelAioSubmitWriteCommandsMultiple(SceKernelAioRWReques
EXPORT SYSV_ABI void sceKernelAioInitializeParam(SceKernelAioParam* param) {
LOG_USE_MODULE(aio);
LOG_ERR(L"todo %S", __FUNCTION__);
(param->low).schedulingWindowSize = 0x20;
(param->low).delayedCountLimit = 0x20;
(param->low).enableSplit = 1;
(param->low).splitSize = 0x100000;
(param->low).splitChunkSize = 0x100000;
(param->mid).schedulingWindowSize = 0x20;
(param->mid).delayedCountLimit = 0x20;
(param->mid).enableSplit = 1;
(param->mid).splitSize = 0x100000;
(param->mid).splitChunkSize = 0x100000;
(param->high).schedulingWindowSize = 0x20;
(param->high).delayedCountLimit = 0x20;
(param->high).enableSplit = 0;
(param->high).splitSize = 0;
(param->high).splitChunkSize = 0;
}
EXPORT SYSV_ABI int sceKernelAioSetParam(SceKernelAioSchedulingParam* param, int schedulingWindowSize, int handleelayedCountLimit, uint32_t enableSplit,