From a338cd531c460c0b3e829217f1f91f0156bcc6a7 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 12 四月 2017 13:20:30 +0800
Subject: [PATCH] new getFaceImages api

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h                                                                     |    3 
 VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock         |    0 
 VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java                                              |    8 
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock                                                              |    0 
 VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin          |    0 
 VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties            |    2 
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp                                                                   |   50 ++++-
 VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java                                                |   13 +
 VisitFace/RtspNativeCodec/.idea/workspace.xml                                                                                       |  286 +++++++++++++++++------------------
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin                                                               |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps                                              |    0 
 VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties                       |    2 
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin                                                                  |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log                                               |   22 ++
 VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h                                                                              |   12 +
 VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp                                                                            |   43 +++--
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin                                                               |    0 
 VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock |    0 
 VisitFace/RtspNativeCodec/app/app.iml                                                                                               |   16 +-
 19 files changed, 257 insertions(+), 200 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin
index 3bd24c7..77fc8ab 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin
index d90336e..aec9815 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin
index b929d06..ae47c67 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock
index 4b98c50..8f5625a 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
index d5fb1a5..3707382 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
index 9a580cf..989148e 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
index 0c2f927..bd5b535 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.idea/workspace.xml b/VisitFace/RtspNativeCodec/.idea/workspace.xml
index e62654a..54f8f0c 100644
--- a/VisitFace/RtspNativeCodec/.idea/workspace.xml
+++ b/VisitFace/RtspNativeCodec/.idea/workspace.xml
@@ -10,11 +10,7 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" readonly="true" id="791a1ca7-972c-421c-af50-d8f452f0c589" name="Default" comment="">
-      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/java/com/bsk" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo/demoforbsk" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo/demoforbsk/util" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileHashes.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileHashes.bin" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileSnapshots.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileSnapshots.bin" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.bin" />
@@ -34,16 +30,16 @@
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" afterPath="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/main.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/main.cpp" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/make.sh" afterPath="$PROJECT_DIR$/../../RtspFace/make.sh" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/app.iml" afterPath="$PROJECT_DIR$/app/app.iml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/assets/license.lic" afterPath="$PROJECT_DIR$/app/src/main/assets/license.lic" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/FaceCache.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/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/java/cn/com/basic/face/util/RtspFaceNative.java" afterPath="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
     </list>
     <ignored path="RtspNativeCodec.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -75,23 +71,12 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="NativeCodec.java" pinned="false" current-in-tab="true">
+      <file leaf-file-name="NativeCodec.java" pinned="false" current-in-tab="false">
         <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="418">
-              <caret line="197" column="43" selection-start-line="197" selection-start-column="43" selection-end-line="197" selection-end-column="43" />
-              <folding>
-                <element signature="e#4018#5463#0" expanded="true" />
-                <element signature="e#5462#5463#0" expanded="true" />
-                <element signature="e#5728#5878#0" expanded="true" />
-                <element signature="e#5877#5878#0" expanded="true" />
-                <element signature="e#5917#6067#0" expanded="true" />
-                <element signature="e#6066#6067#0" expanded="true" />
-                <element signature="e#6228#7921#0" expanded="true" />
-                <element signature="e#7920#7921#0" expanded="true" />
-                <element signature="e#8034#8284#0" expanded="true" />
-                <element signature="e#8283#8284#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="931">
+              <caret line="201" column="61" selection-start-line="201" selection-start-column="61" selection-end-line="201" selection-end-column="61" />
+              <folding />
             </state>
           </provider>
         </entry>
@@ -99,8 +84,8 @@
       <file leaf-file-name="RtspFaceNative.java" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="532">
-              <caret line="37" column="63" selection-start-line="37" selection-start-column="63" selection-end-line="37" selection-end-column="63" />
+            <state relative-caret-position="114">
+              <caret line="6" column="3" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" />
               <folding>
                 <element signature="imports" expanded="true" />
               </folding>
