houxiao
2017-04-18 d53b1e0d18c75420fd7bd7b37178c50d40f2a779
bugfix getFaceListImage

git-svn-id: http://192.168.1.226/svn/proxy@470 454eff88-639b-444f-9e54-f578c98de674
4个文件已删除
18个文件已修改
1070 ■■■■ 已修改文件
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.idea/workspace.xml 720 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/app.iml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/release/app-debug.apk 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/release/app-debug10.apk 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/release/app-debug49.apk 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/release/librtspface.so 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin
Binary files differ
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin
Binary files differ
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin
Binary files differ
VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock
Binary files differ
VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
Binary files differ
VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
Binary files differ
VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
Binary files differ
VisitFace/RtspNativeCodec/.idea/workspace.xml
@@ -18,6 +18,7 @@
      <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" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.lock" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.lock" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" afterPath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" afterPath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps" />
@@ -36,12 +37,14 @@
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/make.sh" afterPath="$PROJECT_DIR$/../../RtspFace/make.sh" />
      <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/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/cn/com/basic/face/util/RtspFaceNative.java" afterPath="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
      <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" />
    </list>
    <ignored path="RtspNativeCodec.iws" />
    <ignored path=".idea/workspace.xml" />
@@ -73,12 +76,24 @@
  </component>
  <component name="FileEditorManager">
    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
      <file leaf-file-name="RtspFaceNative.java" pinned="false" current-in-tab="true">
      <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="162">
              <caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
            <state relative-caret-position="504">
              <caret line="84" column="42" selection-start-line="84" selection-start-column="42" selection-end-line="84" selection-end-column="42" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="CameraWrapper.cpp" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="19">
              <caret line="61" column="37" selection-start-line="61" selection-start-column="27" selection-end-line="61" selection-end-column="37" />
              <folding>
                <element signature="e#0#26#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
@@ -86,12 +101,34 @@
      <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="359">
              <caret line="63" column="47" selection-start-line="63" selection-start-column="47" selection-end-line="63" selection-end-column="47" />
            <state relative-caret-position="3021">
              <caret line="196" column="89" selection-start-line="196" selection-start-column="89" selection-end-line="196" selection-end-column="89" />
              <folding>
                <element signature="e#8238#8488#0" expanded="true" />
                <element signature="e#8487#8488#0" expanded="true" />
                <element signature="e#0#13223#0" expanded="false" />
                <element signature="imports" expanded="false" />
                <element signature="e#2869#2870#0" expanded="false" />
                <element signature="e#2931#2932#0" expanded="false" />
                <element signature="e#5907#5908#0" expanded="false" />
                <element signature="e#5955#5956#0" expanded="false" />
                <element signature="e#6096#6097#0" expanded="false" />
                <element signature="e#6144#6145#0" expanded="false" />
                <element signature="e#12129#12130#0" expanded="false" />
                <element signature="e#12183#12184#0" expanded="false" />
                <element signature="e#12253#12254#0" expanded="false" />
                <element signature="e#12319#12320#0" expanded="false" />
                <element signature="e#12774#12775#0" expanded="false" />
                <element signature="e#12832#12833#0" expanded="false" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="PL_AndroidMediaCodecDecoder.cpp" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="82">
              <caret line="317" column="35" selection-start-line="317" selection-start-column="35" selection-end-line="317" selection-end-column="35" />
              <folding />
            </state>
          </provider>
        </entry>
@@ -99,8 +136,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="247">
              <caret line="13" column="42" selection-start-line="13" selection-start-column="42" selection-end-line="13" selection-end-column="42" />
            <state relative-caret-position="652">
              <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="42" selection-end-column="0" />
              <folding />
            </state>
          </provider>
