From 0571f31b167fd019924c9e400954f007d0903ce0 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 18 一月 2017 16:13:05 +0800
Subject: [PATCH] fix for compile
---
RtspFace/make.sh | 15 +++-
RtspFace/ev_server.cpp | 4 +
RtspFace/ev_server.h | 2
RtspFace/main_face_daemon.cpp | 7 +-
RtspFace/main.cpp | 76 ++++++++++++------------
RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.cpp | 10 +-
RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.h | 4
RtspFace/PL_SensetimeFaceDetect.h | 4
RtspFace/PL_SensetimeFaceDetect.cpp | 13 ++--
9 files changed, 74 insertions(+), 61 deletions(-)
diff --git a/RtspFace/PL_SensetimeFaceDetect.cpp b/RtspFace/PL_SensetimeFaceDetect.cpp
index 3707b9f..ceae262 100644
--- a/RtspFace/PL_SensetimeFaceDetect.cpp
+++ b/RtspFace/PL_SensetimeFaceDetect.cpp
@@ -3,6 +3,7 @@
#include "logger.h"
#include "SensetimeFaceAPIWrapper/src/FaceDBPool.h"
+#include "SensetimeFaceAPIWrapper/src/faceAPI.h"
#include <opencv2/opencv.hpp>
#include <cv_face.h>
@@ -94,10 +95,10 @@
return false;
}
- faceAPI* _faceAPI = (faceAPI*)frame->_faceAPI;
- if (_faceAPI == nullptr)
+ FaceDB* _faceDB = (FaceDB*)frame->_faceDB;
+ if (_faceDB == nullptr)
{
- LOG_ERROR << "faceAPI is null";
+ LOG_ERROR << "FaceDB is null";
return false;
}
@@ -109,9 +110,9 @@
}
cv::Mat yuvMat(cv::Size(frame->width,frame->height), CV_8UC3, frame->buffer);
- //cv_feature_t* feature = _faceAPI->extract_feature(yuvMat);
- //in->lastResult.st_id = _faceAPI->search_db(feature);
- in->lastResult.st_id = _faceAPI->do_reasch(yuvMat);
+ cv_feature_t* feature = _faceDB->extract_feature(yuvMat);
+ in->lastResult.st_id = _faceDB->search_db(feature);
+ //in->lastResult.st_id = _faceDB->do_reasch(yuvMat);
//#todo release feature
in->lastResult.school_id = frame->school_id;
diff --git a/RtspFace/PL_SensetimeFaceDetect.h b/RtspFace/PL_SensetimeFaceDetect.h
index 8454ad7..7a3fd0c 100644
--- a/RtspFace/PL_SensetimeFaceDetect.h
+++ b/RtspFace/PL_SensetimeFaceDetect.h
@@ -8,9 +8,9 @@
struct SensetimeFaceDetectDbFrame : public MB_Frame
{
int school_id;
- void* _faceAPI;
+ void* _faceDB;
- SensetimeFaceDetectDbFrame() : MB_Frame(), school_id(-1), _faceAPI(nullptr)
+ SensetimeFaceDetectDbFrame() : MB_Frame(), school_id(-1), _faceDB(nullptr)
{ }
};
diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.cpp b/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.cpp
index 147d4e1..1f87a5c 100644
--- a/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.cpp
+++ b/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.cpp
@@ -40,7 +40,7 @@
{
int dbid;
pthread_mutex_t db_mutex;
- faceAPI* api;
+ FaceDB* api;
ThreadSafeFaceDB() : dbid(-1), db_mutex(), api(nullptr)
{
@@ -69,7 +69,7 @@
facedb_map_t* _face_db_map = (facedb_map_t*)face_db_map;
for (facedb_map_t::iterator iter = _face_db_map->begin(); iter != _face_db_map->end(); ++iter)
{
- iter->second->api->db_save();
+ iter->second->api->finally();
delete iter->second->api;
delete iter->second;
}
@@ -81,7 +81,7 @@
pool_mutex = nullptr;
}
-void FaceDBPool::manage(int dbid, faceAPI* db)
+void FaceDBPool::manage(int dbid, FaceDB* db)
{
if (dbid < 0 || db == nullptr)
return;
@@ -109,14 +109,14 @@
if (iter == _face_db_map->end())
return;
- iter->second->api->db_save();
+ iter->second->api->finally();
delete iter->second->api;
delete iter->second;
_face_db_map->erase(iter);
}
-faceAPI* FaceDBPool::get_free(int dbid)
+FaceDB* FaceDBPool::get_free(int dbid)
{
ThreadSafeFaceDB* tsfdb = nullptr;
{
diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.h b/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.h
index dea0b55..f56c5a3 100644
--- a/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.h
+++ b/RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.h
@@ -9,10 +9,10 @@
FaceDBPool();
~FaceDBPool();
- void manage(int dbid, faceAPI* db);
+ void manage(int dbid, FaceDB* db);
void unmanage(int dbid);
- faceAPI* get_free(int dbid);
+ FaceDB* get_free(int dbid);
void release(int dbid);
bool wait_free() { return true; }
diff --git a/RtspFace/ev_server.cpp b/RtspFace/ev_server.cpp
index a6367c1..87f4294 100644
--- a/RtspFace/ev_server.cpp
+++ b/RtspFace/ev_server.cpp
@@ -42,6 +42,10 @@
{ }
};
+#ifndef USER_DEFINE_EVCLIENT_PROC
+evclient_proc_t evclient_proc = nullptr;
+#endif
+
// Set a socket to non-blocking mode.
static int setnonblock(int fd)
{
diff --git a/RtspFace/ev_server.h b/RtspFace/ev_server.h
index aab56d0..75749b5 100644
--- a/RtspFace/ev_server.h
+++ b/RtspFace/ev_server.h
@@ -38,6 +38,8 @@
typedef bool (*evclient_proc_t)(EVClientStub& client);
extern evclient_proc_t evclient_proc;
+//#define USER_DEFINE_EVCLIENT_PROC
+
int server_main(int argc, char **argv);
void ev_send_packet(EVClientStub& client);
diff --git a/RtspFace/main.cpp b/RtspFace/main.cpp
index f900b8e..8d2d693 100644
--- a/RtspFace/main.cpp
+++ b/RtspFace/main.cpp
@@ -71,25 +71,25 @@
}
}
- {
- PL_Scale_Config config;
- config.toWidth = 800;
- config.toHeight = 600;
- PL_Scale* ple = (PL_Scale*)pipeLine.push_elem("PL_Scale");
- bool ret = ple->init(&config);
- if (!ret)
- {
- LOG_ERROR << "PL_Scale.init error";
- exit(EXIT_FAILURE);
- }
- }
+ //{
+ // PL_Scale_Config config;
+ // config.toWidth = 800;
+ // config.toHeight = 600;
+ // PL_Scale* ple = (PL_Scale*)pipeLine.push_elem("PL_Scale");
+ // bool ret = ple->init(&config);
+ // if (!ret)
+ // {
+ // LOG_ERROR << "PL_Scale.init error";
+ // exit(EXIT_FAILURE);
+ // }
+ //}
- {
- SensetimeFaceTrackConfig config;
- //config.generate_face_feature = true;
- PL_SensetimeFaceTrack* ple = (PL_SensetimeFaceTrack*)pipeLine.push_elem("PL_SensetimeFaceTrack");
- ple->init(&config);
- }
+ //{
+ // SensetimeFaceTrackConfig config;
+ // //config.generate_face_feature = true;
+ // PL_SensetimeFaceTrack* ple = (PL_SensetimeFaceTrack*)pipeLine.push_elem("PL_SensetimeFaceTrack");
+ // ple->init(&config);
+ //}
//PipeLine pipeLine2;
//{
@@ -124,26 +124,26 @@
// }
//}
- {
- PL_H264Encoder_Config config;
- PL_H264Encoder* h264Encoder = (PL_H264Encoder*)pipeLine.push_elem("PL_H264Encoder");
- bool ret = h264Encoder->init(&config);
- if (!ret)
- {
- LOG_ERROR << "PL_H264Encoder.init error";
- exit(EXIT_FAILURE);
- }
- }
-
- {
- PL_RTSPServer* rtspServer = (PL_RTSPServer*)pipeLine.push_elem("PL_RTSPServer");
- bool ret = rtspServer->init(nullptr);
- if (!ret)
- {
- LOG_ERROR << "rtspServer.init error";
- exit(EXIT_FAILURE);
- }
- }
+ //{
+ // PL_H264Encoder_Config config;
+ // PL_H264Encoder* h264Encoder = (PL_H264Encoder*)pipeLine.push_elem("PL_H264Encoder");
+ // bool ret = h264Encoder->init(&config);
+ // if (!ret)
+ // {
+ // LOG_ERROR << "PL_H264Encoder.init error";
+ // exit(EXIT_FAILURE);
+ // }
+ //}
+ //
+ //{
+ // PL_RTSPServer* rtspServer = (PL_RTSPServer*)pipeLine.push_elem("PL_RTSPServer");
+ // bool ret = rtspServer->init(nullptr);
+ // if (!ret)
+ // {
+ // LOG_ERROR << "rtspServer.init error";
+ // exit(EXIT_FAILURE);
+ // }
+ //}
while(true)
{
diff --git a/RtspFace/main_face_daemon.cpp b/RtspFace/main_face_daemon.cpp
index b614719..2867f70 100644
--- a/RtspFace/main_face_daemon.cpp
+++ b/RtspFace/main_face_daemon.cpp
@@ -22,6 +22,7 @@
#include "face_daemon_proto.h"
#include "SensetimeFaceAPIWrapper/src/FaceDBPool.h"
+#include "SensetimeFaceAPIWrapper/src/faceAPI.h"
#include "logger.h"
@@ -102,8 +103,8 @@
FDP_Image* fdpImage = (FDP_Image*)(client.recvBuff + sizeof(EVPHeader));
- faceAPI* _faceAPI = g_faceAPIPool.get_free(fdpImage->school_id);
- if (_faceAPI == nullptr)
+ FaceDB* _faceDB = g_faceAPIPool.get_free(fdpImage->school_id);
+ if (_faceDB == nullptr)
{
LOG_WARN << "can't get face db";
ev_send_status_packet(client, EVPStatus::EVPS_PARAMETER_ERROR);
@@ -132,7 +133,7 @@
dbFrame.width = fdpImage->width;
dbFrame.height = fdpImage->height;
dbFrame.school_id = fdpImage->school_id;
- dbFrame._faceAPI = _faceAPI;
+ dbFrame._faceDB = _faceDB;
PipeMaterial pm;
pm.type = PipeMaterial::PMT_FRAME;
diff --git a/RtspFace/make.sh b/RtspFace/make.sh
index 68552da..ac8fc5d 100644
--- a/RtspFace/make.sh
+++ b/RtspFace/make.sh
@@ -38,17 +38,21 @@
LIBLOG4CPP_LIB="-L$LIBLOG4CPP_BASE/lib -llog4cpp"
# -O3
-CPPFLAGS+="-g -mavx -c -std=c++11 -pthread $LIVEMEDIA_INC $FFMPEG_INC $LIBBASE64_INC $LIBYUV_INC $SENSETIMEFACESDK_INC $LIBLOG4CPP_INC $DLIB_INC"
-LDFLAGS+="-pthread -levent $LIVEMEDIA_LIB $FFMPEG_LIB $LIBBASE64_LIB $LIBYUV_LIB $LIBX264_LIB $SENSETIMEFACESDK_LIB $OPENCV_LIB $LIBLOG4CPP_LIB $DLIB_LIB"
+CPPFLAGS+="-g -mavx -c -std=c++11 -pthread $LIVEMEDIA_INC $FFMPEG_INC $LIBBASE64_INC $LIBYUV_INC $SENSETIMEFACESDK_INC $LIBLOG4CPP_INC $DLIB_INC "
+LDFLAGS+="-pthread -levent $LIVEMEDIA_LIB $FFMPEG_LIB $LIBBASE64_LIB $LIBYUV_LIB $LIBX264_LIB $SENSETIMEFACESDK_LIB $OPENCV_LIB $LIBLOG4CPP_LIB $DLIB_LIB "
CFLAGS+="-D__STDC_CONSTANT_MACROS"
rm rtsp_face
rm *.o
-#g++ main.cpp $CFLAGS $CPPFLAGS -o main.o
+g++ main.cpp $CFLAGS $CPPFLAGS -o main.o
+
#g++ main_dump_st_face.cpp $CFLAGS $CPPFLAGS -o main.o
-g++ main_face_daemon.cpp $CFLAGS $CPPFLAGS -o main.o
+
+#CPPFLAGS+="-DUSER_DEFINE_EVCLIENT_PROC "
+#g++ main_face_daemon.cpp $CFLAGS $CPPFLAGS -o main.o
+
g++ ev_server.cpp $CFLAGS $CPPFLAGS
g++ PipeLine.cpp $CFLAGS $CPPFLAGS
g++ PipeLinePool.cpp $CFLAGS $CPPFLAGS
@@ -75,6 +79,7 @@
g++ $FFMPEGRTSPSERVER_BASE/LiveServerMediaSubsession.cpp $CFLAGS $CPPFLAGS
g++ ./SensetimeFaceAPIWrapper/src/FaceDBPool.cpp $CFLAGS $CPPFLAGS
+g++ ./SensetimeFaceAPIWrapper/src/faceAPI.cpp $CFLAGS $CPPFLAGS
g++ -g -std=c++11 \
main.o PipeLine.o PipeLinePool.o \
@@ -83,7 +88,7 @@
PL_SensetimeFaceTrack.o PL_SensetimeFaceDetect.o \
PL_DlibFaceTrack.o \
$FFMPEGRTSPSERVER_OBJ PL_RTSPServer.o \
- FaceDBPool.o \
+ FaceDBPool.o faceAPI.o \
$LDFLAGS -o rtsp_face
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBX264_BASE/lib:$FFMPEG_BASE/lib:$SENSETIMEFACESDK_BASE/libs/linux-x86_64:$LIBLOG4CPP_BASE/lib:$DLIB_BASE/build/dlib
--
Gitblit v1.8.0