@@ -108,11 +93,21 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="RtspNativeCodecJNI.cpp" pinned="false" current-in-tab="false">
+      <file leaf-file-name="NativeImgIdx.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="114">
+              <caret line="6" column="25" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="25" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="RtspNativeCodecJNI.cpp" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="5054">
-              <caret line="266" column="0" selection-start-line="266" selection-start-column="0" selection-end-line="266" selection-end-column="0" />
+            <state relative-caret-position="532">
+              <caret line="279" column="42" selection-start-line="279" selection-start-column="42" selection-end-line="279" selection-end-column="42" />
               <folding />
             </state>
           </provider>
@@ -121,8 +116,8 @@
       <file leaf-file-name="RtspNativeCodecJNI.h" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="266">
-              <caret line="14" column="31" selection-start-line="14" selection-start-column="31" selection-end-line="14" selection-end-column="31" />
+            <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>
@@ -137,16 +132,6 @@
                 <element signature="e#131#153#0" expanded="true" />
                 <element signature="e#303#341#0" expanded="true" />
               </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="jni.h" pinned="false" current-in-tab="false">
-        <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/jni.h">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="893">
-              <caret line="47" column="28" selection-start-line="47" selection-start-column="24" selection-end-line="47" selection-end-column="28" />
-              <folding />
             </state>
           </provider>
         </entry>
@@ -166,8 +151,8 @@
       <file leaf-file-name="FaceCache.cpp" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="3287">
-              <caret line="173" column="16" selection-start-line="173" selection-start-column="16" selection-end-line="173" selection-end-column="16" />
+            <state relative-caret-position="931">
+              <caret line="206" column="25" selection-start-line="206" selection-start-column="25" selection-end-line="206" selection-end-column="25" />
               <folding>
                 <element signature="e#0#22#0" expanded="true" />
               </folding>
@@ -175,17 +160,34 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="PbFaceList.pb.h" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/PbFaceList.pb.h">
+      <file leaf-file-name="jni.h" pinned="false" current-in-tab="false">
+        <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/jni.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="12388">
-              <caret line="652" column="0" selection-start-line="652" selection-start-column="0" selection-end-line="652" selection-end-column="0" />
+            <state relative-caret-position="209">
+              <caret line="604" column="74" selection-start-line="604" selection-start-column="74" selection-end-line="604" selection-end-column="74" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="MaterialBuffer.h" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="418">
+              <caret line="22" column="48" selection-start-line="22" selection-start-column="48" selection-end-line="22" selection-end-column="48" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
     </leaf>
+  </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Class" />
+      </list>
+    </option>
   </component>
   <component name="GradleLocalSettings">
     <option name="myGradleHomes">
@@ -1881,12 +1883,15 @@
         <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" />
+        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java" />
+        <option value="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
       </list>
     </option>
   </component>
@@ -1894,7 +1899,7 @@
   <component name="ProjectFrameBounds">
     <option name="x" value="-8" />
     <option name="y" value="-8" />
-    <option name="width" value="1932" />
+    <option name="width" value="1924" />
     <option name="height" value="1176" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="false">
@@ -1922,8 +1927,8 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="Scope" />
       <pane id="PackagesPane" />
+      <pane id="Scratches" />
       <pane id="ProjectPane">
         <subPane>
           <PATH>
@@ -1968,7 +1973,7 @@
           </PATH>
         </subPane>
       </pane>
-      <pane id="Scratches" />
+      <pane id="Scope" />
       <pane id="AndroidView" />
     </panes>
   </component>
@@ -1980,7 +1985,7 @@
     <property name="android.project.structure.last.selected" value="app" />
     <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="30bffbe57d22" />
+    <property name="device.picker.selection" value="015d2109845c1607" />
   </component>
   <component name="RunManager" selected="Android App.app">
     <configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
@@ -2361,7 +2366,7 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1932" height="1176" extended-state="1" />
+    <frame x="-8" y="-8" width="1924" height="1176" extended-state="0" />
     <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.32940018" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
@@ -2369,20 +2374,20 @@
       <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="true" show_stripe_button="true" weight="0.29301867" sideWeight="0.23504274" order="7" side_tool="true" content_ui="tabs" />