@@ -109,8 +146,8 @@
      <file leaf-file-name="RtspNativeCodecJNI.cpp" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="462">
              <caret line="43" column="19" selection-start-line="43" selection-start-column="19" selection-end-line="43" selection-end-column="19" />
            <state relative-caret-position="380">
              <caret line="296" column="67" selection-start-line="296" selection-start-column="67" selection-end-line="296" selection-end-column="67" />
              <folding>
                <element signature="e#0#31#0" expanded="true" />
                <element signature="e#135#173#0" expanded="true" />
@@ -119,34 +156,36 @@
          </provider>
        </entry>
      </file>
      <file leaf-file-name="testRTSPClient.hpp" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp">
      <file leaf-file-name="FaceCache.h" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.h">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="230">
              <caret line="305" column="38" selection-start-line="305" selection-start-column="38" selection-end-line="305" selection-end-column="38" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="CameraWrapper.h" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="568">
              <caret line="36" column="26" selection-start-line="36" selection-start-column="26" selection-end-line="36" selection-end-column="26" />
            <state relative-caret-position="323">
              <caret line="17" column="33" selection-start-line="17" selection-start-column="33" selection-end-line="17" selection-end-column="33" />
              <folding>
                <element signature="e#131#153#0" expanded="true" />
                <element signature="e#344#382#0" expanded="true" />
                <element signature="e#49#70#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="FaceCache.cpp" pinned="false" current-in-tab="false">
      <file leaf-file-name="FaceCache.cpp" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="553">
              <caret line="168" column="35" selection-start-line="168" selection-start-column="35" selection-end-line="168" selection-end-column="35" />
            <state relative-caret-position="589">
              <caret line="348" column="27" selection-start-line="348" selection-start-column="27" selection-end-line="348" selection-end-column="27" />
              <folding>
                <element signature="e#0#22#0" expanded="true" />
                <element signature="e#6117#8587#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="testRTSPClient.hpp" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="6194">
              <caret line="326" column="0" selection-start-line="326" selection-start-column="0" selection-end-line="326" selection-end-column="0" />
              <folding />
            </state>
          </provider>
@@ -1849,24 +1888,25 @@
        <option value="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
        <option value="$PROJECT_DIR$/build.gradle" />
        <option value="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" />
        <option value="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" />
        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
        <option value="$PROJECT_DIR$/../../RtspFace/MediaHelper.h" />
        <option value="$PROJECT_DIR$/../../RtspFace/MediaHelper.cpp" />
        <option value="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp" />
        <option value="$PROJECT_DIR$/app/build.gradle" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" />
        <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp" />
        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp" />
        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" />
        <option value="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
        <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" />
        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
        <option value="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" />
        <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.h" />
        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" />
      </list>
    </option>
  </component>
@@ -1874,7 +1914,7 @@
  <component name="ProjectFrameBounds">
    <option name="x" value="-8" />
    <option name="y" value="-8" />
    <option name="width" value="1924" />
    <option name="width" value="1936" />
    <option name="height" value="1176" />
  </component>
  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
@@ -1933,188 +1973,6 @@
              <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>
          <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>
          <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="res" />
              <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="res" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="layout" />
              <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="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_ELEMENT>
              <option name="myItemId" value="RtspFaceNative.java" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.ClassesTreeStructureProvider$PsiClassOwnerTreeNode" />
            </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>
          </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>
@@ -2131,188 +1989,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="app" />
              <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>
          <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="res" />
              <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="res" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="layout" />
              <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_ELEMENT>
              <option name="myItemId" value="RtspFaceNative.java" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.ClassesTreeStructureProvider$PsiClassOwnerTreeNode" />
            </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="cpp" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
        </subPane>
@@ -2709,7 +2385,7 @@
    </todo-panel>
  </component>
  <component name="ToolWindowManager">
    <frame x="-8" y="-8" width="1924" height="1176" extended-state="0" />
    <frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
    <editor active="false" />
    <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" />
