#include "PL_SensetimeFaceDetect.h" struct PL_SensetimeFaceDetect_Internal { uint8_t buffer[1920*1080*4]; size_t buffSize; size_t buffSizeMax; bool payError; PL_SensetimeFaceDetect_Internal() : buffSize(0), buffSizeMax(sizeof(buffer)), payError(true) { } ~PL_SensetimeFaceDetect_Internal() { } void reset() { buffSize = 0; payError = true; } }; PipeLineElem* create_PL_SensetimeFaceDetect() { return new PL_SensetimeFaceDetect; } PL_SensetimeFaceDetect::PL_SensetimeFaceDetect() : internal(new PL_SensetimeFaceDetect_Internal) { } PL_SensetimeFaceDetect::~PL_SensetimeFaceDetect() { delete (PL_SensetimeFaceDetect_Internal*)internal; internal= nullptr; } bool PL_SensetimeFaceDetect::init(void* args) { PL_SensetimeFaceDetect_Internal* in = (PL_SensetimeFaceDetect_Internal*)internal; in->reset(); return true; } void PL_SensetimeFaceDetect::finit() { PL_SensetimeFaceDetect_Internal* in = (PL_SensetimeFaceDetect_Internal*)internal; } bool PL_SensetimeFaceDetect::pay(const PipeMaterial& pm) { PL_SensetimeFaceDetect_Internal* in = (PL_SensetimeFaceDetect_Internal*)internal; //in->buffer readly //static size_t f=0; //char fname[50]; //sprintf(fname, "%u.bgra", ++f); //FILE * pFile = fopen (fname,"wb"); //fwrite (in->buffer , sizeof(char), in->buffSize, pFile); //fclose(pFile); return true; } bool PL_SensetimeFaceDetect::gain(PipeMaterial& pm) { PL_SensetimeFaceDetect_Internal* in = (PL_SensetimeFaceDetect_Internal*)internal; pm.buffer = in->buffer; pm.buffSize = in->buffSize; pm.former = this; return true; }