-      <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.29301867" sideWeight="0.76495725" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2979351" sideWeight="0.4753219" order="7" 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.2920354" sideWeight="0.7392704" order="7" 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.4936034" order="7" 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.32940018" sideWeight="0.4978678" order="7" 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.36479843" sideWeight="0.48933902" order="7" 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.25160256" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25107297" 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="3" 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="3" 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="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.2979351" sideWeight="0.54220086" 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="true" show_stripe_button="true" weight="0.2979351" sideWeight="0.5246781" 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" />
@@ -2410,25 +2415,11 @@
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
-      <option name="time" value="315" />
+      <option name="time" value="328" />
     </breakpoint-manager>
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/libs/live555/include/liveMedia/Media.hh">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1007">
-          <caret line="53" column="41" selection-start-line="53" selection-start-column="41" selection-end-line="53" selection-end-column="41" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://D:/Android/adk/sources/android-22/android/opengl/GLSurfaceView.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-10548">
-          <caret line="1238" column="0" selection-start-line="1238" selection-start-column="0" selection-end-line="1238" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-95">
@@ -2493,7 +2484,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="1881">
           <caret line="99" column="0" selection-start-line="99" selection-start-column="0" selection-end-line="99" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2501,9 +2491,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="142">
           <caret line="85" column="19" selection-start-line="85" selection-start-column="19" selection-end-line="85" selection-end-column="19" />
-          <folding>
-            <element signature="e#997#1019#0" expanded="false" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -2518,7 +2505,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="38">
           <caret line="8" column="72" selection-start-line="8" selection-start-column="72" selection-end-line="8" selection-end-column="72" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2575,7 +2561,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="646">
           <caret line="44" column="39" selection-start-line="44" selection-start-column="39" selection-end-line="44" selection-end-column="39" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2602,14 +2587,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/build.gradle">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="7" column="24" selection-start-line="7" selection-start-column="24" selection-end-line="7" selection-end-column="24" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://D:/Android/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/stl_vector.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="190">
@@ -2628,7 +2605,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="248">
           <caret line="96" column="81" selection-start-line="96" selection-start-column="81" selection-end-line="96" selection-end-column="81" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2668,17 +2644,11 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="532">
-          <caret line="28" column="8" selection-start-line="28" selection-start-column="8" selection-end-line="28" selection-end-column="8" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/../../RtspFace/Logger/src/logger.hpp">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="228">
           <caret line="53" column="0" selection-start-line="53" selection-start-column="0" selection-end-line="53" selection-end-column="0" />
+          <folding />
         </state>
       </provider>
     </entry>
@@ -2686,7 +2656,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="57">
           <caret line="54" column="0" selection-start-line="54" selection-start-column="0" selection-end-line="54" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2694,10 +2663,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-626">
           <caret line="108" column="22" selection-start-line="108" selection-start-column="22" selection-end-line="108" selection-end-column="22" />
-          <folding>
-            <element signature="e#3564#3565#0" expanded="false" />
-            <element signature="e#3623#3624#0" expanded="false" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -2730,14 +2695,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/jni.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="893">
-          <caret line="47" column="28" selection-start-line="47" selection-start-column="24" selection-end-line="47" selection-end-column="28" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app/libs/libyuv/include/libyuv/convert_from.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="1768">
@@ -2745,30 +2702,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp">
+    <entry file="file://$PROJECT_DIR$/app/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1349">
-          <caret line="71" column="0" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#26#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="3287">
-          <caret line="173" column="16" selection-start-line="173" selection-start-column="16" selection-end-line="173" selection-end-column="16" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </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="5054">
-          <caret line="266" column="0" selection-start-line="266" selection-start-column="0" selection-end-line="266" selection-end-column="0" />
+        <state relative-caret-position="684">
+          <caret line="36" column="5" selection-start-line="36" selection-start-column="5" selection-end-line="36" selection-end-column="5" />
           <folding />
         </state>
       </provider>
@@ -2784,42 +2721,91 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="266">
-          <caret line="14" column="31" selection-start-line="14" selection-start-column="31" selection-end-line="14" selection-end-column="31" />
+        <state relative-caret-position="570">
+          <caret line="31" column="62" selection-start-line="31" selection-start-column="26" selection-end-line="31" selection-end-column="62" />
           <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/RtspNativeCodecJNI.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="532">