@@ -2718,19 +2394,19 @@
      <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.29301867" sideWeight="0.33530042" 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.45427728" sideWeight="0.6732833" order="7" side_tool="false" 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.27630284" sideWeight="0.65450644" 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.32940018" 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.4892704" 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.29301867" sideWeight="0.35139486" 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.25107297" 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="false" show_stripe_button="true" weight="0.27630284" sideWeight="0.34549356" 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.24946696" 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="true" show_stripe_button="true" weight="0.29301867" sideWeight="0.64860517" 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.35594887" sideWeight="0.64860517" 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" />
@@ -2758,18 +2434,11 @@
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager>
      <option name="time" value="536" />
      <option name="time" value="558" />
    </breakpoint-manager>
    <watches-manager />
  </component>
  <component name="editorHistoryManager">
    <entry file="file://$PROJECT_DIR$/local.properties">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="228">
          <caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" 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">
@@ -2840,14 +2509,6 @@
        </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>
    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="57">
@@ -2890,20 +2551,6 @@
        </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="570">
          <caret line="31" column="62" selection-start-line="31" selection-start-column="26" selection-end-line="31" selection-end-column="62" />
        </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" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/settings.gradle">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
@@ -2921,13 +2568,6 @@
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java" />
    <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="225">
          <caret line="587" column="0" selection-start-line="587" selection-start-column="0" selection-end-line="587" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/../../RtspFace/Logger/src/logger.cc">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="230">
@@ -2939,7 +2579,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="347">
          <caret line="62" column="19" selection-start-line="62" selection-start-column="19" selection-end-line="62" selection-end-column="19" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -2947,14 +2586,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="344">
          <caret line="28" column="19" selection-start-line="28" selection-start-column="19" selection-end-line="28" selection-end-column="19" />
          <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="260">
          <caret line="112" column="0" selection-start-line="112" selection-start-column="0" selection-end-line="116" selection-end-column="38" />
        </state>
      </provider>
    </entry>
@@ -2976,7 +2607,6 @@
      <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>
@@ -2984,9 +2614,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="456">
          <caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
          <folding>
            <element signature="e#964#985#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
@@ -2997,13 +2624,6 @@
        </state>
      </provider>
    </entry>
    <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/media/NdkMediaCodec.h">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="969">
          <caret line="51" column="0" selection-start-line="51" selection-start-column="0" selection-end-line="51" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/app/build.gradle">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="133">
@@ -3011,42 +2631,27 @@
        </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="1140">
          <caret line="60" column="68" selection-start-line="60" selection-start-column="68" selection-end-line="60" selection-end-column="68" />
          <folding>
            <element signature="e#0#26#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/android/native_window.h">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="608">
          <caret line="32" column="2" selection-start-line="32" selection-start-column="2" selection-end-line="32" selection-end-column="2" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/main.xml">
      <provider selected="true" editor-type-id="android-designer2">
        <state />
      </provider>
      <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/PL_AndroidSurfaceViewRender.cpp">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="779">
          <caret line="212" column="6" selection-start-line="212" selection-start-column="6" selection-end-line="212" selection-end-column="6" />
          <folding>
            <element signature="e#0#40#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
