From 217b286ad5eb04084ab82e870d90a5d1809b3a28 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 02 八月 2017 11:17:46 +0800
Subject: [PATCH] split client server

---
 VisitFace/RtspNativeCodec/app/src/main/AndroidManifest.xml                           |    1 
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.h                |    4 
 VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp                   |  126 +++-
 VisitFace/RtspNativeCodec/.idea/workspace.xml                                        | 1089 +++++++++++++++++++++++++-------------------
 VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt                            |  136 ++++-
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp              |    4 
 VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.h                     |    4 
 VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java |    3 
 VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.cpp                   |   40 +
 VisitFace/RtspNativeCodec/app/build.gradle                                           |    2 
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.h                |    4 
 VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.h                     |    4 
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.cpp              |    4 
 13 files changed, 857 insertions(+), 564 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/.idea/workspace.xml b/VisitFace/RtspNativeCodec/.idea/workspace.xml
index e4140ea..74f9081 100644
--- a/VisitFace/RtspNativeCodec/.idea/workspace.xml
+++ b/VisitFace/RtspNativeCodec/.idea/workspace.xml
@@ -14,20 +14,27 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" readonly="true" id="7ae7b537-c9d7-47f6-b809-98f2bf0296aa" name="Default" comment="">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperClient.cpp" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperClient.h" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperServer.cpp" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperServer.h" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIClient.cpp" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIClient.h" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIServer.cpp" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIServer.h" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" afterPath="" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" afterPath="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PipeLine.h" afterPath="$PROJECT_DIR$/../../RtspFace/PipeLine.h" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/app.iml" afterPath="$PROJECT_DIR$/app/app.iml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build.gradle" afterPath="$PROJECT_DIR$/app/build.gradle" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" afterPath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" afterPath="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/res/layout/main.xml" afterPath="$PROJECT_DIR$/app/src/main/res/layout/main.xml" />
     </list>
     <ignored path="RtspNativeCodec.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -61,49 +68,79 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="RtspNativeCodecJNI.h" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
+      <file leaf-file-name="CMakeLists.txt" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="836">
-              <caret line="61" column="56" selection-start-line="61" selection-start-column="51" selection-end-line="61" selection-end-column="56" />
+            <state relative-caret-position="16">
+              <caret line="73" column="59" selection-start-line="73" selection-start-column="59" selection-end-line="73" selection-end-column="59" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="RtspNativeCodecJNI.cpp" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
+      <file leaf-file-name="CameraWrapperServer.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapperServer.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1083">
-              <caret line="801" column="13" selection-start-line="801" selection-start-column="13" selection-end-line="801" selection-end-column="13" />
+            <state relative-caret-position="272">
+              <caret line="95" column="59" selection-start-line="95" selection-start-column="59" selection-end-line="95" selection-end-column="59" />
               <folding>
-                <element signature="e#0#31#0" expanded="true" />
-                <element signature="e#162#200#0" expanded="true" />
-                <marker date="1500898548250" expanded="true" signature="944:1493" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="1597:2068" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="7205:7515" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="13882:14139" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="14316:14460" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="14551:14773" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="14934:15176" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="15530:17000" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="17102:17363" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="17468:17735" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="27803:27854" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="28157:28454" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="28639:28912" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="29088:29455" ph="{...}" />
-                <marker date="1500898548250" expanded="true" signature="29550:29554" ph="{...}" />
+                <element signature="e#0#32#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="CMakeLists.txt" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt">
+      <file leaf-file-name="CameraWrapperClient.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapperClient.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="399">
-              <caret line="87" column="64" selection-start-line="87" selection-start-column="64" selection-end-line="87" selection-end-column="64" />
+            <state relative-caret-position="413">
+              <caret line="104" column="98" selection-start-line="104" selection-start-column="82" selection-end-line="104" selection-end-column="98" />
+              <folding>
+                <element signature="e#0#32#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="PL_AndroidMediaCodecEncoder.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecEncoder.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="836">
+              <caret line="117" column="50" selection-start-line="117" selection-start-column="50" selection-end-line="117" selection-end-column="50" />
+              <folding>
+                <element signature="e#0#40#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="PipeLine.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="589">
+              <caret line="355" column="0" selection-start-line="355" selection-start-column="0" selection-end-line="355" selection-end-column="0" />
+              <folding>
+                <element signature="e#0#21#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="PL_AndroidMediaCodecDecoder_ndk.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="266">
+              <caret line="152" column="0" selection-start-line="152" selection-start-column="0" selection-end-line="152" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="NdkMediaCodec.h" pinned="false" current-in-tab="true">
+        <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm64/usr/include/media/NdkMediaCodec.h">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="619">
+              <caret line="71" column="48" selection-start-line="71" selection-start-column="48" selection-end-line="71" selection-end-column="48" />
               <folding />
             </state>
           </provider>
@@ -1422,7 +1459,7 @@
     </option>
     <option name="modificationStamps">
       <map>
-        <entry key="D:\workspace\proxy\VisitFace\RtspNativeCodec" value="4484151545900" />
+        <entry key="D:\workspace\proxy\VisitFace\RtspNativeCodec" value="4484914127051" />
       </map>
     </option>
     <option name="projectBuildClasspath">
@@ -1645,57 +1682,57 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue2.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue2.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/CaptureCamera.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/CaptureCamera.cpp" />
-        <option value="$PROJECT_DIR$/../../FaceServer/proto_hton_ntoh.cpp" />
-        <option value="$PROJECT_DIR$/../../FaceServer/PbFaceList" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/serial.c" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" />
-        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImg.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork1.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork1.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork2.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork2.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PipeLine.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PipeLine.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.h" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/GraphicHelper.h" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test .cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Paint.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Paint.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.h" />
         <option value="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" />
-        <option value="$PROJECT_DIR$/app/build.gradle" />
         <option value="$PROJECT_DIR$/app/src/main/res/layout/main.xml" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Scale.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Scale.h" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_ColorConv.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