-          <caret line="37" column="63" selection-start-line="37" selection-start-column="63" selection-end-line="37" selection-end-column="63" />
+        <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$/../../RtspFace/MaterialBuffer.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="418">
+          <caret line="22" column="48" selection-start-line="22" selection-start-column="48" selection-end-line="22" selection-end-column="48" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="114">
+          <caret line="6" column="25" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="25" />
+          <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="1349">
+          <caret line="71" column="0" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="e#0#26#0" expanded="true" />
           </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="418">
-          <caret line="197" column="43" selection-start-line="197" selection-start-column="43" selection-end-line="197" selection-end-column="43" />
+        <state relative-caret-position="931">
+          <caret line="201" column="61" selection-start-line="201" selection-start-column="61" selection-end-line="201" selection-end-column="61" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="114">
+          <caret line="6" column="3" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" />
           <folding>
-            <element signature="e#4018#5463#0" expanded="true" />
-            <element signature="e#5462#5463#0" expanded="true" />
-            <element signature="e#5728#5878#0" expanded="true" />
-            <element signature="e#5877#5878#0" expanded="true" />
-            <element signature="e#5917#6067#0" expanded="true" />
-            <element signature="e#6066#6067#0" expanded="true" />
-            <element signature="e#6228#7921#0" expanded="true" />
-            <element signature="e#7920#7921#0" expanded="true" />
-            <element signature="e#8034#8284#0" expanded="true" />
-            <element signature="e#8283#8284#0" expanded="true" />
+            <element signature="imports" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="931">
+          <caret line="206" column="25" selection-start-line="206" selection-start-column="25" selection-end-line="206" selection-end-column="25" />
+          <folding>
+            <element signature="e#0#22#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/jni.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="209">
+          <caret line="604" column="74" selection-start-line="604" selection-start-column="74" selection-end-line="604" selection-end-column="74" />
+          <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="532">
+          <caret line="279" column="42" selection-start-line="279" selection-start-column="42" selection-end-line="279" selection-end-column="42" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
index b8bc2a8..6397b27 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
index 55ffc1d..ccf8d21 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
@@ -72,3 +72,25 @@
 18	1692	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
 772	2984	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
 2984	3480	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+21	1178	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
+39	1204	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+42	1225	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
+35	1688	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
+1225	2015	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
+56	2024	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
+1204	2147	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
+52	2221	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1178	3478	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
+3478	4084	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	747	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+747	1331	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	485	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+485	869	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	465	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+465	863	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	506	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+506	905	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	463	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+463	864	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+5	716	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
+716	1120	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
diff --git a/VisitFace/RtspNativeCodec/app/app.iml b/VisitFace/RtspNativeCodec/app/app.iml
index e400c16..ab3d316 100644
--- a/VisitFace/RtspNativeCodec/app/app.iml
+++ b/VisitFace/RtspNativeCodec/app/app.iml
@@ -77,14 +77,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -93,6 +85,14 @@
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
index 8d76d9e..eea820d 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
@@ -1 +1 @@
-#Tue Apr 11 16:56:40 CST 2017
+#Wed Apr 12 12:10:41 CST 2017
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
index b4258a2..f10c330 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
@@ -1,4 +1,4 @@
-#Tue Apr 11 16:56:40 CST 2017
+#Wed Apr 12 12:10:41 CST 2017
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-xxhdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi\\ic_launcher.png
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-hdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi\\ic_launcher.png
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-mdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi\\ic_launcher.png
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
index 969383c..3b1797f 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
@@ -171,7 +171,7 @@
     return buffMaxSize > 0;
 }
 
-bool FaceCache::getFaceListImage(int* buffIdx, size_t& count, uint8_t* buffImg, size_t& buffImgMaxSize)
+bool FaceCache::getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize)
 {
     FcPmBreackerContext& ctx(*(FcPmBreackerContext*)_ctx);
 
@@ -181,31 +181,36 @@
         if (! ctx.convertYUV420ToRGB())
             return false;
     }
