From d4109b2cef809daba0f95f244029456613383f01 Mon Sep 17 00:00:00 2001 From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 06 一月 2017 11:31:42 +0800 Subject: [PATCH] add pm list test --- RtspFace/main.cpp | 58 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 20 deletions(-) diff --git a/RtspFace/main.cpp b/RtspFace/main.cpp index 738b9b1..f900b8e 100644 --- a/RtspFace/main.cpp +++ b/RtspFace/main.cpp @@ -7,6 +7,7 @@ #include "PL_AVFrameBGRA.h" #include "PL_Queue.h" #include "PL_Scale.h" +#include "PL_Fork.h" #include "PL_SensetimeFaceTrack.h" @@ -20,13 +21,14 @@ PipeLine pipeLine; - pipeLine.register_elem_creator("PL_RTSPClient", create_PL_RTSPClient); - pipeLine.register_elem_creator("PL_RTSPServer", create_PL_RTSPServer); - pipeLine.register_elem_creator("PL_H264Decoder", create_PL_H264Decoder); - pipeLine.register_elem_creator("PL_AVFrameYUV420", create_PL_AVFrameYUV420); - pipeLine.register_elem_creator("PL_H264Encoder", create_PL_H264Encoder); - pipeLine.register_elem_creator("PL_Queue", create_PL_Queue); - pipeLine.register_elem_creator("PL_Scale", create_PL_Scale); + PipeLine::register_global_elem_creator("PL_RTSPClient", create_PL_RTSPClient); + PipeLine::register_global_elem_creator("PL_RTSPServer", create_PL_RTSPServer); + PipeLine::register_global_elem_creator("PL_H264Decoder", create_PL_H264Decoder); + PipeLine::register_global_elem_creator("PL_AVFrameYUV420", create_PL_AVFrameYUV420); + PipeLine::register_global_elem_creator("PL_H264Encoder", create_PL_H264Encoder); + PipeLine::register_global_elem_creator("PL_Queue", create_PL_Queue); + PipeLine::register_global_elem_creator("PL_Scale", create_PL_Scale); + PipeLine::register_global_elem_creator("PL_Fork", create_PL_Scale); pipeLine.register_elem_creator("PL_SensetimeFaceTrack", create_PL_SensetimeFaceTrack); @@ -73,8 +75,8 @@ PL_Scale_Config config; config.toWidth = 800; config.toHeight = 600; - PL_Scale* pl = (PL_Scale*)pipeLine.push_elem("PL_Scale"); - bool ret = pl->init(&config); + PL_Scale* ple = (PL_Scale*)pipeLine.push_elem("PL_Scale"); + bool ret = ple->init(&config); if (!ret) { LOG_ERROR << "PL_Scale.init error"; @@ -82,19 +84,34 @@ } } + { + SensetimeFaceTrackConfig config; + //config.generate_face_feature = true; + PL_SensetimeFaceTrack* ple = (PL_SensetimeFaceTrack*)pipeLine.push_elem("PL_SensetimeFaceTrack"); + ple->init(&config); + } + + //PipeLine pipeLine2; //{ - // SensetimeFaceTrackConfig config; - // PL_SensetimeFaceTrack* pl = (PL_SensetimeFaceTrack*)pipeLine.push_elem("PL_SensetimeFaceTrack"); - // pl->init(&config); + // PL_Fork_Config config; + // config.forkBy = PL_Fork::FB_MB_TYPE; + // config.forkSync = PL_Fork::FS_PARALLEL; + // PL_Fork* ple = (PL_Fork*)pipeLine.push_elem("PL_Fork"); + // ple->init(&config); + // ple->attach_pipe_line(&pipeLine2); + // + // { + // //pipeLine2.push_elem(); + // } //} - { - PL_DlibFaceTrack_Config config; - config.pyramid_down_layers = 2; - config.pyramid_down_n = 1; - PL_DlibFaceTrack* pl = (PL_DlibFaceTrack*)pipeLine.push_elem("PL_DlibFaceTrack"); - pl->init(&config); - } + //{ + // PL_DlibFaceTrack_Config config; + // config.pyramid_down_layers = 2; + // config.pyramid_down_n = 1; + // PL_DlibFaceTrack* ple = (PL_DlibFaceTrack*)pipeLine.push_elem("PL_DlibFaceTrack"); + // ple->init(&config); + //} //{//#todo queue should support deep copy // PL_Queue_Config config; @@ -108,8 +125,9 @@ //} { + PL_H264Encoder_Config config; PL_H264Encoder* h264Encoder = (PL_H264Encoder*)pipeLine.push_elem("PL_H264Encoder"); - bool ret = h264Encoder->init(nullptr); + bool ret = h264Encoder->init(&config); if (!ret) { LOG_ERROR << "PL_H264Encoder.init error"; -- Gitblit v1.8.0