@@ -3054,7 +2659,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="380">
          <caret line="85" column="48" selection-start-line="85" selection-start-column="19" selection-end-line="85" selection-end-column="48" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -3062,17 +2666,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="652">
          <caret line="37" column="35" selection-start-line="37" selection-start-column="35" selection-end-line="37" selection-end-column="35" />
          <folding>
            <element signature="e#50#83#0" expanded="false" />
          </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="197">
          <caret line="258" column="56" selection-start-line="258" selection-start-column="56" selection-end-line="258" selection-end-column="56" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -3080,7 +2673,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="532">
          <caret line="263" column="48" selection-start-line="263" selection-start-column="48" selection-end-line="263" selection-end-column="48" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -3088,15 +2680,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="230">
          <caret line="38" column="6" selection-start-line="38" selection-start-column="6" selection-end-line="38" selection-end-column="6" />
          <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="553">
          <caret line="168" column="35" selection-start-line="168" selection-start-column="35" selection-end-line="168" selection-end-column="35" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -3104,33 +2687,84 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="568">
          <caret line="36" column="26" selection-start-line="36" selection-start-column="26" selection-end-line="36" selection-end-column="26" />
        </state>
      </provider>
    </entry>
    <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/media/NdkMediaCodec.h">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-1763">
          <caret line="33" column="27" selection-start-line="33" selection-start-column="27" selection-end-line="33" selection-end-column="27" />
        </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="6194">
          <caret line="326" column="0" selection-start-line="326" selection-start-column="0" selection-end-line="326" selection-end-column="0" />
          <folding />
        </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="537">
          <caret line="72" column="0" selection-start-line="72" selection-start-column="0" selection-end-line="72" selection-end-column="0" />
        </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="323">
          <caret line="17" column="33" selection-start-line="17" selection-start-column="33" selection-end-line="17" selection-end-column="33" />
          <folding>
            <element signature="e#131#153#0" expanded="true" />
            <element signature="e#344#382#0" expanded="true" />
            <element signature="e#49#70#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="3021">
          <caret line="196" column="89" selection-start-line="196" selection-start-column="89" selection-end-line="196" selection-end-column="89" />
          <folding>
            <element signature="e#0#13223#0" expanded="false" />
            <element signature="imports" expanded="false" />
            <element signature="e#2869#2870#0" expanded="false" />
            <element signature="e#2931#2932#0" expanded="false" />
            <element signature="e#5907#5908#0" expanded="false" />
            <element signature="e#5955#5956#0" expanded="false" />
            <element signature="e#6096#6097#0" expanded="false" />
            <element signature="e#6144#6145#0" expanded="false" />
            <element signature="e#12129#12130#0" expanded="false" />
            <element signature="e#12183#12184#0" expanded="false" />
            <element signature="e#12253#12254#0" expanded="false" />
            <element signature="e#12319#12320#0" expanded="false" />
            <element signature="e#12774#12775#0" expanded="false" />
            <element signature="e#12832#12833#0" expanded="false" />
          </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="247">
          <caret line="13" column="42" selection-start-line="13" selection-start-column="42" selection-end-line="13" selection-end-column="42" />
        <state relative-caret-position="652">
          <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="42" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp">
    <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="230">
          <caret line="305" column="38" selection-start-line="305" selection-start-column="38" selection-end-line="305" selection-end-column="38" />
        <state relative-caret-position="208">
          <caret line="984" column="27" selection-start-line="984" selection-start-column="9" selection-end-line="984" selection-end-column="27" />
          <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="462">
          <caret line="43" column="19" selection-start-line="43" selection-start-column="19" selection-end-line="43" selection-end-column="19" />
        <state relative-caret-position="380">
          <caret line="296" column="67" selection-start-line="296" selection-start-column="67" selection-end-line="296" selection-end-column="67" />
          <folding>
            <element signature="e#0#31#0" expanded="true" />
            <element signature="e#135#173#0" expanded="true" />
@@ -3138,24 +2772,66 @@
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java">
    <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="359">
          <caret line="63" column="47" selection-start-line="63" selection-start-column="47" selection-end-line="63" selection-end-column="47" />
        <state relative-caret-position="504">
          <caret line="84" column="42" selection-start-line="84" selection-start-column="42" selection-end-line="84" selection-end-column="42" />
          <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="19">
          <caret line="61" column="37" selection-start-line="61" selection-start-column="27" selection-end-line="61" selection-end-column="37" />
          <folding>
            <element signature="e#8238#8488#0" expanded="true" />
            <element signature="e#8487#8488#0" expanded="true" />
            <element signature="e#0#26#0" expanded="true" />
          </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$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="162">
          <caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
        <state relative-caret-position="82">
          <caret line="317" column="35" selection-start-line="317" selection-start-column="35" selection-end-line="317" selection-end-column="35" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="310">
          <caret line="23" column="68" selection-start-line="23" selection-start-column="68" selection-end-line="23" selection-end-column="68" />
          <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="595">
          <caret line="133" column="0" selection-start-line="133" selection-start-column="0" selection-end-line="141" selection-end-column="62" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.h">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="341">
          <caret line="21" column="60" selection-start-line="21" selection-start-column="60" selection-end-line="21" selection-end-column="60" />
          <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="589">
          <caret line="348" column="27" selection-start-line="348" selection-start-column="27" selection-end-line="348" selection-end-column="27" />
          <folding>
            <element signature="e#0#22#0" expanded="true" />
            <element signature="e#6117#8587#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
  </component>