+        <option value="$PROJECT_DIR$/../../FaceServer/PbFaceList.pb.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrackMultiTrd.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Split.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_GeneralProc.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PipeLine.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecEncoder.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_InterProcessJoint.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecEncoder.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIServer.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIServer.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIClient.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIClient.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperServer.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperClient.h" />
+        <option value="$PROJECT_DIR$/app/build.gradle" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
+        <option value="$PROJECT_DIR$/app/app.iml" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperClient.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapperServer.cpp" />
       </list>
     </option>
   </component>
@@ -1703,7 +1740,7 @@
   <component name="ProjectFrameBounds">
     <option name="x" value="-8" />
     <option name="y" value="-8" />
-    <option name="width" value="1932" />
+    <option name="width" value="1936" />
     <option name="height" value="1176" />
   </component>
   <component name="ProjectInspectionProfilesVisibleTreeState">
@@ -1747,12 +1784,10 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="Scope" />
-      <pane id="PackagesPane" />
-      <pane id="Scratches" />
       <pane id="AndroidView">
         <subPane />
       </pane>
+      <pane id="PackagesPane" />
       <pane id="ProjectPane">
         <subPane>
           <PATH>
@@ -1829,6 +1864,66 @@
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="nativecodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="util" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
               <option name="myItemId" value="cpp" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
@@ -1841,38 +1936,6 @@
             <PATH_ELEMENT>
               <option name="myItemId" value="app" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="RtspNativeCodec" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="app" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="RtspFace" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="RtspNativeCodec" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="app" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="RtspFace" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="testProgs" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
           <PATH>
@@ -1908,6 +1971,66 @@
             </PATH_ELEMENT>
             <PATH_ELEMENT>
               <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="nativecodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="util" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
@@ -1939,11 +2062,13 @@
           </PATH>
         </subPane>
       </pane>
+      <pane id="Scratches" />
+      <pane id="Scope" />
     </panes>
   </component>
   <component name="PropertiesComponent">
     <property name="android.sdk.path" value="$USER_HOME$/AppData/Local/Android/Sdk" />
-    <property name="android.project.structure.last.selected" value="app" />
+    <property name="android.project.structure.last.selected" value="Project" />
     <property name="android.project.structure.proportion" value="0.15" />
     <property name="show.do.not.ask.upgrade.gradle.plugin" value="2.2.3" />
     <property name="device.picker.selection" value="GB8ZARP6EL" />
@@ -2370,29 +2495,38 @@
     </task>
     <servers />
   </component>
+  <component name="TodoView">
+    <todo-panel id="selected-file">
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+    <todo-panel id="all">
+      <are-packages-shown value="true" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+  </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1932" height="1176" extended-state="0" />
+    <frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32743362" sideWeight="0.37070817" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32940018" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.28318584" sideWeight="0.3640725" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
       <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.28318584" sideWeight="0.5042644" order="8" side_tool="true" content_ui="tabs" />
-      <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32645035" sideWeight="0.83208156" order="12" side_tool="false" content_ui="tabs" />
+      <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3284169" sideWeight="0.32356077" order="12" side_tool="false" content_ui="tabs" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32940018" sideWeight="0.4978678" order="9" side_tool="false" content_ui="tabs" />
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2851524" sideWeight="0.73390555" order="10" side_tool="false" content_ui="tabs" />
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.26843658" sideWeight="0.39072496" order="10" side_tool="false" content_ui="tabs" />
       <window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4355949" sideWeight="0.16791846" order="11" side_tool="true" content_ui="tabs" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21901709" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.28318584" sideWeight="0.6359275" order="11" side_tool="true" content_ui="tabs" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2185501" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Android Model" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="true" content_ui="tabs" />
       <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32251722" sideWeight="0.45922747" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3972468" sideWeight="0.45922747" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -2437,59 +2571,85 @@
           <line>351</line>
           <option name="timeStamp" value="987" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp</url>
+          <line>354</line>
+          <option name="timeStamp" value="1119" />
+        </line-breakpoint>
       </breakpoints>
-      <option name="time" value="1081" />
+      <option name="time" value="1131" />
     </breakpoint-manager>
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test .cpp" />
+    <entry file="file://$USER_HOME$/Desktop/鏂板缓鏂囦欢澶�/RtspNativeCodecJNI.cpp" />
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_H264Decoder.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-2223">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="919">
+          <caret line="153" column="5" selection-start-line="153" selection-start-column="5" selection-end-line="153" selection-end-column="5" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../FaceServer/PbFaceList.pb.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="323">
+          <caret line="19" column="6" selection-start-line="19" selection-start-column="6" selection-end-line="19" selection-end-column="6" />
+          <folding>
+            <element signature="e#260#419#0" expanded="false" />
+            <element signature="e#476#668#0" expanded="false" />
+            <element signature="e#677#721#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm/usr/include/linux/sched.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="428">
+          <caret line="51" column="8" selection-start-line="51" selection-start-column="8" selection-end-line="51" selection-end-column="8" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm/usr/include/sched.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="241">
-          <caret line="83" column="8" selection-start-line="83" selection-start-column="8" selection-end-line="83" selection-end-column="8" />
+        <state relative-caret-position="161">
+          <caret line="40" column="7" selection-start-line="40" selection-start-column="7" selection-end-line="40" selection-end-column="7" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.h">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-22/android.jar!/android/Manifest.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
+        <state relative-caret-position="100">
+          <caret line="118" column="84" selection-start-line="118" selection-start-column="71" selection-end-line="118" selection-end-column="84" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/captures/com.example.nativecodec_2017.07.20_15.23.trace">
-      <provider selected="true" editor-type-id="capture-editor">
-        <state />
+    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm/usr/include/pthread.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="92">
+          <caret line="171" column="81" selection-start-line="171" selection-start-column="81" selection-end-line="171" selection-end-column="81" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="440">
-          <caret line="361" column="27" selection-start-line="361" selection-start-column="27" selection-end-line="361" selection-end-column="27" />
+        <state relative-caret-position="798">
+          <caret line="42" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="42" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-670">
-          <caret line="47" column="33" selection-start-line="47" selection-start-column="33" selection-end-line="47" selection-end-column="33" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="180">
-          <caret line="90" column="22" selection-start-line="90" selection-start-column="22" selection-end-line="90" selection-end-column="22" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/libs/opencv/include/opencv2/imgproc.hpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="31920">
-          <caret line="1680" column="62" selection-start-line="1680" selection-start-column="62" selection-end-line="1680" selection-end-column="62" />
+        <state relative-caret-position="912">
+          <caret line="48" column="58" selection-start-line="48" selection-start-column="58" selection-end-line="48" selection-end-column="58" />
         </state>
       </provider>
     </entry>
