houxiao
2017-08-02 afcb649c8a2785c6095be5762c6077f9e15afd1a
c++ dupl image

git-svn-id: http://192.168.1.226/svn/proxy@967 454eff88-639b-444f-9e54-f578c98de674
5个文件已修改
240 ■■■■■ 已修改文件
VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt 157 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCacheForPLBG.cpp 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
@@ -6,52 +6,57 @@
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -fno-rtti  -Wall -UNDEBUG")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -DANDROID_PLATFORM=android-22  -DANDROID_TOOLCHAIN=gcc -DANDROID_STL=gnustl_static -Wall -UNDEBUG")
set(WORKSPACE_PATH "D:/workspace/proxy")
set(ARCH "armeabi-v7a")
add_library(rtspface SHARED
            RtspNativeCodecJNI.cpp
            CameraWrapper.cpp
            FaceCache.cpp
            FaceCacheForPLBG.cpp
            DebugNetwork.cpp
            CaptureCamera.cpp
            serial.c
            cpu_sched_test.cpp
            TeleWrapper.cpp
            RtspNativeCodecJNI.cpp
            CameraWrapper.cpp
            FaceCache.cpp
            FaceCacheForPLBG.cpp
            DebugNetwork.cpp
            CaptureCamera.cpp
            cpu_sched_test.cpp
            serial.c
            TeleWrapper.cpp
            "D:/Documents/works/RtspFace/PL_Scale.cpp"
            "D:/Documents/works/RtspFace/PipeLine.cpp"
            "D:/Documents/works/RtspFace/Logger/src/logger.cc"
            "D:/Documents/works/RtspFace/MediaHelper.cpp"
            "D:/Documents/works/RtspFace/GraphicHelper.cpp"
            "D:/Documents/works/RtspFace/PL_RTSPClient.cpp"
            "D:/Documents/works/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp"
            "D:/Documents/works/RtspFace/PL_AndroidSurfaceViewRender.cpp"
            "D:/Documents/works/RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp"
            "D:/Documents/works/RtspFace/PL_ColorConv.cpp"
            "D:/Documents/works/RtspFace/PL_Gainer.cpp"
            "D:/Documents/works/RtspFace/PL_Paint.cpp"
            "D:/Documents/works/RtspFace/PL_V4L2Source.cpp"
            "D:/Documents/works/RtspFace/PL_BlockGrouping.cpp"
            "D:/Documents/works/RtspFace/PL_Queue.cpp"
            "${WORKSPACE_PATH}/RtspFace/PipeLine.cpp"
            "${WORKSPACE_PATH}/RtspFace/Logger/src/logger.cc"
            "${WORKSPACE_PATH}/RtspFace/MediaHelper.cpp"
            "${WORKSPACE_PATH}/RtspFace/GraphicHelper.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_RTSPClient.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_AndroidSurfaceViewRender.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_Gainer.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_Scale.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_ColorConv.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_Paint.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_V4L2Source.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_BlockGrouping.cpp"
            #"${WORKSPACE_PATH}/RtspFace/PL_Queue.cpp"
            #"${WORKSPACE_PATH}/RtspFace/PL_Fork2.cpp"
            "${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecEncoder.cpp"
            "D:/Documents/works/FaceServer/proto_hton_ntoh.cpp"
            "D:/Documents/works/FaceServer/PbFaceList.pb.cc"
            "${WORKSPACE_PATH}/FaceServer/proto_hton_ntoh.cpp"
            "${WORKSPACE_PATH}/FaceServer/PbFaceList.pb.cc"
             "D:/Documents/works/RtspFace/libv4l2cpp/src/V4l2Capture.cpp"
             "D:/Documents/works/RtspFace/libv4l2cpp/src/V4l2Device.cpp"
             "D:/Documents/works/RtspFace/libv4l2cpp/src/V4l2MmapDevice.cpp"
             "D:/Documents/works/RtspFace/libv4l2cpp/src/V4l2Output.cpp"
             "${WORKSPACE_PATH}/RtspFace/libv4l2cpp/src/V4l2Capture.cpp"
             "${WORKSPACE_PATH}/RtspFace/libv4l2cpp/src/V4l2Device.cpp"
             "${WORKSPACE_PATH}/RtspFace/libv4l2cpp/src/V4l2MmapDevice.cpp"
             "${WORKSPACE_PATH}/RtspFace/libv4l2cpp/src/V4l2Output.cpp"
             "D:/Documents/works/RtspFace/CvUtil/CvxText.cpp"
            "${WORKSPACE_PATH}/RtspFace/CvUtil/CvxText.cpp"
            )
            )