</project>
VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
Binary files differ
VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
@@ -1,13 +1,95 @@
# ninja log v5
18    789    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
1369    1985    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
43    843    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
895    1440    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
13    895    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
3112    3517    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
34    1369    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
789    1917    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
843    3111    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
26    1775    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
4    1960    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
1440    2115    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
36    768    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
832    1652    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
16    832    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
923    1456    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
4    923    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
3692    4092    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
12    1408    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
1408    2121    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
768    3070    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
28    1835    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
20    1839    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
1456    2080    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
16    765    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
12    916    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
19    934    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
3    1219    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
1219    1791    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
26    1823    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
934    1840    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
916    1877    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
33    1898    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
1791    2228    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
765    3092    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
11    747    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
34    795    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
15    824    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
3    1191    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
825    1248    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
795    1389    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
18    1471    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
748    1531    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
1191    3090    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
43    795    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
16    800    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
23    970    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
36    1497    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
800    1736    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
12    1813    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
1497    1859    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
4    1943    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
970    1957    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
1736    2301    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
795    3240    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
3240    3677    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
30    651    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
3    797    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
19    877    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
11    1389    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
877    1424    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
797    1624    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
15    1626    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
651    1683    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
24    1790    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
1389    1967    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
1424    3394    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
3394    3784    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
34    901    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
22    920    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
17    989    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
13    1101    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
3    1692    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
28    2500    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
2501    2919    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
4    571    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
18    663    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
13    1432    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
24    2084    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
2084    2490    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
4    1287    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
1287    1684    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
15    748    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
30    758    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
38    840    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
20    1398    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
758    1644    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
748    1771    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
1398    1806    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
4    1841    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
25    1877    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
1644    2203    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
840    3120    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
3120    3534    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
24    796    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o    a3171a496028d438
32    859    0    CMakeFiles/rtspface.dir/CameraWrapper.cpp.o    d92dd1d04b5c0345
3    951    0    CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o    8a466329a73b562b
38    1250    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o    1249e538330ec634
859    1462    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/MediaHelper.cpp.o    e5f79bab03d05ada
797    1584    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp.o    edca9b4a8d892a0a
18    1673    0    CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o    a4c0dfab93cb91a0
951    1730    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o    ca99d0cff4f6b717
14    1917    0    CMakeFiles/rtspface.dir/FaceCache.cpp.o    29bbc5d44de1c4c
1462    2193    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o    6a2338c361fc9c0b
1250    3406    0    CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o    c6ac00204ba57dc6
3407    3832    0    D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so    774045ca0234f4ff
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/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" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
      <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" />
@@ -93,6 +85,14 @@
      <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" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
      <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" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