@@ -2497,366 +2657,353 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2470">
-          <caret line="130" column="1" selection-start-line="129" selection-start-column="6" selection-end-line="129" selection-end-column="32" />
-          <folding>
-            <marker date="1500545826378" expanded="false" signature="52:113" ph="..." />
-            <marker date="1500545826378" expanded="true" signature="654:1452" ph="{...}" />
-            <marker date="1500545826378" expanded="true" signature="686:1023" ph="{...}" />
-            <marker date="1500545826378" expanded="true" signature="1223:1266" ph="{...}" />
-            <marker date="1500545826378" expanded="true" signature="1474:1773" ph="{...}" />
-            <marker date="1500545826378" expanded="true" signature="2181:3453" ph="{...}" />
-            <marker date="1500545826378" expanded="true" signature="3489:3648" ph="{...}" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="9139">
-          <caret line="481" column="7" selection-start-line="481" selection-start-column="7" selection-end-line="481" selection-end-column="7" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/settings.gradle">
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="703">
+          <caret line="97" column="18" selection-start-line="97" selection-start-column="18" selection-end-line="97" selection-end-column="18" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/RtspNativeCodec.iml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/README.md">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/native-codec.iml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/local.properties">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/gradlew.bat">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/license.lic">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/GraphicHelper.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-931">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="e#55#74#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/build.gradle">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImg.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="304">
-          <caret line="16" column="1" selection-start-line="16" selection-start-column="1" selection-end-line="16" selection-end-column="1" />
+          <caret line="16" column="0" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
           <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1102">
-          <caret line="58" column="24" selection-start-line="58" selection-start-column="16" selection-end-line="58" selection-end-column="24" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="114">
-          <caret line="32" column="29" selection-start-line="32" selection-start-column="29" selection-end-line="32" selection-end-column="29" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/libs/live555/include/groupsock/GroupsockHelper.hh">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="224">
-          <caret line="55" column="0" selection-start-line="55" selection-start-column="0" selection-end-line="56" selection-end-column="53" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/libs/live555/include/liveMedia/RTSPClient.hh">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="224">
-          <caret line="86" column="11" selection-start-line="86" selection-start-column="11" selection-end-line="86" selection-end-column="11" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/build.gradle">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="171">
-          <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/app.iml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="83" column="81" selection-start-line="83" selection-start-column="81" selection-end-line="83" selection-end-column="81" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-430">
-          <caret line="207" column="49" selection-start-line="207" selection-start-column="49" selection-end-line="207" selection-end-column="49" />
+        <state relative-caret-position="798">
+          <caret line="217" column="51" selection-start-line="217" selection-start-column="46" selection-end-line="217" selection-end-column="51" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="367">
-          <caret line="26" column="37" selection-start-line="26" selection-start-column="37" selection-end-line="26" selection-end-column="37" />
-          <folding />
-        </state>
-      </provider>
-      <provider editor-type-id="android-manifest">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/main.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/CvUtil/CvxText.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="551">
-          <caret line="34" column="33" selection-start-line="34" selection-start-column="33" selection-end-line="34" selection-end-column="33" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="319" column="9" selection-start-line="319" selection-start-column="9" selection-end-line="319" selection-end-column="9" />
-          <folding>
-            <element signature="e#24564#25529#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="627">
-          <caret line="33" column="19" selection-start-line="33" selection-start-column="19" selection-end-line="33" selection-end-column="19" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Paint.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="387">
-          <caret line="85" column="18" selection-start-line="85" selection-start-column="18" selection-end-line="85" selection-end-column="18" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Paint.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="482">
-          <caret line="435" column="0" selection-start-line="435" selection-start-column="0" selection-end-line="435" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-399">
-          <caret line="13" column="7" selection-start-line="13" selection-start-column="7" selection-end-line="13" selection-end-column="7" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_ColorConv.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="438">
-          <caret line="26" column="19" selection-start-line="26" selection-start-column="19" selection-end-line="26" selection-end-column="19" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Scale.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="342">
-          <caret line="18" column="23" selection-start-line="18" selection-start-column="23" selection-end-line="18" selection-end-column="23" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Scale.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="247">
-          <caret line="99" column="79" selection-start-line="99" selection-start-column="79" selection-end-line="99" selection-end-column="79" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_ColorConv.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1577">
-          <caret line="83" column="1" selection-start-line="83" selection-start-column="1" selection-end-line="83" selection-end-column="1" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/libs/st_face/include/cv_common.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="215">
-          <caret line="83" column="20" selection-start-line="83" selection-start-column="4" selection-end-line="83" selection-end-column="20" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/MediaHelper.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="475">
-          <caret line="25" column="11" selection-start-line="25" selection-start-column="4" selection-end-line="25" selection-end-column="11" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="4313">
-          <caret line="281" column="68" selection-start-line="281" selection-start-column="68" selection-end-line="281" selection-end-column="68" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2603">
-          <caret line="137" column="13" selection-start-line="137" selection-start-column="13" selection-end-line="137" selection-end-column="13" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="8949">
-          <caret line="471" column="0" selection-start-line="471" selection-start-column="0" selection-end-line="471" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="874">
-          <caret line="46" column="0" selection-start-line="46" selection-start-column="0" selection-end-line="46" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="6555">
-          <caret line="345" column="0" selection-start-line="345" selection-start-column="0" selection-end-line="345" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="717">
-          <caret line="243" column="23" selection-start-line="243" selection-start-column="23" selection-end-line="243" selection-end-column="23" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="836">
-          <caret line="61" column="56" selection-start-line="61" selection-start-column="51" selection-end-line="61" selection-end-column="56" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/Desktop/鏂板缓鏂囦欢澶�/RtspNativeCodecJNI.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="627">
-          <caret line="33" column="0" selection-start-line="33" selection-start-column="0" selection-end-line="34" selection-end-column="0" />
+        <state relative-caret-position="950">
+          <caret line="142" column="22" selection-start-line="142" selection-start-column="22" selection-end-line="142" selection-end-column="22" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1083">
-          <caret line="801" column="13" selection-start-line="801" selection-start-column="13" selection-end-line="801" selection-end-column="13" />
+        <state relative-caret-position="349">
+          <caret line="267" column="21" selection-start-line="267" selection-start-column="21" selection-end-line="267" selection-end-column="21" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="329">
+          <caret line="33" column="7" selection-start-line="33" selection-start-column="7" selection-end-line="33" selection-end-column="7" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="798">
+          <caret line="62" column="15" selection-start-line="62" selection-start-column="15" selection-end-line="62" selection-end-column="15" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrackMultiTrd.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm64/usr/include/media/NdkMediaFormat.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="722">
+          <caret line="103" column="41" selection-start-line="103" selection-start-column="41" selection-end-line="103" selection-end-column="41" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Split.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="19">
+          <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_GeneralProc.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="31" selection-start-line="0" selection-start-column="31" selection-end-line="0" selection-end-column="31" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="615">
+          <caret line="337" column="68" selection-start-line="337" selection-start-column="57" selection-end-line="337" selection-end-column="68" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="342">
+          <caret line="47" column="18" selection-start-line="47" selection-start-column="18" selection-end-line="47" selection-end-column="18" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="31" column="39" selection-start-line="31" selection-start-column="39" selection-end-line="31" selection-end-column="39" />
           <folding>