# Include libraries needed for native-codec-jni lib
target_link_libraries(rtspface
                      android
                      log
                      #ui
                      mediandk
                      #OpenMAXAL
                      android
                      log
                      #ui
                      mediandk
                      #OpenMAXAL
                      #jnigraphics
                      #EGL
                      #GLESv2
@@ -59,52 +64,58 @@
                      )
include_directories(
                    "D:/Documents/works/RtspFace"
                    "D:/Documents/works/FaceServer"
                    "${WORKSPACE_PATH}/RtspFace"
                    "${WORKSPACE_PATH}/FaceServer"
                    #"D:/workspace/libhardware-android-5.1.1_r38/include"
                    #"D:/workspace/core-android-5.1.1_r38/include"
                    #"D:/workspace/native-android-5.1.1_r38/include"
                    #"D:/workspace/core-android-5.1.1_r38/libsync/include"
                    #"D:/workspace/native-android-5.1.1_r38/opengl/include"
                    #"D:/workspace/libhardware-android-5.1.1_r38/include"
                    #"D:/workspace/core-android-5.1.1_r38/include"
                    #"D:/workspace/native-android-5.1.1_r38/include"
                    #"D:/workspace/core-android-5.1.1_r38/libsync/include"
                    #"D:/workspace/native-android-5.1.1_r38/opengl/include"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/include"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/libyuv/include"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libyuv/include"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/opencv/include"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/opencv/include"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/protobuf/include"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/protobuf/include"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/st_face/include"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/st_face/include"
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/include"
                    "D:/Documents/works/RtspFace/libv4l2cpp/inc"
                    "${WORKSPACE_PATH}/RtspFace/libv4l2cpp/inc"
                    #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libv4l2wrapper/include"
                    "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/freetype/include/freetype2"
                    #"D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/libv4l2wrapper/include"
                    )
                    "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/freetype/include/freetype2"
                    )
target_link_libraries(rtspface
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/lib/arm64-v8a/libliveMedia.a"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/lib/arm64-v8a/libgroupsock.a"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/lib/arm64-v8a/libBasicUsageEnvironment.a"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/live555/lib/arm64-v8a/libUsageEnvironment.a"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libliveMedia.a"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libgroupsock.a"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libBasicUsageEnvironment.a"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libUsageEnvironment.a"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/libyuv/lib/arm64-v8a/libyuv_static.a"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/opencv/lib/arm64-v8a/libopencv_java3.so"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/protobuf/lib/arm64-v8a/libprotobuf.so"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/st_face/lib/arm64-v8a/libcvface_api.so"
                      "D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/freetype/lib/arm64-v8a/libfreetype.so"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libyuv/lib/${ARCH}/libyuv_static.a"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/opencv/lib/${ARCH}/libopencv_java3.so"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/protobuf/lib/${ARCH}/libprotobuf.so"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/st_face/lib/${ARCH}/libcvface_api.so"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/freetype/lib/${ARCH}/libfreetype.so"
                      #"D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/libv4l2wrapper/lib/arm64-v8a/libv4l2wrapper.a"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnp-0.6.1.so"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnpc-0.6.1.so"
                      "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libkj-0.6.1.so"
                      #"D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/android_sys/libgui.so"
                      #"D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/android_sys/libui.so"
                      #"D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/android_sys/libEGL.so"
                      #"D:/Documents/works/VisitFace/RtspNativeCodec/app/libs/android_sys/libGLESv3.so"
                      )
                      #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libv4l2wrapper/lib/${ARCH}/libv4l2wrapper.a"
                      #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libgui.so"
                      #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libui.so"
                      #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libEGL.so"
                      #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libGLESv3.so"
                      )
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCacheForPLBG.cpp
@@ -39,9 +39,13 @@
    size_t frameRGBSize;
    bool frameTruncated;
    typedef std::map<int, float> block_score_filter_map_t;
    block_score_filter_map_t blockScoreFilter;
    FcPmBreackerContextPLBG() :
            lastOutputs(), lastOutputsRGBBufs(), frameYUV(), frameYUVSize(0), frameRGB(),frameRGBSize(0),
            frameTruncated(false)
            frameTruncated(false),
            blockScoreFilter()
    {}
    void reset()
@@ -178,8 +182,48 @@
size_t FaceCacheForPLBG::getFaceCount(const PipeMaterial& pm) const
{
    FcPmBreackerContextPLBG& ctx(*(FcPmBreackerContextPLBG*)_ctx);
    plbg_output_vec_t* plbgOut = (plbg_output_vec_t*)pm.buffer;
    return plbgOut->size();
    bool hasFiltedBlock = false;
    int min_st_track_id = 0;
    for (plbg_output_vec_t::iterator iterBGOut = plbgOut->begin(); iterBGOut != plbgOut->end(); ++iterBGOut)
    {
        int st_track_id = (int)(int64_t)(iterBGOut->rectInOriginFrame.userData);
        float score = iterBGOut->score;
        FcPmBreackerContextPLBG::block_score_filter_map_t::iterator iterFilter = ctx.blockScoreFilter.find(st_track_id);
        if (iterFilter == ctx.blockScoreFilter.end())
        {
            ctx.blockScoreFilter.insert(std::make_pair(st_track_id, score));
            hasFiltedBlock = true;
        }
        else
        {
            if (iterFilter->second < score)
            {
                iterFilter->second = score;
                hasFiltedBlock = true;
            }
        }
        if (min_st_track_id > st_track_id)
            min_st_track_id = st_track_id;
    }
    for(FcPmBreackerContextPLBG::block_score_filter_map_t::iterator iterFilter = ctx.blockScoreFilter.begin(); iterFilter != ctx.blockScoreFilter.end(); )
    {
        if (iterFilter->first < min_st_track_id)
            iterFilter = ctx.blockScoreFilter.erase(iterFilter);
        else
            ++iterFilter;
    }
    if (hasFiltedBlock)
        return plbgOut->size();
    else
        return 0;
}
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -15,7 +15,6 @@
#include <face_daemon_proto.h>
#include <stdlib.h>
#include <endian.h>
#include "DebugNetwork.h"
#include "TeleWrapper.h"
@@ -337,8 +336,8 @@
        cameraWrapper.sftConfig.clamp_feature_rect = true;
        cameraWrapper.sftConfig.doTrackPerFrame = 1;
        //cameraWrapper.sftConfig.license_str = g_stface_license_str;
        cameraWrapper.sftConfig.visionConeAngle = 35.0f;
        cameraWrapper.sftConfig.score_min = 0.2f;
        cameraWrapper.sftConfig.visionConeAngle = 30.0f;
        cameraWrapper.sftConfig.score_min = 0.4f;
    }
    cameraWrapper.fontPath = "/data/msyh.ttc";
VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp
@@ -32,16 +32,22 @@
    //CPU_CLR(0x0004, &mask);
    //CPU_CLR(0x0005, &mask);
    CPU_SET(0x0000, &mask);
    CPU_SET(0x0001, &mask);
    CPU_SET(0x0002, &mask);
    CPU_SET(0x0003, &mask);
    CPU_SET(0x0004, &mask);
    CPU_SET(0x0005, &mask);
    if (sched_setaffinity(0, sizeof(mask), &mask) == -1)
    {
        LOG_ERROR << "warning: could not set CPU affinity" << LOG_ENDL;
    }
    for(int i= 0; i< num; i++)
    {
        LOG_ERROR << "cpu " << i <<": " << CPU_ISSET(i, &mask) <<LOG_ENDL;
    }
    //CPU_SET(id, &mask);
    if (sched_setaffinity(0, sizeof(mask), &mask) == -1)
    {
        LOG_ERROR << "warning: could not set CPU affinity" << LOG_ENDL;
    }
}
void cpu_sched()
VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
@@ -46,6 +46,7 @@
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.ByteBuffer;
@@ -85,6 +86,13 @@
        setContentView(R.layout.main);
        ThisActivity = this;
        try {
            Process su = Runtime.getRuntime().exec("su");
        } catch (IOException e) {
            e.printStackTrace();
        }
        //Runtime.getRuntime().exec(new String[]{"/system/bin/su","-c", cmd});
        RtspFaceNative.init();
        for (int i=0 ;i < 32; i+=2){
            RtspFaceNative.setFaceLabel(1, i, "中文名字");
@@ -93,7 +101,7 @@
            RtspFaceNative.setFaceLabel(2, i+1, "abcd");
        }
        RtspFaceNative.setLocalIP("192.168.1.75");
        RtspFaceNative.setLocalIP("192.168.1.82");
        mGLView1 = (MyGLSurfaceView) findViewById(R.id.glsurfaceview1);
@@ -288,7 +296,7 @@
                        //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin@192.168.1.188:554/cam/realmonitor?channel=1&subtype=2");
                        mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.202:554/h264/ch1/main/av_stream");
                        //mCreated = RtspFaceNative.createPlayer(2, "rtsp://Admin:1234@192.168.1.22/h264");
                        mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream");
                        //mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream");
                        //mCreated = createPlayer(1, "rtsp://192.168.1.56:8554");
                        //byte[] arr = new byte[5];