-	
-	count = 0;
-	uint8_t* pBuff = buffImg;
-	size_t totalSize = 0;
+
+    imgIdxes.clear();
+	size_t offset = 0;
 
     cv::Mat rgbMat(cv::Size(ctx.width, ctx.height), CV_8UC3, ctx.frameRGB);
     for (st_ff_vect_t::const_iterator ffiter = ctx.faceFeatures.begin(); ffiter != ctx.faceFeatures.end(); ++ffiter)
     {
         const FaceRect& faceRect(ffiter->rect);
         cv::Mat roiMat(rgbMat, cv::Rect(faceRect.leftTop.x, faceRect.leftTop.y, faceRect.rightBottom.x - faceRect.leftTop.x, faceRect.rightBottom.y - faceRect.leftTop.y));
-		
+
+        NativeImgIdx imgidx;
+        imgidx.offset = offset;
+        imgidx.size = roiMat.total() * roiMat.elemSize();
+        imgidx.type = MB_Frame::MBFT_RGB;
+        imgidx.width = roiMat.cols;
+        imgidx.height = roiMat.rows;
+
+        const size_t newSize = imgidx.offset + imgidx.size;
+
 		//isContinuous
-		size_t s = roiMat.total() * roiMat.elemSize();
-		if (totalSize + s <= buffImgMaxSize)
-		{
-			memcpy(pBuff, roiMat.ptr(), s);
-			*buffIdx = int(totalSize);
-			
-			pBuff += s;
-			totalSize += s;
-			count++;
-			buffIdx++;
-		}
+		if (newSize > buffImgMaxSize)
+        {
+            LOG_ERROR << "FaceCache::getFaceListImage buffImgMaxSize truncated" << LOG_ENDL;
+            return false;
+        }
+
+        memcpy(buffImg + imgidx.offset, roiMat.ptr(), imgidx.size);
+        imgIdxes.push_back(imgidx);
+        offset = newSize;
     }
 
-    buffImgMaxSize = totalSize;
-    return (count != 0);
+    return true;
 }
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
index 8c2e077..22571c1 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
@@ -2,6 +2,16 @@
 #define __FaceCache_H__
 
 #include <PipeLine.h>
+#include <vector>
+
+struct NativeImgIdx
+{
+	int offset;
+	int size;
+	int type;
+	int width;
+	int height;
+};
 
 class FaceCache
 {
@@ -20,7 +30,7 @@
 	
 	bool getFaceListPb(uint8_t* buffer, size_t& buffMaxSize);
 	
-	bool getFaceListImage(int* buffIdx, size_t& count, uint8_t* buffImg, size_t& buffImgMaxSize);
+	bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
 	
 private:
 	void* _ctx;
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
index 2e93c7a..249e3cf 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -233,39 +233,59 @@
     }
 }
 
-jint Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jintArray faceImagesIdx, jbyteArray faceImages)
+jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceImages)
 {
 	LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages" << LOG_ENDL;
 	assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
 	cameraIdx -= 1;
 	CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
 
-    size_t count = 0;
-    int _faceImagesIdx[MAX_FACE] = {-1};
+    std::vector<NativeImgIdx> imgIdxes;
     uint8_t _faceImages[MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT];
-    size_t _faceImagesSize = sizeof(_faceImages);
+    size_t _faceImagesSize = std::min(sizeof(_faceImages), size_t(env->GetArrayLength(faceImages)));
+
     bool ret = false;
 
-    const size_t faceImagesIdxArrSize = env->GetArrayLength(faceImagesIdx); // count of int
-    const size_t faceImagesArrSize = env->GetArrayLength(faceImages);
-
 #ifdef USE_ST_SDK
-    ret = cameraWrapper.faceCache.getFaceListImage(_faceImagesIdx, count, _faceImages, _faceImagesSize);
+    //bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
+    ret = cameraWrapper.faceCache.getFaceListImage(imgIdxes, _faceImages, _faceImagesSize);
 #endif
 
-    if (!ret && count > 0)
+    if (imgIdxes.size() < 0)
     {
         LOG_INFO << "No face image captured" << LOG_ENDL;
-        return 0;
+        return nullptr;
     }
 
-    int _faceImagesIdxCount = std::min(count, faceImagesIdxArrSize);
-    env->SetIntArrayRegion(faceImagesIdx, 0, _faceImagesIdxCount, (const jint*)_faceImagesIdx);
-
-    _faceImagesSize = std::min(_faceImagesSize, faceImagesArrSize);
     env->SetByteArrayRegion(faceImages, 0, _faceImagesSize, (const jbyte*)_faceImages);
 
-    return  count;
+    jclass jcArrayList = env->FindClass("java/util/ArrayList");
+    jmethodID jmArrayList_ctor = env->GetMethodID(jcArrayList, "<init>", "()V");
+    jmethodID jmArrayList_add  = env->GetMethodID(jcArrayList, "add", "(Ljava/lang/Object;)Z");
+
+    jclass jcNativeImgIdx = env->FindClass("cn/com/basic/face/util/NativeImgIdx");
+    jmethodID jmNativeImgIdx_ctor = env->GetMethodID(jcNativeImgIdx, "<init>", "()V");
+    jfieldID jfNativeImgIdx_offset = env->GetFieldID(jcNativeImgIdx, "offset","I");
+    jfieldID jfNativeImgIdx_size = env->GetFieldID(jcNativeImgIdx, "size","I");
+    jfieldID jfNativeImgIdx_type = env->GetFieldID(jcNativeImgIdx, "type","I");
+    jfieldID jfNativeImgIdx_width = env->GetFieldID(jcNativeImgIdx, "width","I");
+    jfieldID jfNativeImgIdx_height = env->GetFieldID(jcNativeImgIdx, "height","I");
+
+    jobject jobjArrayList_ImgIdxes = env->NewObject(jcArrayList , jmArrayList_ctor);
+
+    for(size_t i = 0 ; i < imgIdxes.size(); i++)
+    {
+        jobject jobjNativeImgIdx = env->NewObject(jcNativeImgIdx , jmNativeImgIdx_ctor);
+        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_offset, imgIdxes[i].offset);
+        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_size, imgIdxes[i].size);
+        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_type, imgIdxes[i].type);
+        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_width, imgIdxes[i].width);
+        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_height, imgIdxes[i].height);
+
+        env->CallBooleanMethod(jobjArrayList_ImgIdxes , jmArrayList_add , jobjNativeImgIdx);
+    }
+
+    return jobjArrayList_ImgIdxes;
 }
 
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
index 5f91ed7..dbf5225 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
@@ -31,7 +31,8 @@
 jint Java_cn_com_basic_face_util_RtspFaceNative_getFaceList(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceListPb);
 
 // get 2-dimension byte array of ARGB images
-jint Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jintArray faceImagesIdx, jbyteArray faceImages);
+// returns ArrayList<NativeImgIdx>
+jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceImages);
 
 }
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java b/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java
new file mode 100644
index 0000000..dd40edc
--- /dev/null
+++ b/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java
@@ -0,0 +1,13 @@
+package cn.com.basic.face.util;
+
+/**
+ * Created by houxiao on 2017/4/12.
+ */
+
+public class NativeImgIdx {
+    public int offset;
+    public int size;
+    public int type;
+    public int width;
+    public int height;
+}
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java b/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
index 5e405c9..8d4fb56 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
+++ b/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -2,6 +2,7 @@
 
 import android.util.Log;
 import android.view.Surface;
+import java.util.ArrayList;
 
 /**
  * Created by houxiao on 2017/3/21 0021.
@@ -10,7 +11,6 @@
 public class RtspFaceNative {
 
     //cn.com.basic.face.util.RtspFaceNative
-
 
     public static native void init();
     public static native void setSurface(int cameraIdx, Surface surface);
@@ -21,7 +21,7 @@
     public static native void lockFace(int cameraIdx);
     public static native void releaseFace(int cameraIdx);
     public static native int getFaceList(int cameraIdx, byte[] faceListPb);
-    public static native int getFaceImages(int cameraIdx, int[] faceImagesIdx, byte[] faceImages);
+    public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, byte[] faceImages);
 
     public static void faceCallBack(int cameraIdx, int count)
     {
@@ -33,9 +33,9 @@
         int s = getFaceList(cameraIdx, faceListPb);
         Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceList, cameraIdx=" + cameraIdx + ", size=" + s);
 
-        int[] faceImagesIdx = new int[10];
         byte[] faceImages = new byte[1024 * 1024 * 1];
-        int c = getFaceImages(cameraIdx, faceImagesIdx, faceImages);
+        ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
+        int c = faceImagesIdx.size();
         Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c);
 
         releaseFace(cameraIdx);

--
Gitblit v1.8.0