-            <element signature="e#0#31#0" expanded="true" />
-            <element signature="e#162#200#0" expanded="true" />
-            <marker date="1500898548250" expanded="true" signature="944:1493" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="1597:2068" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="7205:7515" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="13882:14139" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="14316:14460" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="14551:14773" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="14934:15176" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="15530:17000" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="17102:17363" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="17468:17735" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="27803:27854" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="28157:28454" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="28639:28912" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="29088:29455" ph="{...}" />
-            <marker date="1500898548250" expanded="true" signature="29550:29554" ph="{...}" />
+            <marker date="1501569899416" expanded="true" signature="654:1536" ph="{...}" />
+            <marker date="1501569899416" expanded="true" signature="1223:1266" ph="{...}" />
+            <marker date="1501569899416" expanded="true" signature="1558:1857" ph="{...}" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_RTSPServer.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-2964">
+          <caret line="37" column="4" selection-start-line="37" selection-start-column="4" selection-end-line="37" selection-end-column="4" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/basic_string.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="329">
+          <caret line="561" column="6" selection-start-line="561" selection-start-column="6" selection-end-line="561" selection-end-column="6" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecEncoder.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="437">
+          <caret line="40" column="19" selection-start-line="40" selection-start-column="19" selection-end-line="40" selection-end-column="19" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="261">
+          <caret line="134" column="22" selection-start-line="134" selection-start-column="22" selection-end-line="134" selection-end-column="22" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/mediastreamer2/src/android/android_mediacodec.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="162">
+          <caret line="247" column="17" selection-start-line="247" selection-start-column="17" selection-end-line="247" selection-end-column="17" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="266">
+          <caret line="152" column="0" selection-start-line="152" selection-start-column="0" selection-end-line="152" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="589">
+          <caret line="355" column="0" selection-start-line="355" selection-start-column="0" selection-end-line="355" selection-end-column="0" />
+          <folding>
+            <element signature="e#0#21#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_InterProcessJoint.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="46" selection-start-line="0" selection-start-column="46" selection-end-line="0" selection-end-column="46" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="297">
+          <caret line="506" column="0" selection-start-line="506" selection-start-column="0" selection-end-line="506" selection-end-column="0" />
+          <folding>
+            <element signature="e#1038#1326#0" expanded="false" />
+            <element signature="e#2430#3069#0" expanded="false" />
+            <element signature="e#3072#3642#0" expanded="false" />
+            <element signature="e#4261#5676#0" expanded="false" />
+            <element signature="e#5679#5963#0" expanded="false" />
+            <element signature="e#6013#8886#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecEncoder.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="836">
+          <caret line="117" column="50" selection-start-line="117" selection-start-column="50" selection-end-line="117" selection-end-column="50" />
+          <folding>
+            <element signature="e#0#40#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="504">
+          <caret line="168" column="0" selection-start-line="168" selection-start-column="0" selection-end-line="168" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/libs/capnproto/include/common.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="218">
+          <caret line="33" column="22" selection-start-line="33" selection-start-column="22" selection-end-line="33" selection-end-column="22" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIClient.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="95">
+          <caret line="5" column="0" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
+          <folding>
+            <element signature="e#0#37#0" expanded="false" />
+            <element signature="e#174#212#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIClient.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="7" column="10" selection-start-line="7" selection-start-column="10" selection-end-line="7" selection-end-column="10" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIServer.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="7" column="38" selection-start-line="7" selection-start-column="38" selection-end-line="7" selection-end-column="38" />
+          <folding>
+            <element signature="e#0#37#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNIServer.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="399">
+          <caret line="21" column="64" selection-start-line="21" selection-start-column="64" selection-end-line="21" selection-end-column="64" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapperServer.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="15" column="21" selection-start-line="15" selection-start-column="21" selection-end-line="15" selection-end-column="21" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapperClient.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="171">
+          <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
+      <provider editor-type-id="android-manifest">
+        <state />
+      </provider>
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="684">
+          <caret line="36" column="0" selection-start-line="36" selection-start-column="0" selection-end-line="36" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/build.gradle">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="703">
+          <caret line="37" column="58" selection-start-line="37" selection-start-column="57" selection-end-line="37" selection-end-column="58" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/app.iml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="551">
+          <caret line="29" column="55" selection-start-line="29" selection-start-column="55" selection-end-line="29" selection-end-column="55" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapperClient.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="413">
+          <caret line="104" column="98" selection-start-line="104" selection-start-column="82" selection-end-line="104" selection-end-column="98" />
+          <folding>
+            <element signature="e#0#32#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapperServer.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="272">
+          <caret line="95" column="59" selection-start-line="95" selection-start-column="59" selection-end-line="95" selection-end-column="59" />
+          <folding>
+            <element signature="e#0#32#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="399">
-          <caret line="87" column="64" selection-start-line="87" selection-start-column="64" selection-end-line="87" selection-end-column="64" />
+        <state relative-caret-position="16">
+          <caret line="73" column="59" selection-start-line="73" selection-start-column="59" selection-end-line="73" selection-end-column="59" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="387">
+          <caret line="495" column="45" selection-start-line="495" selection-start-column="45" selection-end-line="495" selection-end-column="45" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm64/usr/include/media/NdkMediaCodec.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="619">
+          <caret line="71" column="48" selection-start-line="71" selection-start-column="48" selection-end-line="71" selection-end-column="48" />
           <folding />
         </state>
       </provider>
