Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

将 Anime4KCPP_Android 用于视频上,出现 crash,您帮忙看下 #113

Open
liguobing opened this issue Nov 28, 2023 · 1 comment
Open

Comments

@liguobing
Copy link

liguobing commented Nov 28, 2023

因为这个库处理速度实在是太快了,所以我想要将它应用到实时视频上

具体操作是,获取到视频每一帧的 Bitmap,然后存在一个 queue 中,然后再另一个线程中从 queue 去数据,交由 Anime4KCPP 处理,得到新的 Bitmap,再渲染到一个 Bitmap 上

经常在处理了300-400个 bitmap 后出现 crash,具体报错如下:

A  Cmdline: github.tianzerl.anime4kcpp
A  pid: 28351, tid: 28409, name: Thread-3  >>> github.tianzerl.anime4kcpp <<<
A        #00 pc 00000000000b323c  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libc++_shared.so (BuildId: 67e966ac77ca70ae9867f54c3711ee9a6c96e3b6)
A        #01 pc 00000000000b41e4  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libc++_shared.so (BuildId: 67e966ac77ca70ae9867f54c3711ee9a6c96e3b6)
A        #02 pc 00000000000ae050  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libc++_shared.so (__cxa_throw+104) (BuildId: 67e966ac77ca70ae9867f54c3711ee9a6c96e3b6)
A        #03 pc 000000000013f500  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libAnime4KCPPCore.so (Anime4KCPP::OpenCL::Anime4K09::runKernel(cv::Mat const&, cv::Mat&, int)+3120) (BuildId: 4fe105cdc76f648093e878ef6f2e817ec4055ad3)
A        #04 pc 000000000013c588  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libAnime4KCPPCore.so (Anime4KCPP::OpenCL::Anime4K09::runKernelB(cv::Mat const&, cv::Mat&)+40) (BuildId: 4fe105cdc76f648093e878ef6f2e817ec4055ad3)
A        #05 pc 000000000013c770  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libAnime4KCPPCore.so (Anime4KCPP::OpenCL::Anime4K09::processRGBImageB()+472) (BuildId: 4fe105cdc76f648093e878ef6f2e817ec4055ad3)
A        #06 pc 00000000000f0b2c  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libAnime4KCPPCore.so (Anime4KCPP::AC::process()+184) (BuildId: 4fe105cdc76f648093e878ef6f2e817ec4055ad3)
A        #07 pc 00000000000e22ec  /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!libAnime4KCPPCore.so (Java_github_tianzerl_anime4kcpp_wrapper_Anime4K_processAnime4K+32) (BuildId: 4fe105cdc76f648093e878ef6f2e817ec4055ad3)
A        #10 pc 0000000000000e5c  [anon:dalvik-classes5.dex extracted in memory from /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!classes5.dex] (github.tianzerl.anime4kcpp.wrapper.Anime4K.process+4)
A        #12 pc 00000000000021fc  [anon:dalvik-classes4.dex extracted in memory from /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!classes4.dex] (github.tianzerl.anime4kcpp.Anime4KCPPUtil.reSizeBitmap+8)
A        #14 pc 0000000000004a64  [anon:dalvik-classes4.dex extracted in memory from /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!classes4.dex] (github.tianzerl.anime4kcpp.TestActivity.lambda$processImage$2$github-tianzerl-anime4kcpp-TestActivity+124)
A        #16 pc 0000000000004700  [anon:dalvik-classes4.dex extracted in memory from /data/app/~~6-aV_QLj3Vru1wBFHJ2Huw==/github.tianzerl.anime4kcpp-VGJazKt6MGAya45MdhIrbA==/base.apk!classes4.dex] (github.tianzerl.anime4kcpp.TestActivity$$ExternalSyntheticLambda4.run+4)
2023-11-28 17:30:52.844 28351-28367 BLASTBufferQueue        github.tianzerl.anime4kcpp           E  [VRI[TestActivity]#0](f:0,a:2) Faking releaseBufferCallback from transactionCompleteCallback
---------------------------- PROCESS ENDED (28351) for package github.tianzerl.anime4kcpp ----------------------------

想请教您,该从哪方面入手处理啊

@liguobing liguobing changed the title 将 Anime4KCPP_Android 将 Anime4KCPP_Android 用于视频上,出现 crash,您帮忙看下 Nov 28, 2023
@TianZerL
Copy link
Owner

是不是爆内存或者显存被系统kill掉了,注意控制队列大小,平衡io速度和处理速度。
看函数是崩溃在了OpenCL的处理函数上,这一步会提交数据给OpenCL,如果你开太多线程的话,就会塞很多数据给GPU。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants