Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
livekitAndroidXuningTest
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
xuning
2025-10-09 10:35:40 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
618a98efa53ea263867704734b511fc91d1a16ad
618a98ef
1 parent
a45a073f
引入ncnn
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
8 行增加
和
9 行删除
livekit-android-track-processors/src/main/java/io/livekit/android/track/processing/video/RVMNcnn.java
livekit-android-track-processors/src/main/jni/rvmncnn.cpp
livekit-android-track-processors/src/main/java/io/livekit/android/track/processing/video/RVMNcnn.java
查看文件 @
618a98e
// RVMNcnn.java
package
com
.
tencent
.
rvmncnn
;
package
io
.
livekit
.
android
.
track
.
processing
.
video
;
// RVMNcnn.java
import
android.content.res.AssetManager
;
import
android.view.Surface
;
...
...
@@ -15,4 +14,4 @@ public class RVMNcnn
static
{
System
.
loadLibrary
(
"rvmncnn"
);
}
}
\ No newline at end of file
}
...
...
livekit-android-track-processors/src/main/jni/rvmncnn.cpp
查看文件 @
618a98e
...
...
@@ -178,7 +178,7 @@ JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved)
}
// public native boolean loadModel(AssetManager mgr, int modelid, int sizeid, int intrainterid, int postprocid, int cpugpu);
JNIEXPORT
jboolean
JNICALL
Java_
org_example_project
_RVMNcnn_loadModel
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
assetManager
,
jint
modelid
,
jint
sizeid
,
jint
intrainterid
,
jint
postprocid
,
jint
cpugpu
)
JNIEXPORT
jboolean
JNICALL
Java_
io_livekit_android_track_processing_video
_RVMNcnn_loadModel
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
assetManager
,
jint
modelid
,
jint
sizeid
,
jint
intrainterid
,
jint
postprocid
,
jint
cpugpu
)
{
if
(
modelid
<
0
||
modelid
>
1
||
sizeid
<
0
||
sizeid
>
6
||
intrainterid
<
0
||
intrainterid
>
1
||
postprocid
<
0
||
postprocid
>
2
||
cpugpu
<
0
||
cpugpu
>
2
)
{
...
...
@@ -270,7 +270,7 @@ JNIEXPORT jboolean JNICALL Java_org_example_project_RVMNcnn_loadModel(JNIEnv* en
}
// public native boolean openCamera(int facing);
JNIEXPORT
jboolean
JNICALL
Java_
org_example_project
_RVMNcnn_openCamera
(
JNIEnv
*
env
,
jobject
thiz
,
jint
facing
)
JNIEXPORT
jboolean
JNICALL
Java_
io_livekit_android_track_processing_video
_RVMNcnn_openCamera
(
JNIEnv
*
env
,
jobject
thiz
,
jint
facing
)
{
if
(
facing
<
0
||
facing
>
1
)
return
JNI_FALSE
;
...
...
@@ -283,7 +283,7 @@ JNIEXPORT jboolean JNICALL Java_org_example_project_RVMNcnn_openCamera(JNIEnv* e
}
// public native boolean closeCamera();
JNIEXPORT
jboolean
JNICALL
Java_
org_example_project
_RVMNcnn_closeCamera
(
JNIEnv
*
env
,
jobject
thiz
)
JNIEXPORT
jboolean
JNICALL
Java_
io_livekit_android_track_processing_video
_RVMNcnn_closeCamera
(
JNIEnv
*
env
,
jobject
thiz
)
{
__android_log_print
(
ANDROID_LOG_DEBUG
,
"ncnn"
,
"closeCamera"
);
...
...
@@ -293,7 +293,7 @@ JNIEXPORT jboolean JNICALL Java_org_example_project_RVMNcnn_closeCamera(JNIEnv*
}
// public native boolean setOutputWindow(Surface surface);
JNIEXPORT
jboolean
JNICALL
Java_
org_example_project
_RVMNcnn_setOutputWindow
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
surface
)
JNIEXPORT
jboolean
JNICALL
Java_
io_livekit_android_track_processing_video
_RVMNcnn_setOutputWindow
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
surface
)
{
ANativeWindow
*
win
=
ANativeWindow_fromSurface
(
env
,
surface
);
...
...
@@ -305,7 +305,7 @@ JNIEXPORT jboolean JNICALL Java_org_example_project_RVMNcnn_setOutputWindow(JNIE
}
// public native boolean setBackgroundImage(Bitmap bitmap);
JNIEXPORT
jboolean
JNICALL
Java_
org_example_project
_RVMNcnn_setBackgroundImage
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
bitmap
)
JNIEXPORT
jboolean
JNICALL
Java_
io_livekit_android_track_processing_video
_RVMNcnn_setBackgroundImage
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
bitmap
)
{
if
(
!
bitmap
)
{
...
...
@@ -371,7 +371,7 @@ JNIEXPORT jboolean JNICALL Java_org_example_project_RVMNcnn_setBackgroundImage(J
// public native boolean processFrame(long rgbaAddr, int width, int height, int rotation);
JNIEXPORT
jboolean
JNICALL
Java_
com_tencent_rvmncnn
_RVMNcnn_processFrame
(
JNIEnv
*
env
,
jobject
thiz
,
jlong
rgbaAddr
,
jint
width
,
jint
height
,
jint
rotation
)
JNIEXPORT
jboolean
JNICALL
Java_
io_livekit_android_track_processing_video
_RVMNcnn_processFrame
(
JNIEnv
*
env
,
jobject
thiz
,
jlong
rgbaAddr
,
jint
width
,
jint
height
,
jint
rotation
)
{
cv
::
Mat
*
rgba
=
(
cv
::
Mat
*
)
rgbaAddr
;
if
(
rgba
==
nullptr
||
rgba
->
empty
())
{
...
...
请
注册
或
登录
后发表评论