diff --git a/VisitFace/RtspNativeCodec/app/build.gradle b/VisitFace/RtspNativeCodec/app/build.gradle
index aeb36b1..051d8cd 100644
--- a/VisitFace/RtspNativeCodec/app/build.gradle
+++ b/VisitFace/RtspNativeCodec/app/build.gradle
@@ -35,7 +35,7 @@
     }
     sourceSets {
         main {
-            jniLibs.srcDirs = ['libs/opencv/lib', 'libs/protobuf/lib', 'libs/st_face/lib', 'libs/freetype/lib']
+            jniLibs.srcDirs = ['libs/opencv/lib', 'libs/protobuf/lib', 'libs/st_face/lib', 'libs/freetype/lib', 'libs/capnproto/lib']
         }
     }
 }
diff --git a/VisitFace/RtspNativeCodec/app/src/main/AndroidManifest.xml b/VisitFace/RtspNativeCodec/app/src/main/AndroidManifest.xml
index ea7d1ed..3fccd96 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/AndroidManifest.xml
+++ b/VisitFace/RtspNativeCodec/app/src/main/AndroidManifest.xml
@@ -18,6 +18,7 @@
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
+    <uses-permission android:name="android.permission.HARDWARE_TEST" />
 
     <application
     android:allowBackup="false"
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
index 8511bca..4b983a8 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
@@ -9,9 +9,41 @@
 set(WORKSPACE_PATH "D:/workspace/proxy")
 set(ARCH "armeabi-v7a")
 
-add_library(rtspface SHARED
-			RtspNativeCodecJNI.cpp
-			CameraWrapper.cpp
+include_directories(
+					"${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"
+
+					"${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"
+
+					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libyuv/include"
+
+					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/opencv/include"
+
+					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/protobuf/include"
+
+					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/st_face/include"
+
+					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/include"
+
+					"${WORKSPACE_PATH}/RtspFace/libv4l2cpp/inc"
+					#"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libv4l2wrapper/include"
+
+					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/freetype/include/freetype2"
+					)
+
+add_library(rtspface_server SHARED
+			RtspNativeCodecJNIServer.cpp
+			CameraWrapperServer.cpp
 			FaceCache.cpp
 			FaceCacheForPLBG.cpp
 			DebugNetwork.cpp
@@ -36,7 +68,7 @@
 			"${WORKSPACE_PATH}/RtspFace/PL_BlockGrouping.cpp"
 			#"${WORKSPACE_PATH}/RtspFace/PL_Queue.cpp"
 			#"${WORKSPACE_PATH}/RtspFace/PL_Fork2.cpp"
-			"${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecEncoder.cpp"
+			#"${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecEncoder.cpp"
 
 			"${WORKSPACE_PATH}/FaceServer/proto_hton_ntoh.cpp"
 			"${WORKSPACE_PATH}/FaceServer/PbFaceList.pb.cc"
@@ -51,7 +83,7 @@
 			)
 
 # Include libraries needed for native-codec-jni lib
-target_link_libraries(rtspface
+target_link_libraries(rtspface_server
 					  android
 					  log
 					  #ui
@@ -61,41 +93,85 @@
 					  #EGL
 					  #GLESv2
 					  #GLESv3
+
+					  "${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"
+
+					  "${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"
+
+					  "${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"
+
+
+					  #"${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"
 					  )
 
-include_directories(
-					"${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"
+add_library(rtspface_client SHARED
+			RtspNativeCodecJNIClient.cpp
+			CameraWrapperClient.cpp
+			FaceCache.cpp
+			FaceCacheForPLBG.cpp
+			DebugNetwork.cpp
+			CaptureCamera.cpp
+			cpu_sched_test.cpp
+			serial.c
+			TeleWrapper.cpp
 
-					"${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"
+			"${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"
 
-					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libyuv/include"
+			"${WORKSPACE_PATH}/FaceServer/proto_hton_ntoh.cpp"
+			"${WORKSPACE_PATH}/FaceServer/PbFaceList.pb.cc"
 
-					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/opencv/include"
+			 "${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"
 
-					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/protobuf/include"
+			"${WORKSPACE_PATH}/RtspFace/CvUtil/CvxText.cpp"
 
-					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/st_face/include"
-					
-					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/include"
+			)
 
-					"${WORKSPACE_PATH}/RtspFace/libv4l2cpp/inc"
-					#"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libv4l2wrapper/include"
+# Include libraries needed for native-codec-jni lib
+target_link_libraries(rtspface_client
+					  android
+					  log
+					  #ui
+					  mediandk
+					  #OpenMAXAL
+					  #jnigraphics
+					  #EGL
+					  #GLESv2
+					  #GLESv3
 
-					"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/freetype/include/freetype2"
-					)
-
-target_link_libraries(rtspface
 					  "${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"
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp
similarity index 80%
copy from VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp
copy to VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp
index 030841c..c5bb607 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp
@@ -1,4 +1,4 @@
-#include "CameraWrapper.h"
+#include "CameraWrapperClient.h"
 #include <logger.h>
 #include <Logger/src/logger.hpp>
 #include <MaterialBuffer.h>
@@ -8,10 +8,11 @@
 #include <PL_V4L2Source.h>
 #include <PL_BlockGrouping.h>
 #include <PL_ColorConv.h>
+#include <PL_AndroidMediaCodecEncoder.h>
 
 CameraWrapper::~CameraWrapper()
 {
-	stop();
+    stop();
     delete pipeLineRender;
     delete pipeLineAnalyzer;
     delete pipeLineDecoderDetector;
@@ -19,18 +20,27 @@
 
 bool CameraWrapper::start()
 {
-	LOG_INFO << "CameraWrapper::start" << LOG_ENDL;
+    LOG_INFO << "CameraWrapper::start" << LOG_ENDL;
 
     pthread_mutex_init(&live_daemon_mut, NULL);
 
     running = true;
-	int ret = pthread_create(&decoder_thid, NULL, CameraWrapper::decoder_thd, this);
-	if(ret != 0)
-	{
-		LOGP(ERROR, "pthread_create decoder_thid: %s/n", strerror(ret));
-		running = false;
-		return false;
-	}
+    int ret = pthread_create(&decoder_thid, NULL, CameraWrapper::decoder_thd, this);
+    if(ret != 0)
+    {
+        LOGP(ERROR, "pthread_create decoder_thid: %s/n", strerror(ret));
+        running = false;
+        return false;
+    }
+
+    //struct sched_param param;
+    //int policy = -1;
+    //int rc = pthread_getschedparam(decoder_thid, &policy, &param);
+    //LOGP(INFO, "pthread_getschedparam, rc=%d, policy=%d, priority=%d", rc, policy, param.__sched_priority);
+    //policy = SCHED_RR;
+    //param.__sched_priority = 1;
+    //rc = pthread_setschedparam(decoder_thid, policy, &param);
+    //LOGP(INFO, "pthread_getschedparam, rc=%d, policy=%d, priority=%d", rc, policy, param.__sched_priority);
 
     ret = pthread_create(&live_daemon_thid, NULL, CameraWrapper::live_daemon_thd, this);
     if(ret != 0)
@@ -40,17 +50,17 @@
         return false;
     }
 
-	return true;
+    return true;
 }
 
 void CameraWrapper::stop()
 {
-	LOG_INFO << "CameraWrapper::stop" << LOG_ENDL;
-	
-	if (!running)
-		return;
+    LOG_INFO << "CameraWrapper::stop" << LOG_ENDL;
 
-	running = false;
+    if (!running)
+        return;
+
+    running = false;
     pthread_join(decoder_thid, NULL);
     pthread_join(live_daemon_thid, NULL);
 
@@ -68,6 +78,9 @@
 
     for (st_ff_vect_t::const_iterator iter = faceFeatures.begin(); iter != faceFeatures.end(); ++iter)
     {
+        if (!iter->test_face_in_cone(35.0f, 35.0f, 35.0f))
+            continue;
+
         RectWrapper rw;
         rw.rect = iter->rect;
         rw.user_score_1 = ((90.0f - std::abs(iter->yaw)) + (90.0f - std::abs(iter->pitch)) + (90.0f - std::abs(iter->roll))) / 90.0f / 3 * iter->score;
@@ -89,6 +102,7 @@
     PipeLine::register_global_elem_creator("PL_Paint", create_PL_Paint);
     PipeLine::register_global_elem_creator("PL_V4L2Source", create_PL_V4L2Source);
     PipeLine::register_global_elem_creator("PL_BlockGrouping", create_PL_BlockGrouping);
+    //PipeLine::register_global_elem_creator("PL_AndroidMediaCodecEncoder", create_PL_AndroidMediaCodecEncoder);
 
     bool ret = initPl_DecoderPl();
     if (!ret)
@@ -127,25 +141,43 @@
             return  false;
         }
 
-		PL_Scale* plScale = (PL_Scale*)pipeLineRender->push_elem("PL_Scale");
-		ret = plScale->init(&plScaleCfg);
-		if (!ret)
-		{
-		    LOG_ERROR << "pipeLineRender.plScale init error" << LOG_ENDL;
-		    return  false;
-		}
+        PL_Scale* plScale = (PL_Scale*)pipeLineRender->push_elem("PL_Scale");
+        plScaleCfg.toWidth = 640;
+        plScaleCfg.toHeight = 480;
+        ret = plScale->init(&plScaleCfg);
+        if (!ret)
+        {
+            LOG_ERROR << "pipeLineRender.plScale init error" << LOG_ENDL;
+            return  false;
+        }
 
-		PL_ColorConv_Config PLColorConvCfg;
-		PL_ColorConv* plColorConv = (PL_ColorConv*)pipeLineRender->push_elem("PL_ColorConv");
-		ret = plColorConv->init(&PLColorConvCfg);
-		if (!ret)
-		{
-		    LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
-		    return  false;
-		}
+        //PL_AndroidMediaCodecEncoder_Config amceCfg;
+        //amceCfg.ak_bit_rate = 5000000; // 512KB
+        //amceCfg.ak_color_format = 21; // COLOR_FormatYUV420SemiPlanar;
+        //amceCfg.ak_frame_rate = 25;
+        //amceCfg.ak_height = 480;
+        //amceCfg.ak_i_frame_interval = 20;
+        //amceCfg.ak_mime = "video/avc";
+        //amceCfg.ak_width = 640;
+        //PL_AndroidMediaCodecEncoder* plAMCE = (PL_AndroidMediaCodecEncoder*)pipeLineRender->push_elem("PL_AndroidMediaCodecEncoder");
+        //ret = plAMCE->init(&amceCfg);
+        //if (!ret)
+        //{
+        //    LOG_ERROR << "pipeLineRender.plAMCE init error" << LOG_ENDL;
+        //    return  false;
+        //}
+
+        PL_ColorConv_Config PLColorConvCfg;
+        PL_ColorConv* plColorConv = (PL_ColorConv*)pipeLineRender->push_elem("PL_ColorConv");
+        ret = plColorConv->init(&PLColorConvCfg);
+        if (!ret)
+        {
+            LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
+            return  false;
+        }
 
         PL_Paint_Config plPaintCfg;
-		plPaintCfg.fontPath = fontPath;
+        plPaintCfg.fontPath = fontPath;
         plPaintCfg.plplCtx = &plplContext;
         PL_Paint* plPaint = (PL_Paint*)pipeLineRender->push_elem("PL_Paint");
         ret = plPaint->init(&plPaintCfg);
@@ -164,7 +196,7 @@
         }
     }
 
-	return true;
+    return true;
 }
 
 bool CameraWrapper::initPl_DecoderPl()
@@ -280,7 +312,7 @@
     {
         plplContext.cmds.push_back(PLPLC_COLOR);
         plplContext.params.push_back('F');
-        if (iter->test_face_in_cone(30.0f, 30.0f, 30.0f))
+        if (iter->test_face_in_cone(35.0f, 35.0f, 35.0f))
         {
             if (iter->outOfFrame)
             {
@@ -388,11 +420,11 @@
 
 /*static*/ void* CameraWrapper::decoder_thd(void* arg)
 {
-	LOG_INFO << "CameraWrapper::decoder_thd start" << LOG_ENDL;
-	CameraWrapper& cameraWrapper = *(CameraWrapper*)arg;
+    LOG_INFO << "CameraWrapper::decoder_thd start" << LOG_ENDL;
+    CameraWrapper& cameraWrapper = *(CameraWrapper*)arg;
 
-	while(cameraWrapper.running)
-	{
+    while(cameraWrapper.running)
+    {
         if (cameraWrapper.killed)
         {
             LOG_WARN << "CameraWrapper::killed" << LOG_ENDL;
@@ -401,12 +433,12 @@
             sleep(2);
         }
 
-		PipeLineElem* last = cameraWrapper.pipeLineDecoderDetector->pipe();
-		bool ret = cameraWrapper.pipeLineDecoderDetector->check_pipe_complete(last);
-		//LOG_DEBUG << "pipe ret=" << ret << LOG_ENDL;
+        PipeLineElem* last = cameraWrapper.pipeLineDecoderDetector->pipe();
+        bool ret = cameraWrapper.pipeLineDecoderDetector->check_pipe_complete(last);
+        //LOG_DEBUG << "pipe ret=" << ret << LOG_ENDL;
 
-		if (!ret)
-			continue;
+        if (!ret)
+            continue;
 
         PipeMaterial pm;
         ret = last->gain(pm);
@@ -429,10 +461,12 @@
         //#debug
         //test_paint(cameraWrapper);
 
-        cameraWrapper.pipeLineRender->pipe(&pm);
+        cameraWrapper.pipeLineRender->pipe(&pm);//#todo
+        //if (cameraWrapper.pipeLineRender->check_pipe_complete(last = cameraWrapper.pipeLineRender->pipe(&pm)))
+        //    last->gain(pm);
     }
-	
-	LOG_INFO << "CameraWrapper::decoder_thd stop, ret=" << LOG_ENDL;
+
+    LOG_INFO << "CameraWrapper::decoder_thd stop, ret=" << LOG_ENDL;
 }
 
 /*static*/ void* CameraWrapper::live_daemon_thd(void* arg)
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.h
similarity index 96%
rename from VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
rename to VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.h
index 7628226..9705fa6 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.h
@@ -1,5 +1,5 @@
-#ifndef __CameraWrapper_H__
-#define __CameraWrapper_H__
+#ifndef __CAMERAWRAPPER_CLIENT_H__
+#define __CAMERAWRAPPER_CLIENT_H__
 
 #define MAX_FACE 5
 #define MAX_FACE_WIDTH 240
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.cpp
similarity index 89%
rename from VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp
rename to VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.cpp
index 030841c..cbdfeb5 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.cpp
@@ -1,4 +1,4 @@
-#include "CameraWrapper.h"
+#include "CameraWrapperServer.h"
 #include <logger.h>
 #include <Logger/src/logger.hpp>
 #include <MaterialBuffer.h>
@@ -8,6 +8,7 @@
 #include <PL_V4L2Source.h>
 #include <PL_BlockGrouping.h>
 #include <PL_ColorConv.h>
+#include <PL_AndroidMediaCodecEncoder.h>
 
 CameraWrapper::~CameraWrapper()
 {
@@ -31,6 +32,15 @@
 		running = false;
 		return false;
 	}
+
+	//struct sched_param param;
+	//int policy = -1;
+	//int rc = pthread_getschedparam(decoder_thid, &policy, &param);
+	//LOGP(INFO, "pthread_getschedparam, rc=%d, policy=%d, priority=%d", rc, policy, param.__sched_priority);
+	//policy = SCHED_RR;
+	//param.__sched_priority = 1;
+	//rc = pthread_setschedparam(decoder_thid, policy, &param);
+	//LOGP(INFO, "pthread_getschedparam, rc=%d, policy=%d, priority=%d", rc, policy, param.__sched_priority);
 
     ret = pthread_create(&live_daemon_thid, NULL, CameraWrapper::live_daemon_thd, this);
     if(ret != 0)
@@ -68,6 +78,9 @@
 
     for (st_ff_vect_t::const_iterator iter = faceFeatures.begin(); iter != faceFeatures.end(); ++iter)
     {
+        if (!iter->test_face_in_cone(35.0f, 35.0f, 35.0f))
+            continue;
+
         RectWrapper rw;
         rw.rect = iter->rect;
         rw.user_score_1 = ((90.0f - std::abs(iter->yaw)) + (90.0f - std::abs(iter->pitch)) + (90.0f - std::abs(iter->roll))) / 90.0f / 3 * iter->score;
@@ -89,6 +102,7 @@
     PipeLine::register_global_elem_creator("PL_Paint", create_PL_Paint);
     PipeLine::register_global_elem_creator("PL_V4L2Source", create_PL_V4L2Source);
     PipeLine::register_global_elem_creator("PL_BlockGrouping", create_PL_BlockGrouping);
+    //PipeLine::register_global_elem_creator("PL_AndroidMediaCodecEncoder", create_PL_AndroidMediaCodecEncoder);
 
     bool ret = initPl_DecoderPl();
     if (!ret)
@@ -128,12 +142,30 @@
         }
 
 		PL_Scale* plScale = (PL_Scale*)pipeLineRender->push_elem("PL_Scale");
+		plScaleCfg.toWidth = 640;
+		plScaleCfg.toHeight = 480;
 		ret = plScale->init(&plScaleCfg);
 		if (!ret)
 		{
 		    LOG_ERROR << "pipeLineRender.plScale init error" << LOG_ENDL;
 		    return  false;
 		}
+
+        //PL_AndroidMediaCodecEncoder_Config amceCfg;
+        //amceCfg.ak_bit_rate = 5000000; // 512KB
+        //amceCfg.ak_color_format = 21; // COLOR_FormatYUV420SemiPlanar;
+		//amceCfg.ak_frame_rate = 25;
+        //amceCfg.ak_height = 480;
+        //amceCfg.ak_i_frame_interval = 20;
+        //amceCfg.ak_mime = "video/avc";
+        //amceCfg.ak_width = 640;
+        //PL_AndroidMediaCodecEncoder* plAMCE = (PL_AndroidMediaCodecEncoder*)pipeLineRender->push_elem("PL_AndroidMediaCodecEncoder");
+        //ret = plAMCE->init(&amceCfg);
+        //if (!ret)
+        //{
+        //    LOG_ERROR << "pipeLineRender.plAMCE init error" << LOG_ENDL;
+        //    return  false;
+        //}
 
 		PL_ColorConv_Config PLColorConvCfg;
 		PL_ColorConv* plColorConv = (PL_ColorConv*)pipeLineRender->push_elem("PL_ColorConv");
@@ -280,7 +312,7 @@
     {
         plplContext.cmds.push_back(PLPLC_COLOR);
         plplContext.params.push_back('F');
-        if (iter->test_face_in_cone(30.0f, 30.0f, 30.0f))
+        if (iter->test_face_in_cone(35.0f, 35.0f, 35.0f))
         {
             if (iter->outOfFrame)
             {
@@ -429,7 +461,9 @@
         //#debug
         //test_paint(cameraWrapper);
 
-        cameraWrapper.pipeLineRender->pipe(&pm);
+		cameraWrapper.pipeLineRender->pipe(&pm);//#todo
+		//if (cameraWrapper.pipeLineRender->check_pipe_complete(last = cameraWrapper.pipeLineRender->pipe(&pm)))
+		//	last->gain(pm);
     }
 	
 	LOG_INFO << "CameraWrapper::decoder_thd stop, ret=" << LOG_ENDL;
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.h
similarity index 96%
copy from VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
copy to VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.h
index 7628226..3bfee65 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.h
@@ -1,5 +1,5 @@
-#ifndef __CameraWrapper_H__
-#define __CameraWrapper_H__
+#ifndef __CAMERAWRAPPER_SERVER_H__
+#define __CAMERAWRAPPER_SERVER_H__
 
 #define MAX_FACE 5
 #define MAX_FACE_WIDTH 240
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp
similarity index 99%
copy from VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
copy to VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp
index 177b924..72f5046 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp
@@ -1,5 +1,5 @@
-#include "RtspNativeCodecJNI.h"
-#include "CameraWrapper.h"
+#include "RtspNativeCodecJNIClient.h"
+#include "CameraWrapperClient.h"
 #include "CaptureCamera.h"
 #include <logger.h>
 #include <Logger/src/logger.hpp>
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.h
similarity index 96%
rename from VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
rename to VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.h
index 5581225..1e473b2 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.h
@@ -1,5 +1,5 @@
-#ifndef __RTSPNATIVECODECJNI_H__
-#define __RTSPNATIVECODECJNI_H__
+#ifndef __RTSPNATIVECODECJNI_CLIENT_H__
+#define __RTSPNATIVECODECJNI_CLIENT_H__
 
 #include <jni.h>
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.cpp
similarity index 99%
rename from VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
rename to VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.cpp
index 177b924..9549e1b 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.cpp
@@ -1,5 +1,5 @@
-#include "RtspNativeCodecJNI.h"
-#include "CameraWrapper.h"
+#include "RtspNativeCodecJNIServer.h"
+#include "CameraWrapperServer.h"
 #include "CaptureCamera.h"
 #include <logger.h>
 #include <Logger/src/logger.hpp>
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.h
similarity index 96%
copy from VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
copy to VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.h
index 5581225..964a98e 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.h
@@ -1,5 +1,5 @@
-#ifndef __RTSPNATIVECODECJNI_H__
-#define __RTSPNATIVECODECJNI_H__
+#ifndef __RTSPNATIVECODECJNI_SERVER_H__
+#define __RTSPNATIVECODECJNI_SERVER_H__
 
 #include <jni.h>
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
index 0801cfe..aed767d 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
+++ b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
@@ -492,7 +492,8 @@
 
     /** Load jni .so on initialization */
     static {
-        System.loadLibrary("rtspface");
+        //System.loadLibrary("rtspface_client");
+        System.loadLibrary("rtspface_server");
         //System.loadLibrary("opencv_java3");
     }
 

--
Gitblit v1.8.0