@@ -1 +1 @@
#Mon Apr 17 16:10:44 CST 2017
#Tue Apr 18 14:52:21 CST 2017
VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
@@ -1,6 +1,6 @@
#Mon Apr 17 16:10:44 CST 2017
#Tue Apr 18 14:52:21 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-mdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi\\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
D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-xhdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi\\ic_launcher.png
D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\layout\\main.xml=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\layout\\main.xml
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
@@ -14,6 +14,10 @@
#include "PbFaceList.pb.h"
#include <libyuv.h>
#define SUBSAMPLE(v, a) ((((v) + (a) - 1)) / (a))
//#define YUV420_TO_RGB888 1
#define YUV420_TO_RGB565 1
struct FcPmBreackerContext
{
@@ -46,10 +50,8 @@
        faceFeatures.clear();
    }
    
    bool convertYUV420ToRGB()
    bool convertYUV420ToRGB888()
    {
#define SUBSAMPLE(v, a) ((((v) + (a) - 1)) / (a))
        int src_height = height;
        int src_width = width;
        const uint8* src_y = (const uint8*)(frameYUV);
@@ -75,6 +77,23 @@
        return true;
    }
    bool convertYUV420ToRGB565()
    {
        int src_height = height;
        int src_width = width;
        const uint8* src_y = (const uint8*)(frameYUV);
        const uint8* src_u = (const uint8*)(src_y + (src_height * src_width));
        const uint8* src_v = (const uint8*)(src_u + (src_height * src_width / 4));
        libyuv::I420ToRGB565(src_y, src_width,
                            src_u, SUBSAMPLE(src_width, 2),
                            src_v, SUBSAMPLE(src_width, 2),
                            frameRGB, 2 * src_width,
                            src_width, src_height);
        frameRGBSize = src_height * src_width * 2;
        return true;
    }
};
bool fc_pm_breaker_ptr(const PipeMaterial* pm, void* args)
@@ -113,6 +132,13 @@
    
    ctx->dataAvailable &= true;
    return true;
}
NativeImgIdx::operator std::string() const
{
    char buf[256];
    sprintf(buf, "offset=%d, size=%d, type=%d, width=%d, height=%d", offset, size, type, width, height);
    return std::string(buf);
}
#ifdef USE_ST_SDK
@@ -194,6 +220,8 @@
    return buffMaxSize > 0;
}
#ifdef YUV420_TO_RGB888
bool FaceCache::getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize)
{
    FcPmBreackerContext& ctx(*(FcPmBreackerContext*)_ctx);
@@ -203,7 +231,7 @@
    if (ctx.frameRGBSize == 0)
    {
        //#todo should optimize not convert the whole image
        if (! ctx.convertYUV420ToRGB())
        if (! ctx.convertYUV420ToRGB888())
            return false;
    }
@@ -220,7 +248,7 @@
        NativeImgIdx imgidx;
        imgidx.offset = offset;
        imgidx.size = roiMat.total() * roiMat.elemSize();
        imgidx.type = MB_Frame::MBFT_RGB;
        imgidx.type = MB_Frame::MBFT_RGB888;
        imgidx.width = roiMat.cols;
        imgidx.height = roiMat.rows;
@@ -265,5 +293,71 @@
        offset = newSize;
    }
    buffImgMaxSize = offset;
    return true;
}
#elif YUV420_TO_RGB565
bool FaceCache::getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize)
{
    FcPmBreackerContext& ctx(*(FcPmBreackerContext*)_ctx);
    if (!ctx.dataAvailable)
        return false;
    if (ctx.frameRGBSize == 0)
    {
        //#todo should optimize not convert the whole image
        if (! ctx.convertYUV420ToRGB565())
            return false;
    }
    imgIdxes.clear();
    size_t offset = 0;
    cv::Mat rgbMat(cv::Size(ctx.width, ctx.height), CV_16UC1, 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 roiMat1(rgbMat, cv::Rect(faceRect.leftTop.x, faceRect.leftTop.y, faceRect.rightBottom.x - faceRect.leftTop.x, faceRect.rightBottom.y - faceRect.leftTop.y));
        cv::Mat roiMat(roiMat1.clone()); // #todo copy data should be avoid!!!!
        NativeImgIdx imgidx;
        imgidx.offset = offset;
        imgidx.size = roiMat.total() * roiMat.elemSize();
        imgidx.type = MB_Frame::MBFT_RGB565;
        imgidx.width = roiMat.cols;
        imgidx.height = roiMat.rows;
        const size_t newSize = imgidx.offset + imgidx.size;
        //isContinuous
        if (newSize > buffImgMaxSize)
        {
            LOG_ERROR << "FaceCache::getFaceListImage buffImgMaxSize truncated" << LOG_ENDL;
            return false;
        }
        uint8_t* pbuf = buffImg + imgidx.offset;
        memcpy(pbuf, roiMat.ptr(), imgidx.size);
        //{
        //    static size_t f = 0;
        //    char fname[50];
        //    sprintf(fname, "/sdcard/face-%u.rgb565", ++f);
        //    FILE *pFile = fopen(fname, "wb");
        //    fwrite(pbuf, 1, imgidx.size, pFile);
        //    fclose(pFile);
        //    if (f > 20)exit(0);
        //}
        imgIdxes.push_back(imgidx);
        offset = newSize;
    }
    buffImgMaxSize = offset;
    return true;
}
#endif
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
@@ -11,6 +11,11 @@
    int type;
    int width;
    int height;
    NativeImgIdx() : offset(0), size(0), type(0), width(0), height(0)
    {}
    operator std::string() const;
};
class FaceCache
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -45,7 +45,7 @@
    for (size_t i = 0; i < CAMERA_COUNT; i++)
    {
        g_CameraWrappers[i].rtspConfig.receivingInterfaceAddr = utf8;
        g_CameraWrappers[i].rtspConfig.desiredPortNum = 10056 + i * 3;
        g_CameraWrappers[i].rtspConfig.desiredPortNum = 10056 + i * 4;
        g_CameraWrappers[i].rtspConfig.requestStreamingOverTcp = true;
    }
    env->ReleaseStringUTFChars(ipaddr, utf8);
@@ -256,9 +256,9 @@
    return buffSize;
}
jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceImages)
jobject _Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceImages)
{
    LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages" << LOG_ENDL;
    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]);
@@ -285,6 +285,7 @@
    jfieldID jfRefByteArray_arr = env->GetFieldID(jcRefByteArray, "arr","[B");
    jbyteArray jbaFaceImages = env->NewByteArray(_faceImagesSize);
    LOG_DEBUG << "_faceImagesSize=" << _faceImagesSize << LOG_ENDL;
    env->SetByteArrayRegion(jbaFaceImages, 0, _faceImagesSize, (const jbyte*)_faceImages);
    env->SetObjectField(faceImages, jfRefByteArray_arr, jbaFaceImages);
    delete[] _faceImages;
@@ -313,10 +314,72 @@
       env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_height, imgIdxes[i].height);
       env->CallBooleanMethod(jobjArrayList_ImgIdxes , jmArrayList_add , jobjNativeImgIdx);
       LOG_DEBUG << "imgIdx " << i << ":" << std::string(imgIdxes[i]) << LOG_ENDL;
   }
   return jobjArrayList_ImgIdxes;
}
jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx)
{
    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]);
    std::vector<NativeImgIdx> imgIdxes;
    size_t _faceImagesSize = MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT * 3;
    uint8_t* _faceImages = new uint8_t[_faceImagesSize]; // android stack is small
    memset(_faceImages, 0, _faceImagesSize);
    bool ret = false;
#ifdef USE_ST_SDK
    ret = cameraWrapper.faceCache.getFaceListImage(imgIdxes, _faceImages, _faceImagesSize);
#endif
    if (imgIdxes.size() == 0)
    {
        LOG_INFO << "No face image captured" << LOG_ENDL;
        delete[] _faceImages;
        return nullptr;
    }
    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 jcNativeImg = env->FindClass("cn/com/basic/face/util/NativeImg");
    jmethodID jmNativeImg_ctor = env->GetMethodID(jcNativeImg, "<init>", "()V");
    jfieldID jfNativeImg_size = env->GetFieldID(jcNativeImg, "size","I");
    jfieldID jfNativeImg_type = env->GetFieldID(jcNativeImg, "type","I");
    jfieldID jfNativeImg_width = env->GetFieldID(jcNativeImg, "width","I");
    jfieldID jfNativeImg_height = env->GetFieldID(jcNativeImg, "height","I");
    jfieldID jfNativeImg_image = env->GetFieldID(jcNativeImg, "image","[B");
    jobject jobjArrayList_Imgs = env->NewObject(jcArrayList , jmArrayList_ctor);
    for(size_t i = 0 ; i < imgIdxes.size(); i++)
    {
        jobject jobjNativeImg = env->NewObject(jcNativeImg , jmNativeImg_ctor);
        env->SetIntField(jobjNativeImg, jfNativeImg_size, imgIdxes[i].size);
        env->SetIntField(jobjNativeImg, jfNativeImg_type, imgIdxes[i].type);
        env->SetIntField(jobjNativeImg, jfNativeImg_width, imgIdxes[i].width);
        env->SetIntField(jobjNativeImg, jfNativeImg_height, imgIdxes[i].height);
        jbyteArray jbaFaceImage = env->NewByteArray(imgIdxes[i].size);
        env->SetByteArrayRegion(jbaFaceImage, 0, imgIdxes[i].size, (const jbyte*)(_faceImages + imgIdxes[i].offset));
        env->SetObjectField(jobjNativeImg, jfNativeImg_image, jbaFaceImage);
        env->CallBooleanMethod(jobjArrayList_Imgs, jmArrayList_add , jobjNativeImg);
        LOG_DEBUG << "imgIdx " << i << ":" << std::string(imgIdxes[i]) << LOG_ENDL;
    }
    delete[] _faceImages;
    _faceImages = nullptr;
    return jobjArrayList_Imgs;
}
}
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
@@ -36,7 +36,10 @@
// get 2-dimension byte array of ARGB images
// returns ArrayList<NativeImgIdx>
// faceImages: RefByteArray
jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceImages);
//jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceImages);
// returns ArrayList<NativeImg>
jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx);
}
VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -19,7 +19,18 @@
class RefByteArray
{
    public byte[] arr;
    public byte[][] arr2;
}
class NativeImg
{
    public int size;
    public int type;
    public int width;
    public int height;
    public byte[] image;
}
public class RtspFaceNative {
@@ -35,7 +46,8 @@
    public static native void lockFace(int cameraIdx);
    public static native void releaseFace(int cameraIdx);
    public static native int getFaceList(int cameraIdx, RefByteArray faceListPb);
    public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, RefByteArray faceImages);
    //public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, RefByteArray faceImages);
    public static native ArrayList<NativeImg> getFaceImages(int cameraIdx);
    public static void faceCallBack(int cameraIdx, int count)
    {
@@ -51,13 +63,30 @@
        int s = getFaceList(cameraIdx, faceListPb);
        Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceList, cameraIdx=" + cameraIdx + ", size=" + s);
        RefByteArray faceImages = new RefByteArray();
        ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
        //RefByteArray faceImages = new RefByteArray();
        //ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
        //int c = 0;
        //if (faceImagesIdx != null)
        //    c = faceImagesIdx.size();
        //Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c);
        ArrayList<NativeImg> faceImages = getFaceImages(cameraIdx);
        int c = 0;
        if (faceImagesIdx != null)
            c = faceImagesIdx.size();
        if (faceImages != null)
            c = faceImages.size();
        Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c);
        for (int i = 0; i < c; i++)
        {
            Log.i("@@@", "cameraIdx=" + cameraIdx +
                    ", i=" + i +
                    ", size=" + faceImages.get(i).size+
                    ", w=" + faceImages.get(i).width +
                    ", h=" + faceImages.get(i).height +
                    ", image[0]=" + faceImages.get(i).image[0] +
                    ", image[1]=" + faceImages.get(i).image[1]);
        }
        releaseFace(cameraIdx);
    }
VisitFace/RtspNativeCodec/release/app-debug.apk
Binary files differ
VisitFace/RtspNativeCodec/release/app-debug10.apk
Binary files differ
VisitFace/RtspNativeCodec/release/app-debug49.apk
Binary files differ
VisitFace/RtspNativeCodec/release/librtspface.so
Binary files differ